AI 基建
0%
第十一部分 · 实践与运营 · 第 92 章

生产数据引擎

作者Changkun Ou
阅读时长约 8 分钟

第 6 章 里的语料只构建一次,冻结,然后拿去训练。一个已上线的产品不能止步于此,因为它一旦发布,就开始源源不断地产出下一代模型最需要的东西:真实用户提出真实问题、又对真实回答做出真实反应的记录。这股流量只有被一套常设装置捕获、筛选、送去标注,并把稀缺标注预算花在关键样本上,才会重新变成训练信号。质量常常由标注里的人力环节悄悄决定;一次部署也不是训练循环的终点,而是下一轮循环的入口。第 91 章 里的接受、编辑、拒绝、升级、批准和停止事件,是这个入口最先拿到的一批结构化输入。

2026-06-22T11:57:21.257025 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ 0.0 0.2 0.4 0.6 0.8 1.0 鲜度 0.0 0.2 0.4 0.6 0.8 1.0 质量控制 批处理 流处理 整理后的流 原始数据洪流
图 92.1. 生产数据引擎中鲜度与质量控制取舍的示意图。原始流很新但风险高;经过整理的流试图移动前沿,而不是选择某个端点。理想化位置,非实测。

第 23 章 描述的是另一台机器:合成循环制造模型本来没有的数据;生产数据引擎则采集产品已经产出的数据,并把它变成标签。两者常常一起运转,但把它们混为一谈会掩盖运营成本,因为合成生成靠的是算力,而生产数据采集靠的是人、合同与同意。

产品是一台顺带回答问题的数据采集器

一个上线的模型产出的不只是答案。每一次请求都留下一条轨迹:提示、检索到的上下文、工具调用、生成的 token,以及,只要前端做了埋点,用户接下来做了什么。最后这一部分才是资产。一个用户接受了建议、在使用前先做了修改、重新生成、或者干脆放弃了会话,他就在没有被问到的情况下给输出打了分,而且其规模是任何标注供应商都给不出的。这一类隐式信号便宜、量大、连续,正因如此,它才是生产数据引擎的主干。

它也带着留出集基准所没有的偏差。会去重新生成的用户并非随机样本,用户做的那处修改反映的是他自己的目标而非某个标准答案,而点踩到达的可靠程度远高于点赞。于是引擎把便宜的隐式信号和一条昂贵的显式判断细流配在一起:一小批刻意采样的轨迹,送给受过训练的人,让他们在一份成文准则之下回答一个精确的问题。隐式流找出值得关注的样本,显式流给出可校验的判断。图 92.2 画出了这条回路。

engine serve 线上模型 流量 + 轨迹 imp 隐式信号 接受 / 编辑 / 重生成 / 评分 serve->imp sel 选择 采样 + 主动学习 serve->sel 完整轨迹 imp->sel label 人工标注 准则 + QA sel->label data 已标注数据 label->data evalq 回归评测 (提升失败样本) data->evalq train 后训练 偏好 + SFT data->train train->serve 下一个模型
图 92.2. 作为常设循环的生产数据引擎。上线流量吐出轨迹和隐式信号;采样与主动学习挑出少数值得人工标注的轨迹;标注后的数据分流为一个回归评测集和一批新鲜的后训练数据,后者产出下一个模型,去服务下一批流量。

标注员就是模型

第 19 章 里"人类反馈"这个说法藏着一条供应链。有人写下了定义何为好答案的准则,有人拿这份准则培训了标注员,有人衡量了拿到同一条目的两名标注员是否给出一致结论,还有人审核了那些发生漂移的人。一份偏好数据集,也就是 第 19 章 里那种由人标出两个回答中哪个更好的成对样本,它的质量是在那里被决定的,而不是在优化器里;一个在编码了模棱两可准则的标签上训练出来的模型,会忠实地学会那份模棱两可。

这个领域有一处记录在案的盲区。定义、收集、清洗数据的工作被当作后勤,而非它本应是的那门工程,结果就是数据级联:上游的小标注问题,到下游浮现为又大又难诊断的失败 (Sambasivan et al. 2021)。问题并不冷僻。被广泛使用的基准本身就带着普遍的标签错误,多到一旦修正测试标签、模型排名就会翻转的程度 (Northcutt et al. 2021)。如果用来加冕业界最优的那些集合都这么嘈杂,一个仓促搭起来的生产标注作业只会更嘈杂。

有三道控制能让一个标注作业保持严谨。一份带有详解示例的成文准则,把一个含糊的偏好变成可重复的判断。持续测量标注员之间的一致性,就能看出这份准则究竟是真正达成了共识,还是只停留在名义上。再加一道 QA 层,对已完成的工作抽样重标,便能在漂移抵达优化器之前把它抓住。这些都不光鲜,却都是关键控制。

下层约束

后训练配方决定了它下方那套作业的形状。第 19 章 里的 基于人类反馈的强化学习(RLHF)第 28 章 里的可验证奖励训练,都要消耗新鲜的、同分布的偏好与结果数据,而且是每一轮都要消耗,不是只消耗一次。这种需求向下传导,要求一套接入部署的常设收集与标注装置,因为同分布数据最便宜的来源就是模型自己的生产流量。训练循环的上层需求,规定了服务前端必须被建成一件数据仪器。一个不带它就发布的产品,会让下一个模型缺少最便宜的同分布数据。

把标注预算花在能改变模型的地方

如果每一条轨迹都能被标注,挑选就无关紧要。一条都标不完,所以引擎的智能就在于它把哪几条轨迹送给人。随机采样会把预算浪费在模型本就处理得好的样本上。主动学习把预算花在模型最没把握的样本上,理由是:标签在模型当前的猜测最接近抛硬币的地方价值最高 (Settles 2009)。不确定性采样、按期望模型变化来选择,都是标准工具;在生成场景里,没有单一概率可读,模型的不确定性要从它自己的输出里推断:对同一个提示采样多次,看这些答案彼此一致的频率有多高,一致度偏低,也就是偏低的自洽分数,就替代了经典的不确定性估计。

主动学习挑的是哪些条目交给人去标。弱监督则从另一侧降低预算,用程序化标签替换掉一部分人工标签。数据编程让领域专家写出标注函数,也就是对标签投票的带噪规则,再从它们的一致与分歧中学出每条规则的准确率,并在没有标准答案的情况下把它们合成为概率标签 (Ratner et al. 2016)。一条正则、一个对工具输出的启发式规则、一个较弱模型的判断,各自都成了一名投票者。这些标签比人工的更嘈杂,但其数量要多上几个数量级,对许多任务而言这笔交易是划算的。

两者可以叠用。弱监督以低成本覆盖大部分样本;主动学习把弱规则相互冲突的那一小部分残余,送给判断值得这笔成本的人。

失败如何变成测试

并非所有采集来的数据都流向训练。引擎最有价值的单项产出,往往是一个评测样本,而不是一个梯度。当一条生产轨迹被判为错误,把它提升进 第 52 章 的回归套件,就把一次性的失误变成了一道永久的守卫:从此每一个未来模型,都要拿那次真正抵达了用户的失败来度量。第 89 章 判断一个新模型能否安全上线,靠的正是同一套"提升失败"纪律。数据引擎与部署生命周期在此共享同一条基础记录,也就是那条实时轨迹,并为两个目的读取它,一个是再训练,一个是为再训练出的结果把关。

这种不对称是刻意的。一个变成训练数据的失败也许会被修好;一个变成评测样本的失败,则永远无法悄无声息地回退。把最有诊断价值的失败送进评测集而非训练集,一个作业才不会反复为同一个 bug 付成本。

权衡:给自己打分的循环

一个接到自己模型上的数据引擎,造出了模型上线时没有的反馈,而同一套接线也催生了病态。第一种是已经点过名的采样偏差:生产分布是被当前模型的行为塑造的,所以在它上面训练会把下一个模型收窄向上一个模型已经做过的事,而当前模型处理得差的能力,几乎不会产生可供学习的流量。第二种是打分问题。隐式信号丰沛却含糊;一小批显式信号可信却又薄又慢。第三种是来源与同意,这一项不是可选的:每一条收集来的轨迹都承载着 第 59 章 的义务,而一份在没有合法依据的情况下从用户内容里积累出来的偏好数据集,是负债,不是资产。

有争议之处
  • 常设循环该用人类标签还是 AI 反馈? RLHF 假定打分者是人 (Ouyang et al. 2022);Constitutional AI 则把打分者的很大一部分换成模型拿成文原则给自己评判 (Bai et al. 2022),这把循环放大到模型自己的速度,却也继承了模型自己的盲区。这台持续运转的引擎究竟该由人评、由 AI 评、还是某种经过度量的混合,尚无定论,且因任务而异。
  • 生产数据该信到什么程度。 一派把同分布的生产流量当作现存价值最高的训练信号;另一派警告,一个在自己行为所塑造的数据上训练的模型,是在优化一个会动的、自我选择的目标,并主张必须周期性地注入分布外与对抗数据,才能不让循环向内收缩。
  • 采购标签还是收集信号。 采购来的专家标签干净、昂贵、缓慢;收集来的隐式信号嘈杂、便宜、连续。配比是一个活的运营选择,而非一个定下来的比例。

实现:一份简化草图

生产数据引擎与其说是模型,不如说是流水线。一个轨迹记录器在服务前端写下结构化记录。一个按计划运行的采样器,按不确定性、也按团队在意的分层抽取候选。一个标注系统按当前准则呈现这些候选,并记录答案,连同标注员和那道一致性检查。一个提升步骤为结果分流:明确的失败进评测集,打过分的成对样本进偏好库,全部进一张附带其同意依据的受治理表。这些步骤没有一个是新颖的基础设施;纪律在于持续地跑它们,并把准则、一致性指标、同意依据当作一等的产物,而不是事后的补充。

生产流量成为训练信号

生产数据引擎让一个已部署模型持续变好,而不是慢慢衰退。能力来自尽可能新鲜的同分布数据,也就是真实用户实际带来的那些样本,任何静态语料都不包含它们。效率取决于样本挑选:主动学习与弱监督的存在,是为了用每一美元的人类判断换取尽可能多的模型改进,因为在这里的约束性成本是标注,不是算力。信任来自常被低估的部分:人力供应链和那本同意账簿。一份含糊的准则或一次非法的收集,就会把引擎从资产变成一项慢性发作的负债。模型的上限取决于输入数据的质量,而上线之后,输入数据正来自上线产品。

延伸阅读

  • Sambasivan et al., ““Everyone wants to do the model work, not the data work”: Data Cascades in High-Stakes AI” (数据工作被低估的代价), 2021. doi.org
  • Northcutt et al., “Pervasive Label Errors in Test Sets Destabilize Machine Learning Benchmarks,” 2021. arXiv:2103.14749
    该论文发现 10 个主流机器学习基准测试集中平均存在 3.3
  • Settles, “Active Learning Literature Survey,” 2009. minds.wisconsin.edu
  • Ratner et al., “Data Programming: Creating Large Training Sets, Quickly” (弱监督), 2016. arXiv:1605.07723
    数据编程让用户编写带噪声的标注函数替代手工标注,通过生成式模型对输出去噪,从而以程序化方式快速构建大规模训练集。
  • Ouyang et al., “Training Language Models to Follow Instructions with Human Feedback” (循环所假定的人类打分者), 2022. arXiv:2203.02155
  • Bai et al., “Constitutional AI: Harmlessness from AI Feedback” (用模型替换人类打分者), 2022. arXiv:2212.08073

评论

登录后评论