
两条微调样本很像可能是模板噪声也可能是合法的同类工单。相似度本身不能证明有人投毒。10月21日OpenAI介绍了协调漏洞披露的工作提醒安全链路不只需要发现信号也需要能接住信号的人和流程。语料审查同样如此。去重与恶意判定分开计数近重复检测回答“内容有多相似”投毒分析回答“这些数据是否造成了攻击者希望的模型行为”。前者可以减少重复训练和审核工作后者通常还需要来源、标签、触发条件和下游评估。MinHash适合近似集合相似度嵌入聚类则依赖模型、维度、归一化和超参数。把簇紧致度小于某个常数直接命名为恶意孤岛会把行业术语集中、模板固定的数据一起送走。相反分散的恶意样本也可能没有形成明显簇。建议保留三个出口放行、候选隔离、人工复核。不要在候选阶段物理删除原始样本。记录处理版本和原始摘要让每次判定可以回溯。候选进入托盘而不是垃圾桶。去重信号并不自动获得“安全”或“恶意”的标签。用字符片段演示相似度边界下面使用标准库计算确定的Jaccard相似度适合小样本教学不是大规模MinHash实现也不是投毒检测器。import unicodedata def shingles(text, width3): text unicodedata.normalize(NFKC, text) text .join(text.split()) if not text: return set() if len(text) width: return {text} return {text[i:i width] for i in range(len(text) - width 1)} def similarity(a, b): x, y shingles(a), shingles(b) if not x and not y: return 1.0 return len(x y) / len(x | y) assert similarity(order paid, order paid) 1.0 assert similarity(, nonempty) 0.0 assert similarity(ABC, ) 1.0 assert 0.0 similarity(refund order, paid order) 1.0 print(4 similarity boundary cases passed)全角与半角文本在规范化后可能合并因此必须保留原始内容。相似度达到阈值只应生成候选关联不能直接给出“模型将被植入后门”的结论。评估过滤器要看误伤和漏放准备已标注的合法重复、合法专业术语、已知异常和难例分别记录候选召回率与审核成本。如果随后微调模型还要独立测攻击成功率和正常任务质量不能用去重比例冒充安全收益。这段代码没有流式大规模索引、内存压测或GPU实验。语料来源的许可、隐私与人工标注质量也未被相似度证明它们需要各自的审查记录。参考资料Patch the PlanetSLSA provenance