Browse this library

Chinese source article

2.1.2 · L1: 单模型自训练

同一个模型产生训练信号, 又用它更新自己的参数. 信号有两种来法: 从模型已有的输出里筛, 或者由模型自己造. 前者靠外部标签做锚, 后者没有锚, 模型坍塌是这一类方法的默认风险.

View original Markdown ↗

2.1 讲的修订, 搜索, 验证, 只把当前这道题做得更好. 把这些过程筛出来的好答案拿去训练模型, 改动就进了参数 θ\theta, 会跟着模型进入之后的任务, 这就是 L1. 这里读最简单的一类, 产生信号的和被训练的是同一个模型: STaR 和 ReSTEM^{EM} 从模型已有的输出里筛, 筛选依据是标准答案或单元测试; Self-Rewarding 和 TTRL 在没有标准答案时由模型自己造信号, 一个靠自己打分, 一个靠多数投票.

1. L1 的边界与训练关系

1.1. 边界

沿用 1.2 的记号. 可保留状态 Ak=(θk,Σk,Uk,Ck)\mathcal{A}_k = (\theta_k, \Sigma_k, U_k, C_k). 一次 L1 转移满足

θk+1̸≡actθk,(Σk+1,  Uk+1,  Ck+1)≡act(Σk,  Uk,  Ck).\theta_{k+1} \not\equiv_{\mathrm{act}} \theta_k, \qquad (\Sigma_{k+1},\; U_{k+1},\; C_{k+1}) \equiv_{\mathrm{act}} (\Sigma_k,\; U_k,\; C_k).

只要保留下来的改动落在参数上, 不管信号是怎么产生的, 都归 L1. 信号可以来自模型自己的输出, 交互经验, 别的模型, 或者环境反馈. 来源不决定层级.

和 L0 相比, L1 多了一个后果: 改动不再随任务结束而丢弃. 有用的改动会被带进之后的任务, 由自己生成的监督引入的错误也会.

三种训练关系:综述按训练关系把 L1 分成三组:

训练关系 谁产生信号 和被训练者的关系 本库位置
单模型自训练 被训练的模型自己 同一个模型, 同一个角色 本篇
竞争式自博弈 和自己对抗的副本 同一个模型, 对立角色 2.3
合作式协同演化 教师, 验证器, 另一个模型, 种群 信息, 功能, 参数或成员不同 2.4

从上往下, 环里逐步出现第二方. 单模型自训练里, 产生信号的和接受信号的完全重合, 环里没有任何东西能反驳一个模型很有把握的错误. 后两组的设计, 都是在用不同的方式把第二方加回来.

三组共用一条可靠性要求. 自己生成的监督、奖励和同伴信号能够指导参数更新, 外部目标是否改善仍要另行测量. 候选参数晋升为正式版本以前, 应在相同资源条件下接受更新边界之外的审计, 并与现任版本比较. 低质量标签、停滞的自博弈和种群共有偏差若未被发现, 会逐轮累积为坍塌或漂移.

2. 从已有输出里筛: STaR

2.1. 问题与算法

CoT 推理能提高模型在数学和常识问答上的表现. 要让模型学会写推理过程, 有两条路: 收集大量带推理过程的标注数据, 成本很高; 或者只在提示里放几个示例, 靠少样本推理, 准确率不如微调. STaR (Zelikman et al., 2022) 要解决的问题是: 手里只有少量带推理过程的示例, 和大量只有题目和答案, 没有推理过程的数据, 能不能让模型自己把推理过程补出来.

STaR 每一轮做四步:

  1. 用少样本提示 (几个带推理过程的示例), 让当前模型对训练集里的每道题生成推理过程 r^i\hat{r}_i 和答案 y^i\hat{y}_i.
  2. 只保留答案正确的样本, 即 y^i=yi\hat{y}_i = y_i 的那些.
  3. 对答错的题, 做「合理化」(rationalization): 把正确答案 yiy_i 作为提示给模型, 让它倒推一个能得出这个答案的推理过程. 推出来的推理过程同样要得出正确答案才保留.
  4. 把两部分合在一起, 从原始的预训练模型开始微调. 用微调后的模型进入下一轮.

第 4 步每一轮都从原始预训练模型 MM 重新微调, 不在上一轮的模型上接着训. 论文给的理由是避免过拟合.

第 3 步是 STaR 自己的设计. 论文观察到, 只做第 1–2 步的循环最终会停滞: 模型做不出来的题永远没有训练信号, 新的题也就一直做不出来. 合理化给这些题补上了信号. 微调时, 合理化得到的样本和普通样本一样处理, 训练时不出现提示里的正确答案, 相当于让模型「当作是自己想出来的」去学.

和策略梯度的关系:论文把 STaR 解释成一个强化学习目标的近似. 把模型看成先采样推理过程 rr, 再预测答案 yy 的隐变量模型:

pM(y∣x)=∑rp(r∣x) p(y∣x,r).p_M(y \mid x) = \sum_{r} p(r \mid x)\, p(y \mid x, r).

用指示函数 1(y^=y)\mathbb{1}(\hat{y} = y) 作奖励, 整个数据集上的期望奖励和它的梯度是

J(M,X,Y)=∑iEr^i,y^i∼pM(⋅∣xi) 1(y^i=yi),J(M, X, Y) = \sum_i \mathbb{E}_{\hat{r}_i, \hat{y}_i \sim p_M(\cdot \mid x_i)}\, \mathbb{1}(\hat{y}_i = y_i),
∇J(M,X,Y)=∑iEr^i,y^i∼pM(⋅∣xi)[1(y^i=yi)⋅∇log⁡pM(y^i,r^i∣xi)].\nabla J(M, X, Y) = \sum_i \mathbb{E}_{\hat{r}_i, \hat{y}_i \sim p_M(\cdot \mid x_i)} \left[ \mathbb{1}(\hat{y}_i = y_i) \cdot \nabla \log p_M(\hat{y}_i, \hat{r}_i \mid x_i) \right].

第二个式子是标准的对数导数技巧. 逐项看:

  • ∇log⁡pM(y^i,r^i∣xi)\nabla \log p_M(\hat{y}_i, \hat{r}_i \mid x_i) 是让模型更可能生成这条推理过程和答案的方向, 也就是在这个样本上做一步最大似然.
  • 1(y^i=yi)\mathbb{1}(\hat{y}_i = y_i) 在答案正确时取 1, 错误时取 0. 答错的样本梯度为零, 等于被丢掉.

所以「只拿答对的样本做微调」就是在估计这个梯度. 论文指出 STaR 做了两处近似: 用贪心解码采样推理过程, 降低估计的方差, 代价是对推理过程的探索可能有偏; 在同一批数据上走多步梯度. 合理化不在这个推导里, 它额外引入了正确答案作为提示, 是对纯策略梯度的偏离.

2.3. 结果

CommonsenseQA (5 选 1 的常识问答, 开发集), 基础模型 GPT-J (6B):

方法 准确率 用到的训练数据
GPT-J 少样本, 直接回答 20.9% 约 0
GPT-J 少样本, CoT 36.6% 约 0
LaMDA 137B 少样本, CoT 55.6% 约 0
GPT-J 微调, 直接回答 60.0% 100%
STaR, 不做合理化 68.8% 69.7%
STaR, 做合理化 72.5% 86.7%
GPT-3 (175B) 微调, 直接回答 73.0% 100%

STaR 的最终模型比参数大约 30 倍的微调 GPT-3 只低 0.5 个点. 「用到的训练数据」一列指最终有多少比例的训练题留下了推理过程: 不做合理化时, 30.3% 的题始终没有推出正确答案, 也就没有进入训练; 合理化之后, 有 86.7% 的题进入训练, 其中 8.5% 来自合理化.

GSM8K 上的结果要低得多:

方法 准确率 用到的训练数据
GPT-J 少样本, 直接回答 3.0% 约 0
GPT-J 少样本, CoT 3.1% 约 0
GPT-J 微调, 直接回答 5.8% 100%
STaR, 不做合理化 10.1% 25.0%
STaR, 做合理化 10.7% 28.7%

只有约四分之一的题进入了训练. GSM8K 上合理化几乎没有帮助, 只多贡献了 0.5% 的数据.

筛选能挡住什么:STaR 用「答案对不对」决定推理过程留不留. 这个判断由标准答案给出, 不经过模型, 是一个环外的锚. 但它只检查最终答案, 不检查推理过程本身.

论文自己指出了这在 CommonsenseQA 上的问题. 5 选 1 的题, 随机猜也有约 20% 的概率猜对; 用语义相似度之类的简单启发式, 不做任何推理可以做到约 30%. 所以一条推理过程推出了正确答案, 不代表推理是对的. 算术题不同: 推理过程里错一步, 答案几乎一定错, 答案对不对就能比较好地反映推理对不对.

这说明筛选的质量取决于任务结构: 最终答案和推理过程的关联越紧, 用答案筛推理过程就越可靠. 选择题的关联最松, 数学题紧一些, 代码题可以用测试检查行为, 关联由测试覆盖率决定.

3. 从已有输出里筛: ReSTEM^{EM}

3.1. 从 EM 推出「筛选再微调」

ReSTEM^{EM} (Singh et al., 2023, Google DeepMind) 把 STaR 这类做法放进期望最大化的框架. 定义一个二值的「最优」变量 OO, 让它为 1 的概率和奖励成正比:

p(O=1∣x,y)∝f(r(x,y)),p(O = 1 \mid x, y) \propto f\big(r(x, y)\big),

ff 是一个非负, 单调不减的函数. 目标是最大化「得到高奖励」的对数似然 log⁡p(O=1∣x)=log⁡∑ypθ(y∣x) p(O=1∣x,y)\log p(O = 1 \mid x) = \log \sum_y p_\theta(y \mid x), p(O = 1 \mid x, y). 对所有可能的输出序列 yy 求和算不出来, 于是引入一个变分分布 q(y∣x)q(y \mid x), 用 Jensen 不等式得到下界:

log⁡p(O=1∣x)  ≥  Eq(y∣x)[log⁡p(O=1∣x,y)]−KL[q(y∣x) ∥ pθ(y∣x)]=:L(pθ,q).\log p(O = 1 \mid x) \;\ge\; \mathbb{E}_{q(y \mid x)}\left[\log p(O = 1 \mid x, y)\right] - \mathrm{KL}\left[q(y \mid x) \,\|\, p_\theta(y \mid x)\right] =: L(p_\theta, q).

EM 交替优化这个下界:

  • E 步固定 θt\theta^t, 对 qq 求最优. 解是 qt+1(y∣x)∝p(O=1∣x,y) pθt(y∣x)q^{t+1}(y \mid x) \propto p(O = 1 \mid x, y), p_{\theta^t}(y \mid x), 即用「拿到高奖励的可能性」给当前模型的输出加权.
  • M 步固定 qt+1q^{t+1}, 对 θ\theta 求最优. 等价于最小化 KL[qt+1 ∥ pθ]\mathrm{KL}[q^{t+1} ,|, p_\theta], 也就是在 qt+1q^{t+1} 的样本上做加权的最大似然.

两步交替, 下界单调不减: L(pθt+1,qt+1)≥L(pθt,qt+1)≥L(pθt,qt)L(p_{\theta^{t+1}}, q^{t+1}) \ge L(p_{\theta^t}, q^{t+1}) \ge L(p_{\theta^t}, q^t).

奖励是 0/1 时, 取 ff 为恒等函数, E 步的加权就退化成「留下奖励为 1 的样本」. 具体算法是: Generate 步, 对每道训练题用当前模型采样 NN 个解, 用二值奖励 (数学题看答案对不对, 代码题看测试过没过) 标注; Improve 步, 在这些样本上最大化 J(θ)=E(x,y)∼Di[r(x,y)log⁡pθ(y∣x)]J(\theta) = \mathbb{E}_{(x, y) \sim \mathcal{D}i}\left[r(x, y) \log p\theta(y \mid x)\right]. 奖励为 0 的样本系数为 0, 和 STaR 的筛选一致.

标准强化学习每更新一次策略就用新策略采样. EM 版本在一轮里固定采样用的策略, 把数据收集和策略优化分开. 论文认为这让方法更容易扩展到几十亿, 上百亿参数的模型.

ReSTEM^{EM} 是 Gulcehre 等人 (2023) 的 ReST 的简化版, 改了两处. 第一, Generate 步不混入人写的解. 第二, 每个 Improve 步都从基础模型重新微调, 不在上一轮的模型上接着训. 论文报告, 第二处改动在目标任务上效果相当, 在留出任务上的迁移好得多. 这和 STaR「每轮从原始预训练模型开始」是同一个做法.

3.2. 结果

实验用 PaLM 2 系列模型, 在 MATH (竞赛数学) 和 APPS (编程) 上训练. 几个关键结果:

  • MATH 上, ReSTEM^{EM} 带来的测试准确率提升: PaLM 2-S 为 5.94 个百分点, PaLM 2-L 为 6.34 个百分点. APPS 上分别是 5.6 (PaLM 2-S*) 和 6.4 (PaLM 2-L). 模型越大提升越大, 而且大模型的起点更高.
  • 训练集准确率随迭代次数线性上升, 测试集不是. MATH 上第一轮之后测试提升很小; APPS 上第二轮测试准确率反而下降. 论文认为是在少量训练题上过拟合, APPS 的训练集只有 MATH 的约三分之一, 所以更明显.
  • 多轮迭代比单轮多采样更好. 用基础 PaLM-2-L 一次性采 3 倍的解再微调, MATH pass@1 是 40.3%, 低于第二轮的 41% 和第三轮的 41.9%.
  • 微调后的模型在 GSM8K, 匈牙利高中数学期末考试, HumanEval, Big-Bench Hard 等留出基准上也有提升.

第二条直接对应 1.2 的定义: 训练集上的分数是内部选择用的信号, 测试集和留出基准才是边界外的证据. 两者在第二轮就分开了.

3.3. STaR 和 ReSTEM^{EM} 的共同结构

项目 STaR ReSTEM^{EM}
生成 当前模型, 少样本提示 当前模型, 每题 NN 个样本
筛选依据 标准答案 标准答案或单元测试
失败样本 合理化后再筛 丢弃
微调起点 每轮从原始预训练模型 每轮从基础模型
被改的组件 θ\theta θ\theta
层级 L1 L1

两者的「信号由谁产生」是模型自己, 「信号对不对由谁判」是环外的答案或测试. 后一点让这一类方法比第 4 节的方法更稳. 每轮从基础模型重新开始, 限制了参数离原始模型漂多远, 这是第二个稳定因素.

4. 自己造信号: Self-Rewarding 与 TTRL

4.1. Self-Rewarding Language Models

很多任务没有标准答案, 比如开放式的指令跟随. 常规做法是用人的偏好训练一个奖励模型, 再用它训练语言模型. Yuan 等人 (2024, Meta 与 NYU) 认为这有两个限制: 奖励模型受限于人的水平; 奖励模型训练好就冻结了, 不能在语言模型训练过程中继续变好. 他们让语言模型自己当奖励模型.

具体流程. 基础模型 Llama 2 70B 记为 M0M_0. 种子数据有两部分: 3200 条 Open Assistant 的人写指令数据 (IFT), 以及教模型当判官的评估数据 (EFT). 判官提示要求模型用一个累加的 5 分制打分: 回答相关, 加 1 分; 覆盖了问题的主要部分, 再加 1 分; 以有用的方式回答了基本要素, 加第 3 分; 以 AI 助手的视角直接, 全面, 有条理地回答, 加第 4 分; 完全贴合问题, 没有多余信息, 体现专业知识, 加第 5 分. 模型先写理由, 再给分数.

模型序列是:

  • M1M_1: 从 M0M_0 出发, 在 IFT + EFT 上做 SFT.
  • M2M_2: 从 M1M_1 出发, 用 M1M_1 自己生成的偏好数据 AIFT(M1M_1) 做 DPO.
  • M3M_3: 从 M2M_2 出发, 用 AIFT(M2M_2) 做 DPO.

生成 AIFT(MtM_t) 的步骤是: 用少样本提示生成新的指令 xix_i; 用 MtM_t 对每条指令采样 NN 个回答; 用 MtM_t 当判官给每个回答打 0–5 分; 取最高分和最低分的回答组成偏好对 (xi,yiw,yil)(x_i, y_i^w, y_i^l), 两者同分就丢掉. 论文主实验里, 新指令由一个事先固定的模型生成, 回答和打分由正在训练的模型完成.

结果分两部分. 指令跟随能力, 在 AlpacaEval 2.0 上对 GPT-4 Turbo 的胜率 (由 GPT-4 判):

模型 胜率
M1M_1 9.94%
M2M_2 15.38%
M3M_3 20.44%

判官能力, 用 Open Assistant 里留出的人类排序数据评估, 看模型给的排序和人的排序是否一致:

指标 只用 IFT 的 SFT 基线 M1M_1 M2M_2 M3M_3
成对一致率 65.1% 78.7% 80.4% 81.7%
Spearman 相关 0.253 0.279 0.331 0.349

两组数字都在上升. 论文的解释是一个循环: 判官更准, 下一轮的偏好数据更好, 模型更强, 判官又更准.

论文在局限部分写了三点. 只跑了三轮, 一个设置. 生成长度在变长, 而长度和估计的质量本来就相关. 训练用的奖励和部分评测都来自语言模型判官, 虽然是不同的模型, 也需要更深入地分析. 第二, 三点都和审计有关: 胜率上升有多少来自回答变长, 有多少来自 GPT-4 判官和训练用的判官有相同的偏好, 现有数字区分不了. 判官能力那张表是用人类排序评估的, 比胜率更接近边界外的证据.

按 1.2 的归类规则, 判官能力存在参数里, 改动落在 θ\theta, 判官提示和打分规则是固定的, 所以是 L1. 1.2 第 4.2 节走查过这个例子.

TTRL: 用多数投票当标签:TTRL (Zuo et al., 2025, 清华与上海 AI Lab) 处理的是另一种没有标签的情况: 有题目, 没有答案, 而且就是要在这些题上做好. 它把 2.1 的 Self-Consistency 变成了奖励.

对每道题 xx, 从策略 πθ\pi_\theta 采样 NN 个输出, 抽出答案 y^1,…,y^N\hat{y}_1, \dots, \hat{y}_N, 取出现次数最多的答案作为估计的标签 yy. 每个输出的奖励是

R(y^i,y)={1,y^i=y,0,其他.R(\hat{y}_i, y) = \begin{cases} 1, & \hat{y}_i = y, \\ 0, & \text{其他}. \end{cases}

然后用常规的强化学习算法最大化期望奖励, 更新 θ\theta. 论文的实现在每个基准上分别跑 GRPO: 每道题采 64 个回答做投票估计标签, 再从中抽 32 个用于训练. 换成 PPO 或 PRIME, 训练曲线基本一致. TestingTime 投票 (test-time scaling) 和 TestingTime 训练 (test-time training) 在这里合在一起.

主要结果: Qwen2.5-Math-7B 在 AIME 2024 上的 pass@1 从 12.9 提到 40.2, 相对提升约 211%; 在 AIME 2024, AMC, MATH-500, GPQA 四个基准上平均相对提升 76%. Qwen2.5-Math-1.5B 在 MATH-500 上从 32.7 提到 73.0. 论文还报告, TTRL 只用 maj@n (多数投票) 作监督, 训练后的 pass@1 却超过了初始模型的 maj@n.

4.3. 标签错了, 奖励为什么还大多是对的

AIME 2024 上, 多数投票估计出的标签准确率很少超过 50%, 但奖励的准确率一直在 75% 以上. 论文把这称为「Lucky Hit」. 原因在奖励的计算方式: 奖励只检查「这个输出和估计标签一不一样」.

手算一个例子. 一道题的正确答案是 4. 采样 8 个输出, 答案是

[y^1,…,y^8]=[3,  5,  5,  7,  9,  5,  2,  7].[\hat{y}_1, \dots, \hat{y}_8] = [3,\; 5,\; 5,\; 7,\; 9,\; 5,\; 2,\; 7].

5 出现 3 次, 是多数, 估计标签 y=5y = 5, 而它是错的. 按估计标签算奖励: 三个 5 得 1, 其余五个得 0. 按真实标签算: 8 个输出都错, 全部应得 0. 两者对比, 三个 5 的奖励错了, 另外五个输出的奖励 (0) 是对的. 标签错了, 奖励准确率仍是 5/8=62.5%5/8 = 62.5%.

输出越分散, 这个效果越强. 论文报告, AIME 2024 上多数答案平均只占全部输出的 16.6%. 多数答案占比低, 意味着大部分输出和多数答案不同, 它们都得 0; 如果它们本来就是错的, 这个 0 就是对的. 论文的说法是, 模型越差, 错误越多, 奖励估计反而越准.

这个分析也说明了 TTRL 的边界. 奖励里的「1」只给了和多数一致的输出. 多数是错的时候, 这些 1 全是错的奖励, 会把模型推向这个错误答案. TTRL 能起作用, 依赖模型的初始分布里正确答案有足够的比重, 能在训练中逐渐成为多数. 论文在失败分析里列了两点: 强化学习的超参数 (采样温度, 训练批大小) 设置不当时, 熵一直降不下来, 训练失败; 方法强烈依赖模型对目标任务的先验知识, 先验不足的任务上可能失败.

在测试题上训练意味着什么:TTRL 直接在评测用的测试题上训练, 用的是题目, 不用答案. 1.2 第 5.1 节定义过开发证据: 指导过候选生成或内部选择的证据. 按这个定义, AIME 2024 的 30 道题既是训练输入, 又是报告提升的评测集, 这份评测结果是开发证据.

这不意味着 TTRL 的数字是错的: 训练时确实没有用到答案. 它意味着这个数字回答的是「在一组已经训练过的题上, 模型能不能把答案做对」. 要回答「模型在新题上是否变强」, 需要在没有参与训练的题上评估. 论文做了这样的实验: 以 Qwen2.5-Math-7B 为基础, 在一个基准上做 TTRL, 再在其他基准上用贪心解码测 pass@1, 各基准都有明显提升. 这一部分比主表更接近外部审计的证据.

用固定原则对齐: Constitutional AI 与 RLAIF:综述把另一组方法也放在这一节: 用模型或固定规则产生的信号, 代替人的偏好标签做对齐. Constitutional AI 让模型按一组写好的固定原则批评和修改自己的回答, 再用由此得到的 AI 反馈训练偏好模型. RLAIF 表明, 一个现成的模型可以代替 RLHF 流程里的人类标注者.

这些方法里, 原则和打分规则是固定的, 评判标准 CC 没有变. 综述的判断是, 即使信号是评价性的, 只要 CC 固定, 它们仍是 L1. 如果激活了一个评判语义已经改变的 rubric 或评估协议, 实际完成的转移就到了 L4.

5. 单角色环的共同弱点: 模型坍塌, 以及怎样检查

5.1. 结构上的原因与坍塌的定义

单模型自训练里, 产生信号的和被训练的是同一个模型. 模型很有把握地犯了一个错误, 环里没有第二方能指出来. 这个错误被写进参数以后, 下一轮用新参数产生信号, 同样的错误更有把握. STaR 和 ReSTEM^{EM} 有标准答案挡住一部分, Self-Rewarding 和 TTRL 没有.

Shumailov 等人 (2024, 牛津, 剑桥等) 研究了一个更极端的设置: 每一代模型只用上一代模型生成的数据训练. 他们把由此产生的退化称为模型坍塌 (model collapse): 生成的数据污染了下一代的训练集, 下一代在被污染的数据上训练, 对真实分布的认识出现偏差.

坍塌分两个阶段. 早期坍塌, 模型开始丢失分布尾部的信息. 晚期坍塌, 模型把原始分布的不同模式混在一起, 收敛到一个和原始分布很不像, 方差往往很小的分布.

论文专门区分了它和灾难性遗忘. 灾难性遗忘是一个模型学新东西时忘了旧东西. 模型坍塌发生在多代模型之间: 每一代并没有忘记学过的数据, 而是不断强化自己的信念, 对「什么是真的」理解得越来越偏.

5.2. 两种误差

论文把坍塌归因于两种逐代累积的误差.

第一种是统计近似误差, 是主要原因. 每一代只能从有限个样本里估计分布, 每次重新采样都有非零的概率丢掉信息. 样本数趋于无穷时这个误差消失. 论文举例: 用 10710^7 个样本估计一个均值为 0 的高斯分布, 估计值是 0.00024899±1.89×10−40.00024899 \pm 1.89 \times 10^{-4}, 误差仍然存在.

第二种是函数近似误差, 是次要原因. 模型的表达能力不够, 或者在原始分布支撑集之外给了非零概率. 例如用一个高斯去拟合两个高斯的混合. 论文指出, 如果没有统计误差, 函数近似误差只在第一代出现: 新分布一旦落进模型能表达的范围, 之后各代就不再变.

6. 自训练的递归动力学

6.1. 从高斯递归拟合到分布动力系统

论文用一维高斯说明统计误差怎样累积. 第 0 代数据来自 X0∼N(μ,σ2)X^0 \sim \mathcal{N}(\mu, \sigma^2). 第 ii 代有 MiM_i 个样本 XjiX^i_j, 用无偏估计拟合下一代的参数:

μi+1=1Mi∑jXji,σi+12=1Mi−1∑j(Xji−μi+1)2,\mu_{i+1} = \frac{1}{M_i} \sum_j X^i_j, \qquad \sigma^2_{i+1} = \frac{1}{M_i - 1} \sum_j \left(X^i_j - \mu_{i+1}\right)^2,

再从拟合出的分布采样下一代的数据:

Xji+1∣μi+1,σi+1∼N(μi+1,  σi+12).X^{i+1}_j \mid \mu_{i+1}, \sigma_{i+1} \sim \mathcal{N}\left(\mu_{i+1},\; \sigma^2_{i+1}\right).

每一代的 μi+1\mu_{i+1} 和 σi+1\sigma_{i+1} 都是随机的, 误差一代代叠加. 论文用两个正态分布之间的 Wasserstein-2 距离衡量第 n+1n+1 代偏离了多远:

RW2n+1:=W22(N(μ,σ2),  N(μn+1,σn+12))=∥μn+1−μ∥2+∥σn+1−σ∥2,R^{n+1}_{W_2} := W_2^2\left(\mathcal{N}(\mu, \sigma^2),\; \mathcal{N}(\mu_{n+1}, \sigma^2_{n+1})\right) = \|\mu_{n+1} - \mu\|^2 + \|\sigma_{n+1} - \sigma\|^2,

并按 1/Mi1/M_i 展开, 得到它的期望

E[RW2n+1]=32σ2(1M0+1M1+⋯+1Mn)+O(2).\mathbb{E}\left[R^{n+1}_{W_2}\right] = \frac{3}{2}\sigma^2 \left(\frac{1}{M_0} + \frac{1}{M_1} + \cdots + \frac{1}{M_n}\right) + \mathcal{O}(2).

括号里每一代贡献一项 1/Mi1/M_i, 而且只加不减. 代入数字: 每代样本数固定为 M=1000M = 1000, σ=1\sigma = 1. 第 1 代后期望距离约 1.5×10−31.5 \times 10^{-3}; 第 100 代后是 32⋅1001000=0.15\frac{3}{2} \cdot \frac{100}{1000} = 0.15; 第 1000 代后是 1.51.5, 已经和 σ2\sigma^2 本身同一个量级. 每代样本数不变时, 距离随代数线性增长. 要让总和有界, 每代的样本数必须增长得足够快, 让 ∑i1/Mi\sum_i 1/M_i 收敛. 论文的结论是: 每代样本数线性增长都不够, 需要超线性增长.

直观地看, 尾部的样本本来就少, 某一代采样时没采到尾部, 下一代拟合出的方差就偏小, 再下一代更难采到尾部. 误差的累积没有反方向的修正.

语言模型实验:论文用 OPT-125m 在 wikitext2 上做了实验. 第 0 代在真实数据上微调, 困惑度从零样本的 115 降到 34. 之后每一代用上一代模型对训练集的每个 64 词元片段续写 64 个词元, 构成和原训练集同样大小的人工数据集, 下一代在这个数据集上训练.

两种设置的结果. 不保留原始数据时, 在原始测试集上的困惑度逐代上升. 每一代保留随机 10% 的原始数据时, 只有轻微的退化. 论文还画了各代生成文本在第 0 代模型下的困惑度分布: 后代越来越倾向于生成第 0 代模型认为高概率的文本, 同时出现了一条更长的尾巴, 也就是第 0 代模型永远不会生成的文本. 论文给的生成样例里, 第 9 代的输出变成了一串「black-tailed jackrabbits, white-tailed jackrabbits, blue-tailed jackrabbits」的重复.

论文同时说明, 在微调语言模型的设置里 (每代从预训练模型出发, 只做微调), 只观察到早期坍塌的迹象. 从零训练的模型会更严重.

对本篇方法的含义:Shumailov 等人的设置里没有任何外部锚, 每代只看上一代的输出. 本篇的方法都不完全是这个设置, 但离它的远近不同:

方法 环外的锚 防漂移的设计
STaR 标准答案 每轮从原始预训练模型微调
ReSTEM^{EM} 标准答案, 单元测试 每轮从基础模型微调
Self-Rewarding 种子数据 (3200 条 IFT 和 EFT) 无
TTRL 无 依赖初始先验
Constitutional AI 固定的书面原则 原则不随训练改变

保留真实数据的 10% 能明显减缓坍塌, 和 STaR, ReSTEM^{EM} 每轮回到基础模型是同一类做法: 让每一代都和原始分布保持联系.

怎样检查这一类方法的提升:把前面各节的检查点合起来, 读一篇单模型自训练论文时, 可以按下表逐项看:

检查项 问题 本篇的例子
筛选依据 判断样本好坏的是标准答案, 测试, 还是模型自己 STaR 用答案, Self-Rewarding 用自己打分
筛选覆盖 依据检查的是最终结果, 还是过程 STaR 只查答案, CQA 上随机猜有 20%
评测数据 评测题有没有参与训练 TTRL 在测试题上训练
训练集与测试集的差 迭代多轮后测试集还在涨吗 ReSTEM^{EM} 第二轮在 APPS 上下降
评测判官 评测用的判官和训练用的判官有没有共同偏好 Self-Rewarding 的训练奖励和 AlpacaEval 都是 LLM 判官
长度和风格 提升是否伴随长度变化 Self-Rewarding 的回答变长
迭代轮数 只跑了几轮, 更多轮会怎样 Self-Rewarding 三轮, ReSTEM^{EM} 第一轮后提升变小
和原始分布的联系 每轮是否回到基础模型或保留真实数据 STaR, ReSTEM^{EM} 回到基础模型

自训练是一个分布动力系统:设第 kk 代模型分布为 pk(y∣x)p_k(y\mid x), 生成与筛选得到训练分布 qk(x,y)q_k(x,y), 学习算子为 TT, 则

pk+1=T(pk,qk),qk=S(pk,Dk,Ck).p_{k+1}=T(p_k,q_k),\qquad q_k=S(p_k,D_k,C_k).

SS 包含采样、过滤、伪标签和奖励选择, DkD_k 是外部数据, CkC_k 是固定或自生的评判信号. 这个写法显示两条反馈: pkp_k 决定下一代看到什么数据, qkq_k 又决定 pk+1p_{k+1} 往哪里移动.

固定点满足 p∗=T(p∗,S(p∗))p^\ast=T(p^\ast,S(p^\ast)). 固定点可以是高质量分布, 也可以是退化分布. 模型对某类表达略有偏好, 筛选器又偏爱同类输出, 多轮后偏好被放大, 最终丢掉其他模式. 训练损失仍能下降, 因为模型越来越贴合自己生成的窄分布.

局部稳定性取决于复合映射的导数. 将分布偏差压缩成标量 bkb_k, 一阶近似为 bk+1≈γbk+ηkb_{k+1}\approx\gamma b_k+\eta_k. ∣γ∣<1|\gamma|<1 时扰动衰减, γ>1\gamma>1 时扰动逐代放大, ηk\eta_k 是本轮新引入的筛选误差. 自训练方法真正需要控制的是增益系数 γ\gamma, 不只是一代伪标签准确率.

外部真实数据相当于锚. 若训练分布混合比例 ρ\rho 的固定真实数据,

qk=(1−ρ)qkself+ρqreal,q_k=(1-\rho)q_k^{\mathrm{self}}+\rho q^{\mathrm{real}},

自生偏差的反馈强度被 (1−ρ)(1-\rho) 缩小. Shumailov 等人的语言模型实验中, 每代保留 10% 原始数据时退化较轻, 正对应这条结构. 锚比例是否足够取决于错误放大率和真实数据覆盖, 没有统一常数.

从基础模型重新微调也提供锚. STaR 每轮从原始预训练模型重新训练, 避免参数在上一代权重上连续漂移; 训练数据仍累积自生轨迹, 数据偏差没有消失. 权重重置控制优化路径, 原始数据或外部验证控制监督分布, 两者作用不同.

伪标签误差怎样进入梯度:分类情形中, 真实标签 yy, 伪标签 y\tilde y​ 以概率 ϵ(x)\epsilon(x) 翻转. 交叉熵梯度的期望是正确梯度与错误梯度的混合. 二分类对称噪声且 ϵ<1/2\epsilon<1/2 时, 大样本下方向仍可能有用; 噪声随输入、类别或模型置信度变化时, 梯度会系统偏向容易样本.

语言模型的噪声结构更复杂. 最终答案正确, 推理链可能含错误; 最终答案错误, 中间步骤可能有可复用片段. 将整条轨迹赋一个二值权重, 会把过程中的好坏 token 一起训练. 过程验证、局部执行和步骤级掩码能缩小污染范围, 代价是需要更细证据.

高置信过滤并不保证低噪声. 模型往往对熟悉模式和共同误解最有信心, 长尾正确答案反而置信低. 按置信度筛选会提高平均伪标签准确率, 同时让数据分布更窄. 最终模型在头部更强、尾部更弱, 宏平均指标可能掩盖覆盖损失.

多数投票降低独立随机错误, 对相关错误无效. TTRL 在多数答案错误的题上, 多数标签直接把错误方向设为正奖励; 少数答案都得负奖励, 其中可能包含真正答案. 随题目变难, 标签准确率下降, 训练信号也逐渐从纠错变成强化共识.

奖励正确率可以高于标签正确率, 因为多数标签错时, 大量不同错误答案仍被判为负, 这些负奖励恰好正确. 这会提供「远离非共识错误」的信号, 不能保证走向真实答案. 模型若最终集中到错误多数, 这种优势消失.

选择过滤改变支持集:STaR 只保留能得到正确答案的推理, ReSTEM^{EM} 只保留奖励超过阈值的样本. 过滤提高训练样本平均质量, 也改变哪些输入与解法能进入数据. 模型当前不会做的题没有成功轨迹, 后续训练仍看不到它们, 形成选择盲区.

把输入空间按难度 dd 分组, 成功过滤后的训练密度与 P(success∣d)P(\text{success}\mid d) 成正比. 难度越高, 样本越少. 自训练会优先巩固能力边界以内的题, 对边界外几乎没有梯度. STaR 的 rationalization 用标准答案条件生成推理, 正是在为原本失败的题补候选支持.

rationalization 仍有泄漏风险. 模型知道正确答案后生成一条看似合理的路径, 可能反向拼接而非独立推导. 用这类轨迹训练可以提高答案映射, 不保证过程忠实. 检查方法包括隐藏最终答案让另一个模型复现、验证中间步骤和对前提做反事实变化.

阈值过滤还会造成赢家偏差. 同一输入采样很多次, 挑奖励最高轨迹, 被选样本同时包含真实质量和奖励噪声的极值. 采样数越多, 奖励过估越强. 在独立判官或执行器上重评, 能降低把评分漏洞写入参数的概率.

支持集收缩与模型坍塌相连. 分布尾部样本本就少, 生成器更少产出, 过滤器更少保留, 下一代尾部概率继续下降. 一旦概率接近零, 有限采样再也看不到该模式, 训练无法自行恢复. 保留原始数据、覆盖约束或主动采样尾部, 是对抗这条吸收路径的办法.

EM 类比成立到哪里:ReSTEM^{EM} 将生成候选视作 E 步, 在筛选数据上优化模型视作 M 步. 标准 EM 的 E 步计算当前参数下潜变量后验, M 步提高同一个观测似然, 因而有单调性保证. ReST 使用采样与奖励阈值近似, 目标也包含外部奖励, 不满足标准 EM 的完整条件.

Best-of-N 生成只覆盖当前模型能产生的轨迹, 奖励模型近似真实效用, 阈值又截断低分样本. M 步提高筛选轨迹的似然, 可以降低原分布其他区域概率. 训练目标改善不等于外部任务单调改善, 每轮仍需独立评测.

EM 视角的价值在于交替结构. 生成阶段固定模型收集隐式解法, 优化阶段固定数据更新参数. 两步分离便于记录数据谱系和比较每轮变化. 若生成与训练持续在线交织, 分布不断变化, 分析更接近强化学习或在线学习.

温度与候选数控制 E 步覆盖. 温度低, 样本质量高但模式单一; 温度高, 覆盖大但低质量多. 阈值和奖励器控制保留. 最优设置取决于模型当前能力, 固定日程可能在早期太严格、后期太宽松.

M 步训练强度同样重要. 更新太弱, 新数据不起作用; 太强, 模型过拟合这一轮窄样本并遗忘基础能力. KL 约束、较小学习率、原始数据混合和从基础检查点重启, 分别限制参数距离或数据偏移.

自奖励中的双重角色耦合:Self-Rewarding 让同一模型族生成回答并充当 LLM-as-a-Judge. 参数更新后, 生成分布和评分行为一起变化. 下一轮分数提高可能来自回答更好, 也可能来自判官尺度变宽松或偏好与生成器更一致.

设生成策略为 πθk\pi_{\theta_k}, 判官为 RθkR_{\theta_k}. 一轮优化得到 θk+1\theta_{k+1} 后, 观测到

Rθk+1(yk+1)>Rθk(yk)R_{\theta_{k+1}}(y_{k+1})>R_{\theta_k}(y_k)

同时改变了对象和尺子, 无法直接归因. 用冻结外部判官评价各代回答, 再用各代判官交叉评价同一批冻结回答, 可以拆开两条变化.

共享模型还产生偏好闭环. 判官偏爱某种长度或语气, 训练使生成器更多产生该风格, 新判官在相似分布上又给高分. 内部分数稳定上升, 外部事实性或简洁性可能不变. 长度匹配评测、不同来源判官和人类抽检能暴露一部分循环.

判官能力提高仍有真实价值. 更强模型可能识别细微错误, 为生成器提供更好排序. 关键是用独立真值集测判官校准和排序, 再确认回答在外部目标上提高. 双重角色不是自动无效, 它让辨识需要交叉实验.

参数更新对应 L1. 判官更新后的评分语义若被保留并控制后续选择, 实际受影响组件便触及 CC, 可靠性分析要按移动标尺处理. self-rewarding 这个名称描述了信号来源, 层级仍由实际更新对象决定.

6.2. 多代误差、投票与校准

把一次自训练写成更新算子以后, 最值得追问的量是扰动经过一轮会缩小还是放大. 设理想分布为 p∗p^, 第 kk 轮偏差为 ek=pk−p∗e_k=p_k-p^. 在 p∗p^* 附近线性化复合算子 F(p)=T(p,S(p))F(p)=T(p,S(p)), 有

ek+1=JF(p∗)ek+ξk+O(∥ek∥2),e_{k+1}=J_F(p^*)e_k+\xi_k+\mathcal O(\lVert e_k\rVert^2),

其中 JFJ_F 是局部雅可比矩阵, ξk\xi_k 汇集有限采样、优化误差和判官噪声. 若谱半径 ρ(JF)<1\rho(J_F)<1, 小偏差在平均意义上回落; 若谱半径超过 1, 某个方向会被逐轮放大. 单轮准确率只描述 ξk\xi_k 的一部分, 无法回答 JFJ_F 的性质. 一个每轮伪标签准确率都达到 90% 的系统, 仍可能稳定地删掉同一个稀有模式, 使该方向的特征值超过 1.

误差方向比误差大小更重要. 随机错误在不同轮之间可能抵消, 系统偏差则沿同一方向积累. 若模型总把含否定嵌套的题误解为肯定命题, 筛选器又用模型自身置信度保留样本, 这类题在训练集中越来越少. 更新后的模型更难识别它们, 下一轮筛选更加严厉. 这是一条正反馈链, 即使全局平均错误率很低也能持续运行.

固定点也不等于真值. 设模型只生成一套内部一致但外部错误的证明模板, 判官采用相同模板核验, 训练又精确拟合被选轨迹. 三个环节可以到达稳定状态: 数据分布不再变化, 损失很低, 自评分很高. 稳定性说明系统不再移动, 没有说明它停在正确位置. 因此自训练至少需要两个问题: 更新会不会收敛, 收敛点是否由外部证据识别为有用.

外部锚会改变固定点方程. 令每轮以比例 α\alpha 混入不随模型变化的锚定分布 rr, 则生成数据为

qk=(1−α)S(pk)+αr.q_k=(1-\alpha)S(p_k)+\alpha r.

在线性近似下, 自反馈项的增益乘上 1−α1-\alpha. 锚定数据若覆盖真正危险的误差方向, 很小的比例也可能把谱半径压到 1 以下; 若锚只覆盖简单头部题, 对尾部方向几乎不起作用. 所以“保留百分之多少真实数据”不是完整答案, 还要说明保留了哪些方向、哪些能力和哪些边界样本.

周期性重置权重与混入锚数据作用不同. 重置把参数拉回共同起点, 减少优化路径依赖; 已积累的数据集仍可能偏斜. 数据锚直接改变经验分布, 但连续在旧权重上训练仍可能受遗忘和尖锐极小值影响. STaR 每轮从预训练检查点出发, 同时保留先前成功轨迹, 相当于控制参数漂移而允许数据记忆增长. 这种设计能解释它为何比无条件连续微调稳, 也指出它仍需独立检查覆盖变化.

多数投票何时提供信息:多数投票常被描述成不依赖标签的监督来源. 它成立需要候选答案携带足够独立的错误. 设每次采样答对的概率为 pp, 采样数为奇数 nn, 且条件独立, 多数正确概率为

Pmaj=∑j=(n+1)/2n(nj)pj(1−p)n−j.P_{\mathrm{maj}}=\sum_{j=(n+1)/2}^{n}{n\choose j}p^j(1-p)^{n-j}.

p>1/2p>1/2 时, 增加样本数使多数票趋近正确; p<1/2p<1/2 时, 它反而更确信错误. 这条结论把 TTRL 的前提说得很清楚: 初始模型在目标题分布上必须具有略高于随机或某个结构化基线的优势, 且采样要能暴露这种优势.

语言模型的采样并不独立. 同一提示、同一参数和相近解码策略会产生共享错误. 用指示变量 ZiZ_i 表示第 ii 个答案是否正确, 若两两相关系数约为 ρ\rho, 样本均值的方差为

Var⁡(Zˉ)=p(1−p)n[1+(n−1)ρ].\operatorname{Var}(\bar Z)=\frac{p(1-p)}{n}\bigl[1+(n-1)\rho\bigr].

ρ=0\rho=0 时方差随 1/n1/n 衰减; ρ>0\rho>0 时有效样本数约为 n/[1+(n−1)ρ]n/[1+(n-1)\rho]. 当相关性很高, 采一百条看似不同的推理链也只相当于少数几个独立判断. 表面措辞的多样性不能代替结论依据的多样性.

答案空间的形状也会影响投票. 选择题只有有限标签, 错误票容易集中; 开放问答的错误表达高度分散, 正确答案可能以多种等价形式出现. 若归一化器不能把等价答案合并, 正确票被人为拆散. 若归一化过强, 不同含义又可能被合并. 数学题可通过符号化简或执行校验聚类, 代码题可依据测试行为聚类, 自由文本需要语义判等, 后者往往重新引入模型判官.

多数票提供的是群体一致性, 其可靠性取决于一致性与真值的联系. 题目进入模型共同盲区后, 一致性会变成错误先验的放大器. 可用少量有标签校准集估计 P(correct∣m,d)P(\text{correct}\mid m,d), 其中 mm 是票差、dd 是题目难度或领域. 同样的 80% 票差, 在算术题和冷门事实题上含义不同. 把票差直接当奖励幅度, 等于假设这条校准曲线跨领域不变.

更稳健的办法是让投票承担“提出假设”的角色, 再用异质证据裁决. 代码执行、形式证明器、检索到的原始材料和独立模型都能降低相关误差. 工具数量本身不会带来独立性, 错误机制的差异才会. 五个共享训练数据和提示模板的模型, 可能不如一个解释器加一个执行器互补.

选择性风险与伪标签校准:自训练通常不必接收全部伪标签. 令置信函数为 c(x)c(x), 接收规则为 gτ(x)=1[c(x)≥τ]g_\tau(x)=\mathbf 1[c(x)\ge\tau]. 两个基本量是覆盖率

cov⁡(τ)=E[gτ(X)]\operatorname{cov}(\tau)=\mathbb E[g_\tau(X)]

和选择性风险

Rsel(τ)=E[ℓ(f(X),Y)gτ(X)]E[gτ(X)].R_{\mathrm{sel}}(\tau)= \frac{\mathbb E[\ell(f(X),Y)g_\tau(X)]}{\mathbb E[g_\tau(X)]}.

提高阈值通常降低已接收样本的风险, 同时减少覆盖. 如果只报告伪标签准确率, 可以把阈值调得极高, 留下少量容易题并得到漂亮数字; 模型从这些题里学不到新的边界. 如果只报告覆盖, 大量低质量标签又会污染训练. 风险—覆盖曲线比单一阈值更能显示信号质量.

置信度需要校准. 模型给出 0.9 的分数, 只有在同类事件约九成正确时才具有概率含义. 自训练会改变模型与数据分布, 第零轮拟合的温度参数到第三轮可能失效. 更麻烦的是选择本身造成条件偏移: 被接收的数据来自高置信区域, 用它继续训练会把置信度推高, 而外部正确率未必同步变化. 因此每轮要在不参与伪标签生成的小型锚集上重新画可靠性图, 查看期望校准误差之外的分组误差.

类别不平衡会让全局阈值伤害尾部. 假设常见类别占九成, 模型对它们置信且准确; 稀有类别置信较低. 统一阈值筛完后, 稀有类别可能从训练集消失. 按类别、难度或主题设定覆盖下限, 相当于给选择算子加入约束. 对无法事先分组的开放任务, 可在表示空间聚类后分层采样, 再人工检查聚类是否对应有意义的能力区域.

软标签保留了不确定性, 但也保留教师偏差. 用教师分布 q(y∣x)q(y\mid x) 训练学生, 损失为 −∑yq(y∣x)log⁡pθ(y∣x)-\sum_y q(y\mid x)\log p_\theta(y\mid x). 它比硬标签提供更多类间关系, 温度升高还能暴露次优候选. 若教师把真实答案分配极低概率, 软化只能重新分配已有概率质量, 不能创造缺失知识. 对生成任务, 完整序列分布不可枚举, 实际蒸馏多在采样序列或 token 分布上进行, 两者又分别受到搜索覆盖和局部归一化限制.

伪标签权重可依据估计正确率调整. 若样本 ii 的可信度为 wiw_i, 训练目标写成 ∑iwiℓi\sum_i w_i\ell_i. 权重降低了可疑样本的梯度贡献, 却会产生新的捷径: 模型倾向于反复学习高权重的熟悉模式. 给权重设上限、按分组归一化并保留一定探索配额, 才能兼顾质量与覆盖.

参考文献

  1. Kaiqi Wang, Wenjin Hou, Yuchen Yan 等 (2026). Diving into Reliable Self-Evolving Agents: A Survey. §4 Model-Level Self-Evolution, 式 (7), §4.1.
  2. Eric Zelikman, Yuhuai Wu, Jesse Mu, Noah D. Goodman (2022). STaR: Bootstrapping Reasoning With Reasoning. NeurIPS 2022. §3, 式 (1)(2), 表 1, 表 2.
  3. Avi Singh, John D. Co-Reyes, Rishabh Agarwal 等 (2023). Beyond Human Data: Scaling Self-Training for Problem-Solving with Language Models. TMLR 2024. §3, 算法 1, §5.
  4. Weizhe Yuan, Richard Yuanzhe Pang, Kyunghyun Cho 等 (2024). Self-Rewarding Language Models. ICML 2024. §2, 图 2, 表 1, 表 4, §6.
  5. Yuxin Zuo, Kaiyan Zhang, Li Sheng 等 (2025). TTRL: Test-Time Reinforcement Learning. §2, 式 (3), §4.2, §4.3, 图 9.
  6. Ilia Shumailov, Zakhar Shumaylov, Yiren Zhao, Yarin Gal, Nicolas Papernot, Ross Anderson (2023). The Curse of Recursion: Training on Generated Data Makes Models Forget. 定义 3.1, §3.1, §4.2 式 (1)(2)(4), §5.

上一篇: 2.1.1 · L0: 任务内的修订, 搜索与验证

下一篇: 2.2.1 · L1: 竞争式自博弈