Self-Rewarding Language Models
一句话总结:不要再训练一个冻结的外部奖励模型(会被人类水平和数据规模卡住),而是让同一个 LLM 一身二任——既当"答题者"生成回答,又用 LLM-as-a-Judge 提示词给自己的回答打奖励;把高分/低分回答配成偏好对,用 Iterative DPO 一轮轮自我改进。结果是:迭代训练不仅让指令遵循变强,连模型自我打奖励的能力本身也一起变强,形成"良性循环",三轮就把 Llama 2 70B 推到 AlpacaEval 2.0 上超过 Claude 2 / Gemini Pro / GPT-4 0613。
- 来源:Weizhe Yuan, Richard Yuanzhe Pang, Kyunghyun Cho, Xian Li, Sainbayar Sukhbaatar, Jing Xu, Jason Weston(Meta / NYU),arXiv:2401.10020v3 [cs.CL],2025-03-28(初版 2024-01)
- 本地 PDF:ref05_self-rewarding-language-models.pdf
TL;DR 速览
- 问题:主流对齐(RLHF / DPO)都从人类偏好里训练一个固定的奖励模型(或直接用固定偏好数据)。这有两个瓶颈:① 奖励质量被人类标注的规模与水平卡死——想造"超人 Agent"就得有"超人反馈";② 奖励模型一旦训好就冻结,无法在 LLM 训练过程中继续变强。
- 方法:Self-Rewarding Language Models——同一个模型同时具备两种技能,迭代自我对齐: 1. 指令遵循(Instruction following):给 prompt 生成高质量回答; 2. 自指令创建(Self-Instruction creation):用 LLM-as-a-Judge 提示词给自己生成的候选回答打 0–5 分,充当自己的奖励模型; 3. 把同一 prompt 下得分最高/最低的回答配成偏好对(丢掉同分对),用 DPO 训练; 4. 训完得到下一代模型 \(M_{t+1}\),它生成的偏好数据质量更高——循环。
- 关键数字(Llama 2 70B,三次迭代):
- AlpacaEval 2.0 对 GPT-4 Turbo 的胜率:\(M_1\) 9.94% → \(M_2\) 15.38% → \(M_3\) 20.44%,\(M_3\) 超过 Claude 2(17.19)、Gemini Pro(16.85)、GPT-4 0613(15.76)。
- 奖励建模能力(与人类排序的 pairwise 一致率):SFT baseline 65.1% → \(M_1\) 78.7% → \(M_2\) 80.4% → \(M_3\) 81.7%——奖励模型自己也越训越准。
- 头对头(GPT-4 评判):\(M_2\) vs \(M_1\) = 55.5% vs 11.7%;\(M_3\) vs \(M_2\) = 47.7% vs 12.5%;\(M_3\) vs SFT baseline = 62.5% vs 9.8%。
- 一句话评价:这是"用模型自己的判断力当训练信号"这条路线的奠基性论文。它最深刻的贡献不是"自己给自己打分"(RLAIF 已有),而是指出——把奖励模型和策略模型合并成同一个可训练模型,能让奖励能力跟着策略一起进化,从而抬高自我改进的天花板。与本项目 harness 视角的连接是:它把"如何给自己的行为打分"这件事,做成了一个可以被自我改进的提示词模块(LLM-as-a-Judge prompt)——这正是一种最小的、可迭代的"评估 harness"。
tags: #自我改进 #self-rewarding #llm-as-a-judge #iterative-dpo #rlaif #reward-modeling #self-alignment
related: [[ref06_spin-self-play-finetuning]](同框架不同信号:SPIN 用人类答案当 winner,本文用自评分)· [[ref04_absolute-zero]](更极端的"无人类数据自我改进")· [[ref14_self-refine]](同为"模型自评",但用于推理时精修而非训练)· [[ref19_gepa]](反思式反馈优化,也把"自己的判断"当优化信号)· [[ref17_self-harness]](自我改进的 harness 层切片)· [[ref09_meta-harness]](harness 搜索)
摘要
我们主张:要造出超人级 Agent,未来的模型需要超人级反馈才能提供足够的训练信号。当前做法通常从人类偏好训练奖励模型,因而可能被人类水平卡住;而且这些独立、冻结的奖励模型无法在 LLM 训练过程中继续改进。本文研究 Self-Rewarding Language Models——语言模型用 LLM-as-a-Judge 提示词给自己打奖励。我们证明在 Iterative DPO 训练中,不仅指令遵循能力提升,模型给自己打高质量奖励的能力也同时提升。把 Llama 2 70B 在本方法上迭代三轮,得到的模型在 AlpacaEval 2.0 榜单上超过许多现有系统,包括 Claude 2、Gemini Pro、GPT-4 0613。
核心论点:把奖励模型内化进语言模型本体,可以在指令遵循与奖励建模两个维度上同时持续改进——这是标准 RLHF(冻结奖励模型)做不到的。
1 介绍:为什么要打破"冻结奖励模型"这个瓶颈
论文的动机链条非常干净:
- RLHF 的现状:用人类偏好训一个奖励模型 \(r\),冻结它,再用 RL(如 PPO)去优化 LLM。DPO 则更进一步,跳过奖励模型、直接用人类偏好训 LLM。
- 两个瓶颈: - 奖励信号的质量被"人类偏好数据的规模与质量"卡死——你想要"超人"的模型,却只有"人类水平"的反馈; - 奖励模型一旦训好就冻结,在后续 LLM 训练里不再学习、不再变强。
- 本文的解法:训练一个会自我改进的奖励模型——它不冻结,而是在对齐过程中持续更新。关键手段是:别把奖励模型和语言模型拆成两个独立模型,而是让同一个 Agent 同时具备训练所需的全部能力。
[!TIP] 为什么"合并成同一个模型"能带来增益?(讲透) 作者的论证类比自预训练 / 多任务学习的任务迁移:就像同时在很多任务上训练能让技能互相迁移一样,把"奖励建模任务"和"指令遵循任务"放进同一个模型训练,两个任务之间也能互相迁移。 - 具体表现在实验里:训练 \(M_1→M_2→M_3\) 只喂了指令遵循的偏好数据(AIFT),并没有额外喂 EFT 评判数据,但奖励建模的 pairwise 准确率却从 78.7% 一路涨到 81.7%(Table 4)。作者的解释是——模型的"通用指令遵循能力"变强了,而 LLM-as-a-Judge 本质也是一个指令遵循任务,于是评判能力顺带变强。 - 这就是"两个能力共享同一套参数"的红利:一个能力的提升会外溢到另一个。若奖励模型是独立冻结的,这条外溢通道根本不存在。
方法命名与定位:Self-Rewarding LM 同时 (i) 作为指令遵循模型给 prompt 生成回答;(ii) 能生成并评估新的指令遵循样本加进自己的训练集。训练框架借用 Xu et al. [2023](Pairwise Cringe Optimization)提出的 Iterative DPO,但把其中的外部固定奖励模型换成了模型自己。
[!NOTE] 一句话把创新点说清:Iterative DPO 不是本文发明的(Xu et al. 2023 已有);LLM-as-a-Judge 也不是(Zheng et al. 2023);RLAIF/用 AI 打分也不是(Constitutional AI、Lee et al. 2023)。本文的新意在于三者的合流 + 一个关键改动:让打分的模型 = 被训练的模型,并且这个身份在每次迭代后一起更新,从而让"奖励能力"和"生成能力"共同进化。
2 相关工作:把 Self-Rewarding 放进"偏好学习 / 自我改进"谱系
[!TIP] ① RLHF(从人类反馈做强化学习) - Ziegler'19 / Stiennon'20 / Ouyang'22(InstructGPT)/ Bai'22a:从人类偏好训固定奖励模型,再用 RL(PPO [Schulman'17])优化 LLM。奖励信号"其实已经来自一个模型",只是它是从人类数据蒸馏来的。 - DPO [Rafailov'23]:Direct Preference Optimization,完全跳过奖励模型,直接用人类偏好对训 LLM。是本文训练所用的底层算法。 - PCO(Pairwise Cringe Optimization)[Xu'23]:用与本文相似的迭代训练流程,但奖励模型固定;并证明了 Iterative DPO 优于普通 DPO。本文直接站在它肩上,把固定奖励模型替换成自己。
本文差异:奖励不再来自固定模型或固定人类偏好,而来自每轮都在更新的模型自身。
[!TIP] ② RLAIF(从 AI 反馈做强化学习)——本文最近的邻居 - Constitutional AI [Bai'22b]:用一个 LLM 依据"宪法"给回答反馈并精修,再用这些数据训一个固定的奖励模型,然后 RL——即 "RLAIF"。 - Lee et al. 2023(RLAIF):用一个现成 LLM做 LLM-as-a-Judge 造训练集,训一个固定奖励模型再 RL;他们发现 RLAIF ≈ RLHF。也试过在 PPO 里直接用那个固定的 LLM-judge,但计算代价很大。
本文差异(关键):RLAIF 里做评判的 LLM 是"另一个、固定的"模型;本文里做评判的就是"被训练的这个"模型,且随迭代一起更新。而且本文用的是离线的迭代 DPO(先造好偏好数据再训),比"在 PPO 内部反复调用 judge"便宜得多。
[!TIP] ③ SPIN(Self-Play Fine-Tuning)[Chen'24b]——最该对照的同期工作 SPIN 也在一个"类 Iterative DPO"框架里完全不用奖励模型:它把人类标注的答案当作偏好对里的 winner,把上一轮模型自己的生成当作 loser,让模型不断把自己拉向人类答案。 - 它的局限(作者点名):① 一旦模型生成达到人类水平,就没有信号了(winner 追平 loser)——天花板 = 人类;② 每个 prompt 都必须有人类标注答案。 - 本文的优势:Self-Rewarding 用模型自评的分数造偏好对,不需要每个 prompt 都有人类答案,理论上天花板不被人类答案锁死(因为奖励能力自己也在涨)。详见下方对比表。
[!TIP] ④ 用(自)造数据增广/筛选来改进 LLM - Self-Instruct [Wang'23]:自动生成 prompt+response 来改进基座模型——本文借用它来造新 prompt,然后用自评分给这些数据打分。 - Alpaca [Taori'23] / AlpaGasus [Chen'24a] / Instruction Backtranslation [Li'24]:靠从更强 LLM 蒸馏或用强 LLM-judge 筛数据。其中 Instruction Backtranslation 的筛选由 LLM-judge 自己完成,可视为一种特化版的 self-rewarding。 - ReST [Gulcehre'23]:用固定外部奖励筛高质量样本迭代加入训练集。作者实验发现(附录 A.4):只加"正例"(打满分的样本)做 SFT 不管用(29% vs 30%,无提升),必须构造偏好对做 DPO 才有效。
把本文的"祖源"说清(对比表):
| 方法 | 奖励从哪来 | 奖励模型是否更新 | 是否需要每 prompt 的人类答案 | 天花板受什么限制 |
|---|---|---|---|---|
| RLHF (PPO) [Ouyang'22] | 人类偏好 → 固定奖励模型 | ✗ 冻结 | 需要偏好标注 | 人类偏好规模/质量 |
| DPO [Rafailov'23] | 人类偏好(直接用) | 无奖励模型 | 需要偏好标注 | 人类偏好规模/质量 |
| RLAIF [Bai'22b, Lee'23] | 另一个固定 LLM 打分 | ✗ 冻结 | 否 | 那个固定 judge 的水平 |
| SPIN [Chen'24b] | 人类答案=winner,自生成=loser | 无奖励模型 | 是 | 人类答案水平 |
| Self-Rewarding(本文) | 模型自己 LLM-as-a-Judge 打分 | ✓ 随迭代更新 | 否 | 自评能力上限(也在涨) |
3 方法:一身二任 + 迭代自我对齐
3.1 总览与两种技能
方法假设有:一个预训练基座模型,加少量人工标注的种子数据。目标是让模型同时掌握两种技能:
- 指令遵循(Instruction following):给出描述用户请求的 prompt,生成高质量、有用(且无害)的回答。
- 自指令创建(Self-Instruction creation):生成并评估新的指令遵循样本,加进自己的训练集。
有了这两种技能,模型就能做自我对齐(self-alignment)——用 AI Feedback (AIF) 迭代训练自己。

Figure 1 逐元素解读(全文方法的心脏):整张图分成上下两半的一个循环。
- 左半「Self-Instruction creation」(橙色区):
{x_i}Generated new prompts(绿色圆柱):用 few-shot 提示(Self-Instruct 式)从种子 IFT 数据里"长"出的新 prompt 池。M_tGenerate responses:当前模型 \(M_t\)(\(t=1\) 时是 seed model)对每个 prompt 采样 \(N\) 个不同候选回答 \(\{y_i^1,\dots,y_i^N\}\)。M_tGenerate rewards:同一个 \(M_t\) 用 LLM-as-a-Judge 提示给这 \(N\) 个回答各打一个分 \(r_i^n \in [0,5]\)。注意这里是同一个模型既生成又打分——这是"self-rewarding"的字面含义。- 右半「Instruction following training」(紫色区):
- select → Preference pairs
{x_i, y_i^w, y_i^l}:从 \(N\) 个打分回答里选最高分做 winner \(y^w\)、最低分做 loser \(y^l\),组成偏好对(同分则丢弃)。 - DPO training →
M_{t+1}:用这些偏好对做 DPO,得到下一代模型 \(M_{t+1}\)。 - 底部红色回边「Next iteration model」:\(M_{t+1}\) 变成新的 \(M_t\),回到左半重新开始。每一轮,模型的生成能力和打分能力都更强一点,于是它给自己造的偏好数据也更好一点。
[!TIP] 为什么"打分的和答题的必须是同一个模型"这么关键? 如果打分交给一个外部固定 judge(RLAIF 做法),那么无论策略模型训得多好,反馈的天花板就锁死在那个 judge 上。而本文让 judge = 策略模型本身:\(M_2\) 用的是 \(M_1\) 的自评来造数据,但训练也让 \(M_2\) 的自评能力超过了 \(M_1\)(Table 4:78.7%→80.4%)。于是 \(M_2\) 给 \(M_3\) 造的数据,就比 \(M_1\) 能造的更好。这就是作者说的"virtuous circle(良性循环)"——评估能力与生成能力互相拉着往上走。
3.2 初始化:IFT 与 EFT 两套种子数据
方法用两套人工种子数据一起训练初始模型:
- IFT(Instruction Fine-Tuning)数据:人写的 (指令 prompt, 回答) 通用指令遵循样本,用 SFT 从基座训起。
- EFT(Evaluation Fine-Tuning)数据:人写的 (评估指令 prompt, 评估结果回答) 样本,教模型怎么当 LLM-as-a-Judge。输入是"请评估某回答对某指令的质量",目标输出是 chain-of-thought 理由 + 最终分数(满分 5)。EFT 不是严格必需(光靠 IFT 模型也能勉强当 judge),但作者证明加了它评判能力更好(附录 A.3)。
[!NOTE] 一个漂亮的"无副作用"发现:加 EFT 任务不损害指令遵循能力(EFT+IFT vs IFT 头对头 30.5% vs 30.9%,几乎打平)。作者用 t-SNE(附录 A.1)解释:EFT 数据在嵌入空间里落在和 IFT 完全不同的区域,所以"教会模型打分"不会挤占"教会模型答题"的能力。这就为"一身二任"提供了经验依据——两个技能可以共存而不打架。
3.3 核心机制:LLM-as-a-Judge 的"加性 5 分"提示词
这是全文最具体、最可复用的部分——奖励信号究竟长什么样。

Figure 2 逐项解读:这套提示词让模型对一个回答逐条累加打分,而不是笼统给个印象分。五条加性(additive)准则:
| 得分 | 触发条件(累加式) | 覆盖的质量维度 |
|---|---|---|
| +1 | 回答相关、提供了与问题有关的信息(哪怕不完整/夹带无关内容) | 相关性 relevance |
| +1 | 回答覆盖了问题的实质部分(但没完全解决/没直接作答) | 覆盖度 coverage |
| +1 | 回答有用地答到了问题的基本要素(哪怕像博客/搜索结果的口吻) | 有用性 usefulness |
| +1 | 明显以 AI 助手视角、直接且全面作答、组织良好有帮助(略有改进空间) | 清晰度/组织 clarity |
| +1 | 完美契合、无冗余、体现专家知识、高质量且有洞见 | 专业度 expertise |
提示词还要求:先用不超过 100 词简述理由,再以 Score: <总分> 格式给出结论。
[!TIP] 为什么是"加性打分"而不是"多选打分"?(讲透 + 数值证据) 作者在预实验里对比了两种 judge 提示:本文的加性累加式(Figure 2)vs Li et al. 2024 的多选桶式(把 1–5 分描述成 5 个质量档位让模型选,附录 Figure 7)。用只训了 3200 条 IFT 的模型测评判能力:
judge 提示 Pairwise 准确率 Spearman 相关 Kendall τ 多选桶式 [Li'24] 26.6% −0.18 −0.16 本文加性式 65.1% 0.25 0.23 差距巨大(65.1% vs 26.6%,且多选式相关系数居然为负)。作者的解释:多选式逼模型把评估当成一个"整体多选题",很难拆解成对各质量维度的子判断;而加性式把评估分解成若干可独立判断的小问题(相关?覆盖?有用?…),逐条累加,更符合模型分步推理的习惯。 方法论启示:同样一个 LLM-as-a-Judge,提示词结构(把评分分解成加性子项 vs 让它整体选一个桶)能让评判准确率差 2.4 倍——这说明"评估 harness 的提示工程"本身就是一个高杠杆的可优化面。
3.4 自指令创建的三步
用当前模型给下一轮造训练数据,具体三步:
- 生成新 prompt:用 few-shot 提示(从种子 IFT 数据采样示例,Self-Instruct 式)生成新 prompt \(x_i\)。(注:主实验里 prompt 是由一个提前固定的模型 ChatLlama 70B 生成的,但附录 A.5 证明新训的模型自己也能生成合格 prompt。)
- 生成候选回答:当前模型对 \(x_i\) 采样 \(N\) 个多样的候选回答 \(\{y_i^1,\dots,y_i^N\}\)。
- 评估候选回答:用同一个模型的 LLM-as-a-Judge 能力给每个候选打分 \(r_i^n \in [0,5]\)。
3.5 指令遵循训练:从自评分构造偏好对 + DPO
拿到打分后,构造 AIFT(AI Feedback Training)数据:
- 对每个 prompt \(x_i\),取 \(N\) 个候选里得分最高的做 winner \(y_i^w\)、得分最低的做 loser \(y_i^l\),组成偏好对 \((x_i, y_i^w, y_i^l)\);若最高分=最低分则丢弃这对。
- 用 DPO 在这些偏好对上训练。
[!TIP] 什么是 DPO(Direct Preference Optimization)?(本文的训练底座) DPO [Rafailov'23] 的核心洞见是——"你的语言模型其实偷偷就是一个奖励模型"。传统 RLHF 要先训奖励模型 \(r_\phi\)、再用 PPO 优化策略;DPO 用一个数学变换跳过奖励模型,把"最大化奖励 + KL 约束"的 RL 目标闭式地改写成一个在偏好对上的分类损失: $$ \mathcal{L}{\text{DPO}} = -\,\mathbb{E}{(x,y^w,y^l)}\Big[\log \sigma\Big(\beta \log \tfrac{\pi_\theta(y^w\mid x)}{\pi_{\text{ref}}(y^w\mid x)} - \beta \log \tfrac{\pi_\theta(y^l\mid x)}{\pi_{\text{ref}}(y^l\mid x)}\Big)\Big] $$ 直觉:让当前策略 \(\pi_\theta\) 相对参考模型 \(\pi_{\text{ref}}\)(通常是 SFT 起点)提高 winner 的相对概率、压低 loser 的相对概率;\(\beta\) 控制偏离参考模型的强度(本文取 0.1)。因为不需要在线采样和奖励模型,DPO 比 PPO 更稳、更省算力——这也是为什么本文能负担得起"每轮造几千对、迭代三轮"。
在本文里的角色:DPO 是把"自评分 → 偏好对"这个信号真正落进权重更新的执行器。注意本文把 DPO 用在自评构造的偏好对上(而非人类偏好),这是它和原始 DPO 的关键区别。
[!TIP] 为什么必须用"偏好对(DPO)"而不是"只加正例(SFT)"?(附录 A.4 的关键消融) 一个自然的替代方案是:干脆把自评满分(5/5)的回答当作新的 (prompt, response) 直接加进 SFT。作者试了——加了 11,254 条满分样本、还调了混合权重,头对头对 SFT baseline 仍是 29% vs 30%,毫无提升。 为什么正例不够? 因为 SFT 只告诉模型"这是个好答案,学它",但没有对比信号告诉模型"什么是坏答案、好在哪里"。DPO 的偏好对同时给出 winner 和 loser,提供的是相对信号(好 vs 坏的落差),这才是驱动改进的关键。这与 SPIN、Cringe loss 等"必须有负例/对比"的观察一致。
3.6 整体算法:模型序列 \(M_0 \to M_1 \to M_2 \to M_3\)
[!NOTE] 模型序列定义(本文的迭代骨架)
M0 : 基座预训练 LLM,不做任何微调。 M1 : 用 M0 初始化,在 IFT+EFT 种子数据上做 SFT。 # 学会答题 + 学会打分 M2 : 用 M1 初始化,在 AIFT(M1) 数据上做 DPO。 # 用 M1 的自评造的偏好对 M3 : 用 M2 初始化,在 AIFT(M2) 数据上做 DPO。 # 用 M2 的自评造的偏好对其中 AIFT(\(M_t\)) = 用模型 \(M_t\) 做自指令创建(生成回答 + 自评打分 + 选偏好对)得到的训练数据。 这套迭代与 Pairwise Cringe Optimization 的流程一致,即 Iterative DPO [Xu'23]——唯一的区别是那篇用外部固定奖励模型,本文用模型自己。 规模:AIFT(\(M_1\)) = 3,964 对(训 \(M_2\));AIFT(\(M_2\)) = 6,942 对(训 \(M_3\))。
4 实验:两个维度都在涨
4.1 设置速记
- 基座:Llama 2 70B。
- IFT 种子:Open Assistant 里 3,200 条高质量人写样本(只取最高 rank 的英文首轮对话)。对照的 SFT baseline 就是只用这 3,200 条 IFT 训的模型。
- EFT 种子:从 Open Assistant 的多档人类排序回答构造,用 SFT baseline 生成 CoT 理由+分数、只保留"分数排序与人类排序一致"的样本,得 1,630 训 / 541 评估。
- 评测两个维度:
- 指令遵循:256 题 IFT test(GPT-4 头对头 + 人评)、AlpacaEval 2.0(805 题,对 GPT-4 Turbo 胜率)、MT-Bench(多轮,GPT-4 打分/10)、9 个 NLP benchmark。
- 奖励建模:在 Open Assistant 派生的评估集上与人类排序的一致性(pairwise 准确率、exact match、Spearman、Kendall τ、5分命中率)。
- 训练细节:DPO 用 lr 1e−6→1e−7、batch 16、dropout 0.1、β=0.1;候选采样 N=4(T=0.7, p=0.9);打分因有方差采样 3 次取平均。
4.2 指令遵循:逐代碾压前代

Figure 3 逐条解读(三组"左 vs 右"的头对头,绿=左赢、蓝=平、红=右赢):
- \(M_2\) vs \(M_1\) = 55.5% : 32.8% : 11.7%——第二次迭代大幅超过第一次。这是从"只用种子数据"到"用上自评偏好数据"的一跃,说明 \(M_1\) 自评造出的 AIFT(\(M_1\)) 确实有效。
- \(M_3\) vs \(M_2\) = 47.7% : 39.8% : 12.5%——第三次迭代继续超过第二次(虽然平局变多,增量收窄,暗示开始饱和)。
- \(M_3\) vs \(M_1\) = 68.8% : 22.7% : 8.6%——跨两代的差距非常大,验证了逐代累积的收益。
- 图注补充:SFT baseline ≈ \(M_1\)(因为 \(M_1\) = IFT+EFT,加 EFT 不伤指令遵循),但 \(M_2\)、\(M_3\) 显著超过 baseline。(正文另给:\(M_3\) vs SFT baseline = 62.5% : 27.7% : 9.8%。)
AlpacaEval 2.0 榜单(Table 1)——对 GPT-4 Turbo 的胜率逐代上升,\(M_3\) 超过多个强模型:
| 模型 | 胜率 | 对齐数据类型 |
|---|---|---|
| Self-Rewarding 70B — \(M_1\) | 9.94% | — |
| Self-Rewarding 70B — \(M_2\) | 15.38% | — |
| Self-Rewarding 70B — \(M_3\) | 20.44% | — |
| GPT-4 0314 | 22.07% | 专有 |
| Claude 2 | 17.19% | 专有 |
| Gemini Pro | 16.85% | 专有 |
| GPT-4 0613 | 15.76% | 专有 |
| LLaMA2 Chat 70B | 13.87% | 专有 |
[!IMPORTANT] \(M_3\)(20.44%)超过了 Claude 2、Gemini Pro、GPT-4 0613——而这些竞品大多用了专有对齐数据(往往 >100 万条标注)或从更强模型蒸馏的目标。本文却只从 3,200 条 Open Assistant 种子数据出发,之后的目标和奖励全由模型自己生成。这是"自我改进能突破人类标注规模瓶颈"的最有力单点证据。
细粒度分析(Figure 4)——收益从哪些任务来?

Figure 4 逐元素解读:横轴是 20 个指令类别(按 \(M_3\) 胜率从高到低排),纵轴是各代(\(M_0\) 深紫、\(M_1\) 紫三角、\(M_2\) 红方、\(M_3\) 橙菱)在该类别的胜率。关键读法:
- \(M_3\)(橙)几乎在所有类别都是最高的一条线,且在 Health/Professional/Linguistics/Other 等类别遥遥领先,说明收益是全面的。
- Mathematics 类别几乎没有提升(各代挤在一起、偏低)——图注明确点出:数学和逻辑推理任务收益很小。正文进一步解释:说明当前方法主要是让模型更好地调用已有知识,而非习得新的推理能力。
- 根因:作者归因于种子数据来自 Open Assistant,本身就少推理类任务——即"种子数据的构成决定了自我改进能覆盖的能力边界"。(MT-Bench Table 2 也印证:math/code/reasoning 只从 3.93→4.17,涨幅远小于人文/写作类。)
其他佐证: - 人评(Figure 5,未嵌入):50 题、三标注者盲评多数投票,\(M_1/M_2/M_3\) 对 baseline 的优势逐代扩大,与 GPT-4 判断一致。 - NLP benchmark(Table 3):\(M_1\to M_3\) 大体维持基座水平(略有波动/下降)——因为训练数据(Open Assistant 系)与这些 benchmark 技能相关性低,属于 InstructGPT 所说的"alignment tax(对齐税)"现象,符合预期。 - 一个需要警惕的现象:\(M_1/M_2/M_3\) 生成的平均长度是 1092 / 1552 / 2552——模型在学着写更长的回答,而"长度"与"被判为高质量"存在已知相关性,这可能是相对性能提升的一个混淆因素(作者在 Limitations 里承认需深究是否有 length/reward hacking)。
4.3 奖励建模:judge 自己也越训越准(本文最独特的结果)
![Figure 4 已在上文;此处为 Table 4 数据表]
Table 4——奖励建模能力随自训练提升(与 held-out 人类偏好的一致性):
| 指标 | SFT baseline (IFT) | \(M_1\) (IFT+EFT) | \(M_2\) (+AIFT(\(M_1\))) | \(M_3\) (+AIFT(\(M_2\))) |
|---|---|---|---|---|
| Pairwise 准确率 ↑ | 65.1% | 78.7% | 80.4% | 81.7% |
| 5分命中率 ↑ | 39.6% | 41.5% | 44.3% | 43.2% |
| Exact Match ↑ | 10.1% | 13.1% | 14.3% | 14.3% |
| Spearman 相关 ↑ | 0.253 | 0.279 | 0.331 | 0.349 |
| Kendall τ ↑ | 0.233 | 0.253 | 0.315 | 0.324 |
两个层层递进的发现:
- EFT 增广 > 只用 IFT:加了"教模型怎么打分"的 EFT 数据,pairwise 准确率从 65.1% → 78.7%。IFT 本身也让模型有一定评判力(65.1%),但 EFT 给了这个特定任务更多示例。
- 奖励建模能力随自训练继续涨:\(M_1\)(78.7%) → \(M_2\)(80.4%) → \(M_3\)(81.7%)——而 \(M_2/M_3\) 训练时根本没喂额外 EFT 数据,自指令创建产出的样本也不长得像 judge 训练样本。作者的解释就是 §1 那条"任务迁移"红利:通用指令遵循变强 → LLM-as-a-Judge(本质是指令遵循任务)顺带变强。
[!IMPORTANT] 这张表是全文最不可替代的证据。RLHF/RLAIF 里奖励模型冻结,不可能出现"奖励能力逐代上升"。这里 judge 能力自己往上走,意味着下一轮能造出比上一轮更好的偏好数据——这就是"良性循环 / 抬高自我改进天花板"的字面兑现。它也是本文标题 "Self-Rewarding" 的落脚点:不只是"自己给自己打分",而是"自己越来越会给自己打分"。
5 结论与局限
结论:Self-Rewarding LM 通过"评判自己的生成 + 在自己的偏好上训练"实现自我对齐,迭代进行。每轮用 LLM-as-a-Judge 给自己的生成打奖励、用 Iterative DPO 训偏好。实验证明训练同时提升了指令遵循与奖励建模能力——形成良性循环。虽然现实中这种提升很可能会饱和,但它打开了"持续改进、超越用于构建今日奖励模型的人类偏好"的可能性。
局限(作者自陈,值得逐条记住):
| 局限 | 说明 |
|---|---|
| 只跑了 3 轮、单一设定 | 没探索更多迭代/不同模型下的"scaling laws";饱和点未知。 |
| length 混淆 / reward hacking 隐患 | 生成越来越长,而长度与"高质量"相关;是否在框架内发生 reward hacking 尚未分析。 |
| 评估模型与训练奖励都是 LLM | 训练用 LLM 打奖励、评测也用 LLM(GPT-4),即便是不同模型,仍需更深入分析潜在偏置。 |
| 未做安全评估 | 没有 safety evaluation;但作者指出可用 LLM-as-a-Judge 专门评估安全,且因奖励能力会涨,安全性也可能随迭代改善。 |
| 推理类任务收益小 | 数学/逻辑几乎不涨,主因种子数据缺推理;需扩展到更多样的种子 prompt。 |
个人思考
与本项目其他论文的关联(放进 harness 演化的坐标系)
- 对 [[ref06_spin-self-play-finetuning]](最该并读):两篇是"同框架、不同奖励信号"的镜像。SPIN 把人类答案当 winner、自生成当 loser,天花板锁死在人类答案;Self-Rewarding 用模型自评分造偏好对,天花板取决于"自评能力"(而自评能力自己也在涨)。判断:SPIN 更简单、更稳(有人类答案兜底),但不能超人;Self-Rewarding 更有"起飞"潜力,代价是自评噪声与 reward hacking 风险。二者可合流——用人类答案锚定 winner、用自评在人类答案之上再排序候选。
- 对 [[ref04_absolute-zero]]:Absolute Zero 把"自我改进无需人类数据"推到更极端(连任务都自己出)。Self-Rewarding 是这条谱系里更早、更温和的一环:仍需少量人类种子(3200 IFT + EFT),只把奖励信号内化。可作为"从有人类监督 → 完全自监督"这条光谱上的一个中间刻度来讲。
- 对 [[ref14_self-refine]]:两者都用"模型评价自己的输出",但用途完全不同:Self-Refine 在推理时用自反馈当场精修同一个回答(不改权重);Self-Rewarding 把自评沉淀成偏好数据、改权重。一个是 test-time 的 harness,一个是 training-time 的信号。这正好对应"自我改进"的两条正交轴:改上下文/流程(不动权重)vs 改权重。
- 对 [[ref19_gepa]]:GEPA 用反思式文字反馈优化 prompt/harness;Self-Rewarding 用标量自评分优化权重。共同点是"把模型自己的判断当优化信号";差别是反馈形态(文字 vs 标量)和优化对象(prompt vs 权重)。GEPA 那套"别压缩反馈、保留反思细节"的主张,其实能改进本文的 judge——把 Figure 2 的"只给一个 0–5 分"升级成"结构化反思 + 分数",可能造出更有信息量的偏好对。
- 对 [[ref17_self-harness]] / [[ref09_meta-harness]]:那两篇改的是执行 harness(工具、prompt、恢复流程),本文改的是权重;但评估机制(LLM-as-a-Judge)本身就是一段可优化的 harness。§3.3 的"加性 vs 多选打分差 2.4 倍"就是明证——同一个模型,评估提示词的结构不同,奖励质量天差地别。这把本文和 harness 视角接上了:Self-Rewarding 可以看作"用一个固定结构的评估 harness 去驱动权重自改进",而 Self-Harness/Meta-Harness 则是"去优化那个评估 harness 本身"。二者叠起来就是"共演化评估 harness 与模型权重"——这也正是 Meta-Harness 结尾点名的未来方向。
方法论启示(可迁移的通用思路)
- 把"评估者"和"被评估者"合并,让评估能力搭生成能力的便车。这是本文最反直觉、也最可迁移的一招:只要两个能力共享参数且任务相关,提升一个会外溢到另一个。做任何"自评估驱动的自改进"时,都该问一句——能不能让 judge 就是被优化的那个模型?
- 评估信号要"相对"不要"绝对":附录 A.4(只加正例做 SFT 无效、必须做偏好对 DPO)是一条硬教训。"这是好答案"信息量远小于"这个比那个好"。任何自动化改进流程,优先构造对比/偏好信号。
- 评估提示词的"分解结构"是高杠杆可优化面:加性 5 分(拆成子判断逐条累加)比多选桶式好 2.4 倍。凡是用 LLM-as-a-Judge 的地方,把评估拆成可独立打分的小项几乎总是更稳。
- 种子数据的构成 = 自我改进的能力边界:数学不涨,是因为种子里就没多少推理任务。自训练放大已有能力多于创造新能力——想覆盖某能力,得先在种子里给够。
在我的工作中能怎么用
- 我们这个
pdf-paper-readerskill 里如果要做"笔记质量自评",本文给了两条直接可用的经验:① 用加性拆项的打分提示(如"结构完整+1 / 公式讲透+1 / 图逐元素解读+1 / 双链准确+1 / 深度四项齐全+1")而非笼统评分;② 要改进就构造偏好对(好笔记 vs 差笔记)而非只喂范例。 - "judge = 被优化对象"这条,对自动化 skill 迭代很有启发:与其请一个更强的外部模型评我们的笔记,不如让同一套 skill 既生成笔记又按 rubric 自评,用自评差异定位薄弱环节。
- 若要真复现自我改进闭环,本文比 RLHF 便宜很多(离线 iterative DPO,无需 PPO/在线奖励模型);但对我们这种"生成型 harness"任务,更实际的是借用它的评估 rubric 设计思想,而非照搬 DPO 训练。
开放问题 / 疑问
- 饱和点在哪、为什么? 只跑 3 轮,\(M_3\) vs \(M_2\) 已见平局增多。是自评能力见顶、还是偏好对多样性枯竭、还是 DPO 过拟合?论文未拆解。
- length 是不是主要驱动力? 1092→1552→2552 的增长很可疑。如果控制住长度,逐代胜率还剩多少?这直接关系到"改进是真变好还是学会讨好 judge"。
- 自评的"盲区"会不会被放大? 模型对自己不擅长的领域(如数学)打分也不准,那自训练会不会在这些领域强化错误偏好?(Figure 4 数学不涨,可能正是自评在该域失灵的信号。)
- 超人反馈的真实性:作者主张"能超越人类偏好",但证据是"AlpacaEval 胜率超 Claude 2",而 AlpacaEval 本身用 GPT-4 评判、且偏好长回答。"超人"这个claim需要更中立的评估协议来支撑。
局限性(我的补充判断)
- 单模型、单基座、单数据源:全部结论建立在 Llama 2 70B + Open Assistant 上,换更小模型 / 更强基座 / 更广数据,"良性循环"是否仍成立、饱和更早还是更晚,完全未知(作者也列为 scaling laws 未来工作)。
- 评估闭环风险:训练奖励是 LLM、评测也是 LLM,容易形成"自我强化的评估偏好"(都偏好长、都偏好某种文风),真实用户价值与 benchmark 胜率之间可能脱节。
- 安全完全没测:一个会自己给自己造训练信号的系统,如果自评在安全维度有盲区,迭代可能放大不安全行为——这在本文框架里是空白(作者承认)。