跳到主要内容

训练数据自中毒:当你的 AI 功能破坏了其自身的基准真相

· 阅读需 11 分钟
Tian Pan
Software Engineer

你的推荐模型在三个月前上线了。点击率增长了 18%。观看时长在不断攀升。仪表盘上一片飘绿。领导层很满意。

而你的模型正在悄悄地破坏它将用于训练下一个版本的数据。

这就是训练数据自中毒(training data self-poisoning):一种反馈循环,其中已部署的 AI 功能会改变用户行为,其方式破坏了模型最初训练时学习的交互数据。最糟糕的是,你的标准参与度指标会告诉你一切正常 —— 直到它们失效的那一刻。

这种现象在物理学中有一个名字:海森堡问题(Heisenberg problem)。测量一个系统的行为本身就会改变该系统。在推荐和个性化领域,你的模型并不是在被动地观察用户喜欢什么 —— 它是在主动地决定他们能看到什么,这塑造了他们的点击行为,而这些行为又成为了下一个模型的训练信号。测量改变了被测量的对象。你永远无法观察到在没有模型干预的情况下,用户会做出什么样的选择。

循环是如何闭合的

一旦你看清了其中的机制,过程其实非常直观。模型在历史用户交互数据上进行训练。它被部署并开始呈现推荐。用户与被展示的内容进行交互 —— 因为他们只能与被展示的内容进行交互。这些交互数据被收集并反馈到重新训练中。下一个模型从一个反映了第一个模型选择的数据集中学习,而不是反映用户真实的偏好。

具体来看这意味着什么。你的模型向用户 A 推荐 "Taylor Swift",向用户 B 推荐 "爵士乐"。它从不给用户 A 展示任何爵士乐。用户 A 永远不会点击爵士乐。重新训练的数据集将此记录为用户 A 不喜欢爵士乐的证据。下一个模型对自己通过最初的推荐决策所制造出来的这种 “偏好” 变得更加自信。

这就是曝光偏差(exposure bias),它是使反馈循环难以逃脱的基础约束。模型只能看到它选择曝光的项目的反馈信号。从未展示过的项目积累的信号为零。因此,训练数据是所有可能的用户-项目交互的一个严重偏斜的样本 —— 恰恰偏向于前一个模型已经相信的东西。

这种动态通过流行度进一步复合。热门项目被展示得更多,积累了更多点击,从而训练模型更多地展示它们。新鲜或小众项目永远无法获得足够的曝光来积累信号。结果是产生了一种 “强者恒强” 的动态,在连续的重训周期中,训练分布会塌缩到内容库中越来越窄的一小部分。Glovo 的工程团队审计了他们的机器学习系统,发现他们 120 多个生产模型中有一半以上已经变得 “结果匮乏”(outcome starved)—— 几乎只在他们已经决定优化的结果上收集反馈,而没有人意识到这一切正在发生。

无声失败模式

这就是为什么团队无法及早发现这一点:参与度指标在结构上无法检测到它。

点击率衡量的是用户是否点击了模型展示给他们的内容。它们并不衡量这些内容是否真的是最佳选择,或者用户是否会对其他内容更满意。观看时长衡量的是用户是否观看了推荐的内容。它并不衡量用户是否探索了他们真正想要发现的东西。转化率衡量的是用户是否完成了交易。它们并不衡量这些交易代表的是真实的偏好,还是受限选择的结果。

当模型的反馈循环运行时,这些指标实际上可能会随着质量的下降而提升。YouTube 早期的算法优化原始点击量,催生了一个点击诱饵(clickbait)缩略图胜过高质量内容的系统 —— 这不是因为用户更喜欢点击诱饵,而是因为模型自身选择训练了它去制造这种偏好。点击量上升了,而内容多样性和长期用户满意度却被侵蚀了。

这一模式最显著的证据来自 2026 年初发表的一项医疗 AI 研究。在 AI 生成的医疗笔记上进行重训的模型,在标准评估指标上表现出明显的提升 —— 因为它们是在与训练它们时相同的污染分布数据上进行评估的。当在反馈循环之外的真实临床笔记上进行测试时,以困惑度(perplexity)衡量的理解能力下降了 45 倍。仪表盘显示模型正在变得更好。而模型在实际任务中的表现却在变差。

普遍规律是:你的离线评估指标是在你的模型所创建的相同偏斜数据集上计算的。它们会确认你的模型正在改进。离线与在线之间的差距(offline-online gap)—— 即离线指标的改进与现实世界 A/B 测试结果之间的背离 —— 通常是第一个可以衡量的信号,表明出了问题,而到那时,反馈循环已经运行了数月之久。

检测模式

几种预警信号可以在反馈回路污染演变成危机之前将其识别出来。

加载中…
References:Let's stay in touch and Follow me for more thoughts and updates