大型语言模型的训练语料往往来自网页、代码仓库、图书和论坛等多种渠道。同一内容可能被转载、镜像、改写或切分成不同文档,形成大量显性与隐性重复。数据去重因此不只是节省存储空间的工程步骤,它会直接改变样本在训练中的权重,影响模型记忆训练文本的概率,也决定公开基准测试的成绩究竟反映泛化能力,还是对已见内容的复现。
重复数据为什么会强化训练集记忆
语言模型通过反复预测下一个词元来调整参数。一段文本出现一次时,它只是训练分布中的普通样本;如果相同或高度相似的文本出现数百次,其梯度贡献就会被重复放大。模型可能不再只是学习其中的语言规律,而是逐渐形成对固定句式、答案顺序乃至长文本片段的精确记忆。
重复频率并不是影响记忆的唯一因素。内容的独特性、上下文长度、模型容量、训练轮数以及采样策略都会产生作用。例如,格式固定的试题答案、软件许可证、新闻模板和代码文件,即使只存在局部重复,也可能让某些长片段获得远高于普通语料的曝光频率。
一项针对语言模型训练数据的研究发现,常见语料库中存在近重复文档和长重复子串;在其具体实验设置下,去重后的模型生成训练文本原文的频率明显下降,同时可以用更少训练步骤达到相当或更好的准确率。该结果说明,重复数据不仅增加记忆风险,也可能浪费训练预算。需要注意的是,这些实验结论与所用数据集、模型规模和检测标准相关,不能直接外推成所有模型的固定比例。参见 ACL 论文。
去重如何降低记忆风险
去重的核心作用是限制同一信息被重复加权。删除完全相同的文档,可以避免转载页、镜像站和采集故障造成的高频曝光;识别近重复文档,则能处理导航栏不同、段落顺序变化或仅修改少数字词的内容;子串级去重还能发现嵌入长文中的题目、代码片段与固定模板。
- 精确去重:对规范化后的文档计算哈希,适合发现完全一致的副本,速度快且结果容易审计。
- 近似去重:利用词元 n-gram、MinHash 或局部敏感哈希寻找高相似文档,适合大规模网页语料。
- 子串去重:检测跨文档重复的连续片段,可发现基准题目被文章、教程或答案页面部分引用的情况。
- 语义去重:借助向量表示或模型判断识别翻译、释义和结构变化后的同义内容,但成本及误删风险更高。
去重并不等于把每个事实只保留一次。多个来源独立描述同一事实,可能具有不同语境、表达方式和可信度。如果仅凭语义接近就删除样本,模型可能失去语言多样性,低资源语言和少数领域内容也更容易被过度清理。因此,合理目标应是削弱不自然的重复权重,而不是追求重复率绝对为零。
基准测试污染是怎样发生的
基准污染通常指测试题、参考答案或可推导答案的高度相似版本进入预训练、继续训练或指令微调数据。污染既可能来自直接收录测试文件,也可能来自题解网页、论文附录、代码仓库、论坛讨论、模型生成的合成数据及包含答案的评测日志。
一旦模型见过评测内容,测试分数就可能混合两种能力:一是理解任务并迁移知识的能力,二是识别并复现熟悉样本的能力。后者会导致成绩虚高,使不同模型、数据方案和训练方法之间的比较失去公平基础。更棘手的是,污染不一定保持原文形式。改写题干、翻译语言、调整变量名或改变选项顺序,都可能保留题目的核心语义。
已有研究指出,单纯依赖字符串或 n-gram 重合进行清理,可能无法识别释义、翻译等变体,并建议采用更强的语义检测以及更新鲜的评测题目。相关方法与实验可参考 基准污染研究。这意味着训练集内部去重与面向评测集的去污染必须分开实施:前者控制重复权重,后者建立训练数据与测试内容之间的隔离。
去重可能带来的评测偏差
去重能够降低污染风险,却不能自动保证评测可信。如果团队只在完整文档层面去重,藏在长页面中的单道测试题仍可能保留下来;如果相似度阈值过高,轻微改写可以绕过检测;阈值过低又可能删除正常教材、通用代码模式或任务所需的基础知识。
此外,检测到训练集与测试集重合并不代表模型一定记住了该样本。反过来,没有发现字面重合也不代表不存在语义污染。可靠判断需要结合数据溯源、相似度证据、模型输出特征,以及在替换实体、重写题干或生成新题后的性能变化,而不应只依赖单一匹配结果。
更可靠的数据治理流程
- 先划定评测隔离区:在收集训练语料前建立基准题目及其变体库,避免测试内容进入后续数据流水线。
- 分层执行去重:依次进行规范化、精确文档去重、近似文档去重、重复子串检测和语义复核。
- 保留审计记录:记录数据来源、抓取时间、哈希、相似度、删除原因、阈值和处理版本,使结果可以复现。
- 按风险设置规则:对考试题库、代码评测和公开答案采用更严格阈值,对通用知识及低资源语料采用更谨慎的保留策略。
- 报告污染敏感性:分别公布完整测试集、疑似污染子集和清洁子集成绩,并说明检测方法及其局限。
- 引入动态评测:使用新编题目、私有测试集和定期轮换的任务,减少长期公开基准被训练语料吸收的机会。
总结
LLM 数据去重的价值在于重新校准样本权重:减少异常重复,可以降低逐字记忆和隐私泄露风险,提高训练效率,并改善验证结果的可信度。但去重不是基准污染的万能解法,因为污染可能以局部引用、翻译、释义和合成数据等形式存在。更稳妥的实践是把训练集内部去重、评测集定向去污染、数据溯源和动态评测组合起来,并公开阈值与审计方法。只有明确区分“模型学会了规律”与“模型见过了答案”,基准分数才更接近真实的泛化能力。