Interview: 数据去重为什么如此重要?完全不去重和过度去重分别会导致什么问题?
题目解析
数据去重是预训练数据处理流程中最关键的步骤之一。Lee等人和Abbas等人的研究表明,重复数据会严重影响模型质量。但去重的度也很重要——过度去重同样有害。这道题考察候选人对数据处理流程的理解深度和工程判断力。
解答思路
去重的重要性:网络爬取的数据中存在大量重复——同一篇文章被多个网站转载、模板化内容、boilerplate文本等。不去重的后果:(1)模型记忆重复内容导致过拟合,训练loss虚低但泛化差;(2)重复数据被模型过度学习,可能在推理时逐字复述训练数据(隐私和版权风险);(3)浪费计算资源在冗余信息上,降低训练效率。
关键要点
完全不去重的问题:(1)训练loss下降快但eval loss平台期提前——典型的过拟合表现;(2)模型的训练数据提取攻击(extraction attack)成功率大幅上升;(3)生成内容的多样性降低,模型倾向于输出高频出现的模板化文本。过度去重的问题:(1)去除了有价值的近似重复内容——如同一概念的不同表述,这些变体对泛化有益;(2)减少了训练数据量,可能导致欠拟合;(3)某些重复反映了真实世界的频率分布,过度去重会扭曲数据分布。
加分回答
讨论去重的技术方案:精确去重(hash matching)成本低但只能处理完全重复;模糊去重(MinHash/SimHash + LSH)能处理近似重复但需要调节相似度阈值;基于embedding的语义去重精度最高但计算成本大。可以提到C4、The Pile、RedPajama等数据集的去重策略差异。还可以讨论文档级去重vs段落级去重vs句子级去重的选择。
常见踩坑
最大的坑是只关注去重的好处而不讨论过度去重的风险——面试官通常会追问这个trade-off。另一个错误是不了解具体的去重技术(如MinHash的工作原理)或不知道去重的粒度选择。也有人忽略了跨数据源的去重——如果训练集包含Common Crawl和Wikipedia,维基百科的内容可能在Common Crawl中大量出现,需要跨源去重。