合成数据与自我改进
人写的训练数据是有限的,而其中最好的那一部分也最贵。一旦新的人工标注不再能够扩展,训练信号就必须来自别处:一个更强的模型、模型自己被过滤后的输出、一个 AI 评判者,或一个验证器。蒸馏、拒绝采样、自我博弈(模型自己生成训练用的问题与解答,再从中学习)与 AI 反馈,看似各不相干,其实都在回答同一个问题;把其中任一个反复迭代下去,就有了所谓的数据飞轮,而每个回路都有自己的上限。
上游问题
后训练需要带标注的样本:与好回复配对的提示词,或与「哪个更好」这一判断配对的回复。第 18 章 说明使这些判断有意义的策略与准则层。消费这些标注的监督方法与偏好方法,分别在 第 17 章 与 第 19 章;第 20 章 会专门讲直接偏好这一族,第 21 章 则把可核查奖励与习得奖励分开。这里的问题在它们全部的上游。人工示范与人工偏好标注既慢又贵,还受制于标注者本身的水平。在想教会模型的任务上,一个前沿模型往往已经胜过中位数标注者,于是花钱请人来生产它的训练数据,只会把结果限制在人类中位质量,而且数据还没用完,预算就先见底了。
于是有一个问题位于后续一切之下:由谁来决定一个回复好到值得拿来训练?如果这个答案可以是比人更低成本的东西,后训练便随算力扩展,而不再随标注人头扩展,数据也不再是 第 6 章 为预训练所描述的那道限制。代价在于,自产的信号有多可信,全看过滤它的是什么;过滤器一旦不好,模型就把自己的错误也学了过去。
沿着这个问题,可以看到四条相连的路线:人工标注者逐步退出,不同判断来源依次接手。每换一种判断来源,都会得到一些东西,也放弃一些东西。
同一个回路的四条路线
进入这四条路线之前,先看它们共享的那个形状。这里每一种方法都是同一个回路:生成候选、过滤、在保留样本上训练,必要时再重复。它们只在一个地方不同,即驱动过滤的判断来源,如 图 23.2 所示。
当这个回路被反复运行,每一轮改进后的模型去生成下一轮的数据,它就成了一个数据飞轮:模型当前的能力,成为生产下一批增量数据的引擎。飞轮不是第五种方法,它只是把上述四者中任一个迭代起来所得到的东西。
过滤是每条路线背后的筛选机制,它之所以根本有效,道理很简单:一个还不能稳定给出正确答案的模型,往往能在 次尝试里某一次答对,而一个低成本过滤器就能把它挑出来。在过滤后的胜出者上训练,是把概率质量移到模型本就有能力、却产出得不够可靠的行为上。这正是「引出」思路,它也解释了为何几千条精挑细选的样本就能大幅改变行为:能力本是潜在的,数据只是在筛选它,而非安装它。LIMA 是清楚的证据,它表明一个小而经过筛选的集合,胜过一个大而嘈杂的集合 (Zhou et al. 2023)。
调一调每次尝试的成功率 ,看 pass@,也就是 个样本里至少一个正确的概率,如何随 增大而迅速接近一。
import numpy as np
import matplotlib.pyplot as plt
rng = np.random.default_rng(0)
ns = np.arange(1, 21)
for p in (0.1, 0.3, 0.5): # 每次尝试的成功率
analytic = 1 - (1 - p) ** ns # 若各次尝试相互独立,则为 pass@n
sims = [(rng.random((3000, n)) < p).any(axis=1).mean() for n in ns]
line, = plt.plot(ns, analytic, label=f"p={p}")
plt.scatter(ns, sims, s=10, color=line.get_color())
plt.xlabel("样本数 n"); plt.ylabel("pass@n(至少一个正确)")
plt.legend(); plt.title("为什么过滤有效:best-of-n 成功率"); plt.show()
print("p=0.10:一个每次有 10% 概率答对的模型,在 20 次尝试内成功的概率约为",
round(1 - 0.9 ** 20, 2))
这四个判断来源,对应人工标注者逐步退出的过程,每一步都把人从一个不同的角色里移除,如 图 23.3 所追踪。下面几节就按这个顺序逐一来看。
答案一:借一个教师
第一步是借一个教师。一个更有能力的模型生成回复,一个更弱的学生在这些回复上训练。判断是隐式的:教师的输出被当作目标。这是回复蒸馏,学的是教师的文本,而不是它的 logits(模型给每个可能的下一个词元打出的原始分数)。而一旦有了一个强的对齐模型,对齐一个更弱的模型成本最低的办法,就是让这个强模型来写指令遵循数据。正是这一点,让有能力的开放模型成为可能,而无需每个实验室都自建一条人工偏好流水线;它至今仍是开放模型对齐的默认方式。
它的局限是结构性的。一个只在教师蒸馏输出上训练的学生,在那些技能上很少超过教师,而且会连同教师的能力一起,继承它的偏置与拒答。蒸馏是 off-policy 的:比在模型自身样本上学习成本更低、也更稳定,但它会偏离实时模型,并受限于教师。数据是借来的,而借来的上限,仍然是上限。
答案二:过滤模型自己的输出
下一步是过滤模型自己的输出,让模型不必依赖一个更强的教师也能改进。从当前模型采样 个回复,给它们评分,留下最好的,再在胜出者上微调。判断如今是一个施加在模型自身样本上的评分器。迭代起来,这就是拒绝采样微调:无需完整 RL 回路的 on-policy 偏好数据。奖励排序微调(RAFT) 把它形式化了,按奖励对采样回复排序,并在每组的顶部微调 (Dong et al. 2023)。
收益在于信号是 on-policy 的,取自模型自身,因而缩小了模型训练所用分布与实际生成分布之间的差距。模型不再去模仿一个外来的分布,而开始从它自己的分布里筛选。代价在于上限如今由评分器而非教师设定,这只是把问题换了位置,而没有除掉它:回路的好坏,只取决于给样本评分的那个东西。
答案三:替换标注者
第三步是替换标注者,而不只是替换示范者。一个模型,在写好的原则提示下,产出本该由人工标注者提供的偏好信号。Constitutional AI 是其范式形态:一个 AI 依据一部简短的成文宪章批判并修订回复,由此得到的配对再来训练模型,把偏好信号的人力成本,削减到那些原则本身 (Bai et al. 2022)。判断是一个模型在读规则。这就是从 AI 反馈中做强化学习(RLAIF);消费这一偏好信号的 RL 机制在 第 19 章,但信号的来源在这里。
它的吸引力在于适用范围广:一个 AI 评判者能给开放式回复评分,比如有用性、风格、语气,而那些地方根本没有真值检查器。代价在于判断者只是一个代理。在这上面优化得越强,模型就越会找到那些评判者评高、人类却不会评高的输出。替换标注者把人从标注角色里移除,却在人原来的位置上放入了一个可被利用的替代物。
答案四:根据检查器改进
最近的一步是根据检查器改进。生成许多候选解,让每个都过一遍检查器,一套单元测试、一个答案检查器、一个证明检查器,留下通过的那些。判断是真值,而不是代理,这让它成了最清楚的回路,因为过滤器不会被风格或自信诱导。当过滤器是一个验证器而非一个习得的评分器时,回路便能在数学与代码上自举:生成解、留下验证为正确的轨迹、在其上训练,再重复。
DeepSeek-R1 是开放的数据点,其中包含一个 R1-Zero 变体,它从一个基座模型自举出推理,无需监督式冷启动 (Guo et al. 2025)。把验证轨迹变成一个推理模型的那套强化学习机制属于 第 28 章;这里更窄的观察是:一个可靠的验证器,可以把模型自己的正确输出变成一个可再生的训练集。如果验证器是习得的过程奖励模型(PRM),而不是精确检查器,信号可以更细粒度,做法是给每一步推理评分,而不只给最终答案评分 (Lightman et al. 2023),不过一个习得的评分器,会重新引入精确检查器本已逃脱的那个代理问题。
这个回路之所以在别处受限的地方仍能自举,是因为上限会随模型上升。模型能被推着产出它此前无法可靠产出的正确输出,而验证为正确的集合会随每一轮增长。这就是数据飞轮最清楚的版本:能力为自己的下一批增量生产数据,再配上一个不会接受错误答案的过滤器。
有了一个可靠的执行器充当验证器,连提示词也可以出自模型自己。Absolute Zero 让同一个策略自己提出任务、再自己求解,两个角色都由代码执行器核查,全程不用任何外部数据 (Zhao et al. 2025);R-Zero 则让出题的 Challenger 与答题的 Solver 从零外部数据开始共同演化 (Huang et al. 2025)。这就是开头略提过的自我博弈走到极限的样子:示范与标注先后交给了模型,如今连出题也不再经人手,能约束这次自举的输入,只剩下验证器本身。
这个自举能走多远?
看完这四条路线,仍然留下一处悬而未决的取舍:自我改进究竟能不能创造出真正全新的能力,还是终究受限于做判断的那个东西?
自我改进能否创造出真正全新的能力,还是受限于做判断的那个东西,目前尚无定论,而来源对两极都给出了支持。在蒸馏这一侧,上限看上去很硬:一个学生在被蒸馏的技能上很少胜过其教师,所以单靠模仿教师,本身就无法超过教师。在验证器这一侧,回路看上去是开放式的:一个可靠的验证器是一次真正的自举,因为模型能被推着产出它此前无法可靠产出的正确输出,再在其上训练,而验证为正确的集合会随模型增长。悬而未决的,是这能走多远。验证器会放大它能检查的一切,也会同样忠实地放大它的盲点,于是一个不可靠的验证器,教会模型的是满足检查器,而不是解决问题。把「自我改进」看作受判断者质量所界定的过程:对一个固定的教师,边界很紧;对一个可靠的验证器,边界更宽,但并非无限。
它能走多远,这个答案是由下面一层决定的,即领域究竟是否可验证。那正是塑造其上一切的约束。
飞轮究竟能不能持续自举,是由下面一层决定的,即领域是否可验证。数学、代码与形式化证明,自带低成本、近乎无法伪造的检查器,于是它们的回路可以反复运行:模型生成、检查器过滤、验证为正确的集合进入下一轮训练,整个过程里没有人。开放式领域,比如有用性、风格、判断、品味,没有真值检查器,于是可用的最强过滤器,就是一个习得的评分器或一个 AI 评判者,二者都是模型能学会利用的代理。一个数据层的属性,即验证器是否存在,决定了一个上层训练回路能否无人值守地运行。这就是为何近期的能力跃升集中在可检查的领域,也是为何开放式质量仍倚赖来自 第 19 章 的人工偏好数据。
于是四种判断来源分布在同一条取舍线上:低成本而宽的覆盖,得到的是一个可被利用的代理;可信而窄的真值,则要以覆盖为代价。一个习得的奖励模型或一个 AI 评判者,能给任何回复评分,包括开放式的,但它只是一个代理。一个验证器不会被风格或自信诱导,但它只存在于真值可检查之处,而它的覆盖范围,正是新的攻击面。图 23.4 把四种来源放到了这条轴上。
另有两条权衡横切这条取舍线。on-policy 过滤(拒绝采样、自我博弈)是在模型实际生成的东西上训练,缩小了训练与服务之间的差距;而蒸馏一个教师是 off-policy 的,成本更低、更稳定,却会偏离实时模型。还有,一次生成、过滤、训练的单遍简单且有界,而迭代会让收益复合,也会让错误复合:过滤器里一个小小的偏置,每轮施加一次,就成了一个习得的习惯,模型甚至可能坍缩到过滤器所奖励的任何东西上,也就是所谓的模型坍缩:在自己的输出上反复训练,质量随之退化 (Shumailov et al. 2024)。飞轮需要一个可靠到足以经受重复的过滤器。蒸馏还有一项别处没有的代价:它可能违反教师的服务条款;而从零对齐尽管昂贵,却仍是超越现有教师的唯一路径。
关键在判断函数
最小回路短到可以直接写出来,而把它写出来,就能看清这四条路线为何是同一种方法。拒绝采样微调,即 RAFT 配方 (Dong et al. 2023),把这个回路落到了实处:
# 拒绝采样微调,一轮(示意)。
data = []
for prompt in prompts:
cands = [model.sample(prompt) for _ in range(n)]
scored = [(judge(prompt, c), c) for c in cands]
best = max(scored)[1] # judge:奖励模型、AI 评判者或验证器
if keep(best): # 阈值或验证为正确
data.append((prompt, best))
model = finetune(model, data) # 迭代:下一轮从这个模型采样
关键在 judge 这一行。换上一个更强的模型,回路就是蒸馏;换上一个奖励模型或 AI 评判者,就是拒绝采样或 AI 反馈;换上一个单元测试或答案检查器,就是基于验证器的自我改进。周边机制完全一样;对结果能寄予多少信任,完全取决于 judge 的属性。这四条路线,本质上是在替换同一个位置上的判断函数。
由此引出两个运维上的现实。其一,过滤器的假阴性会让回路缺少数据:一个会拒绝「正确但不寻常」答案的验证器,或一个对好输出标定失准的评分器,恰恰会把本想保留的数据移除掉。其二,回路的失效是悄无声息的。一个运行在可被利用过滤器上的飞轮,会按过滤器自己的度量显示过滤集质量在上升,而留出质量却停滞甚至退化,这正是 第 19 章 中奖励过度优化所产生的那同一种 Goodhart 印记。防御之道,是在回路之外保留一个独立的评估,这是 第 47 章 的职责;并在领域允许之处,优先选用验证器。
延伸阅读
- Bai et al., “Constitutional AI: Harmlessness from AI Feedback,” 2022. arXiv:2212.08073
- Zhou et al., “LIMA: Less Is More for Alignment,” 2023. arXiv:2305.11206
- Dong et al., “RAFT: Reward rAnked FineTuning for Generative Foundation Model Alignment” (rejection-sampling fine-tuning), 2023. arXiv:2304.06767RAFT(奖励排序微调)通过迭代采样模型输出、用奖励模型评分并仅对高分子集做监督微调,以稳定的方式替代 PPO 完成大语言模型与扩散模型的对齐。
- Guo et al., “DeepSeek-R1 incentivizes reasoning in LLMs through reinforcement learning” (peer-reviewed version of arXiv:2501.12948, published 17 September 2025), 2025. arXiv:2501.12948
- Lightman et al., “Let's Verify Step by Step” (process reward models / PRMs), 2023. arXiv:2305.20050
- Zhao et al., “Absolute Zero: Reinforced Self-play Reasoning with Zero Data” (one policy proposes and solves its own tasks against a code executor), 2025. arXiv:2505.03335Absolute Zero 让同一个模型自己提出最有学习价值的任务并求解,两个角色都由代码执行器核查,在不用任何外部数据的情况下取得强的代码与数学推理表现。
- Huang et al., “R-Zero: Self-Evolving Reasoning LLM from Zero Data” (co-evolves a Challenger and a Solver from zero external data), 2025. arXiv:2508.05004R-Zero 从同一个基座初始化出题的 Challenger 与答题的 Solver 并让二者共同演化:Challenger 不断提出更难的任务,Solver 学着解决,从零外部数据生成自己的课程。
- Shumailov et al., “AI models collapse when trained on recursively generated data” (the primary source for model collapse), 2024. nature.com这篇 Nature 论文表明,在递归生成的数据上不加甄别地训练生成模型,会不可逆地丢失原始分布的尾部,作者将这种退化过程命名为模型坍缩。
评论
登录后评论