首页 / 资讯中心 / 文章详情

Reward 涨了别急着高兴:后训练指标与一条能跑通的入门路线

Reward 涨了别急着高兴:后训练指标与一条能跑通的入门路线 ★ FEATURED ARTICLE
大模型训练指标系列第二期。第一期讲预训练的交叉熵损失这一期讲后训练和怎么入门。没看过第一期也能读必要的背景开头会补。先把结论摆出来后训练训练时盯的 reward、win rate、pass1 全是代理量不是真值。代理层数越多指标越容易集体说谎所以reward 单调上涨是最危险的绿灯不是好消息。预训练舒服是因为语料里下一个 token 就是标准答案损失函数和真实分布之间只隔一次 KL 分解。后训练没这个待遇。回答得好不好没人能给标准答案只能一层层造打分器。把整条链画出来真实效用用户把活干成了没有 ↑ 代理人工盲评、A/B、线上留存 外部评测win rate、benchmark 准确率 ↑ 代理裁判模型、规则验证器、固定题库 训练目标reward、SFT loss ↑ 代理奖励模型、人工示范、偏好标注 优化器梯度、参数更新把两期的指标按层摆在同一个表里能看出后训练为什么麻烦它的每一层都比预训练那一层离真值远一截。层次预训练第一期后训练本期这个数在替谁回答优化器直接看交叉熵 loss、梯度范数SFT loss、reward、KL、entropy、clip fraction参数这一步该往哪走换算后可比较PPL、bits-per-byteBPB、验证集 lossDPO 隐式 reward 的判对率与分数差、pass1同一个模型前后有没有变好外部代理评测few-shot 任务准确率MMLU、HellaSwag、ARCwin rate、LC-WR、Arena Elo、IFEval指令遵循、AIME、LiveCodeBench人到底觉得好不好用工程效率tokens/s、MFU、loss spike 次数显存占用、采样rollout吞吐、组内全对或全错的题占比这轮训练能不能活着跑完误差沿着链条往上累积每一层都只能看见下一层愿意给它看的东西。理解这一点很多玄学调参就变成了常识reward 涨了别急着高兴先问代理和真值之间还差几层新指标来了先问它替谁做决定、在什么分布上被校准过。说实话很多团队的评测面板本质是给老板看的一张安慰剂。先把黑话拆开后训练的缩写比预训练多集中解释一次。缩写全称与物理含义单位SFT监督微调拿人工写好的问答对做模仿学习阶段名RLHF基于人类反馈的强化学习阶段名RM奖励模型用人类偏好数据训练出来的打分器输出一个标量分数无量纲分数KLKL 散度两个概率分布之间的信息量差距这里指策略偏离参考模型的程度nat 或 bitDPO / GRPO / PPO直接偏好优化 / 组相对策略优化 / 近端策略优化三种把偏好或奖励转成梯度的方法算法名RLVR可验证奖励强化学习奖励由规则或程序判定不靠人阶段名passk同一题采样 k 次至少一次做对的概率概率LC-WR长度控制胜率用回归模型扣掉回答长度对自动裁判判定的影响百分比win rate两两对比里被判为更优的比例百分比Arena Elo人类两两投票换算出的等级分无量纲分数SFT 的 loss 最诚实也最没用SFT 的 loss 跟预训练同形式只是把 prompt 部分的 token 掩掉只对回答部分算交叉熵。它诚实因为真值明确人工写的回答就摆在那它没用因为模仿得像和用户满意之间隔着一整个产品。Marin 8B 的记录里SFT 之后 MMLU 相对基座掉点做法不是加正则项是往 SFT batch 里直接掺一部分预训练数据掺真数据。OLMo 2 也报过同样的现象。我一般会在自己的 MMLU 子集上做 SFT 前后对比掉超过 3 到 5 个点就回头查数据配比。这个红线是我自己定的工程经验不是论文结论但比感觉模型变笨了好用。SFT 阶段另外只看两个数验证 loss 有没有过拟合通常 2 到 3 个 epoch 后就该停以及回答长度分布有没有被数据带偏。别的交给后面的评测。RLHF 的核心不是 reward是 KL带 KL 约束的目标写成max⁡πθ Ey∼πθ[rϕ(x,y)]−β DKL(πθ∥πref)\max_{\pi_\theta}\ \mathbb{E}_{y\sim\pi_\theta}\big[r_\phi(x,y)\big] - \beta\, D_{\mathrm{KL}}(\pi_\theta \| \pi_{\mathrm{ref}})πθ​max​Ey∼πθ​​[rϕ​(x,y)]−βDKL​(πθ​∥πref​)rϕr_\phirϕ​是奖励模型给的标量分数πref\pi_{\mathrm{ref}}πref​一般是 SFT 模型β\betaβ是约束强度DKLD_{\mathrm{KL}}DKL​单位 nat衡量当前策略偏离参考策略多少。为什么非要这一项奖励模型只在参考策略附近的样本上被训练过出了这个分布它给的分数没有依据。KL 不是给 loss 加的装饰项是把策略圈在打分器还认识的地盘里。去掉它优化器会很快找到奖励模型的盲区。跑 PPO / GRPO 时六个标量比 loss 有用得多mean reward平均奖励、reward 标准差、approx KL采样估计的策略与参考模型 KLnat、clip fractionPPO 裁剪被触发的更新比例、entropy输出熵nat 或 bit、grad norm梯度范数。经验上 KL 冲到十几就开始出怪话clip fraction 长期超过 0.3 多半是学习率太大entropy 一路往下掉是输出多样性塌了。这些阈值是工程经验不是论文定理别当圣旨而且 approx KL 的口径各框架不完全一样别拿 A 框架的数值去卡 B 框架。它们真正的价值是在人评之前几小时给出预警。Reward 一直涨是最危险的绿灯Gao、Schulman、Hilton 2022 年那篇arXiv:2210.10760把这件事量化了。他们用一个固定的金标准奖励模型扮演人类训练一个代理奖励模型然后看优化代理时金标准分数怎么变。定义dDKL(π∥πinit)d\sqrt{D_{\mathrm{KL}}(\pi\|\pi_{\mathrm{init}})}dDKL​(π∥πinit​)​拟合出的形式是Rbon(d)d(αbon−βbond)R_{\mathrm{bon}}(d) d(\alpha_{\mathrm{bon}} - \beta_{\mathrm{bon}} d)Rbon​(d)d(αbon​−βbon​d)RRL(d)d(αRL−βRLlog⁡d)R_{\mathrm{RL}}(d) d(\alpha_{\mathrm{RL}} - \beta_{\mathrm{RL}}\log d)RRL​(d)d(αRL​−βRL​logd)前者是 best-of-n 采样后者是强化学习。α\alphaα是优化初期真实收益的斜率β\betaβ是代理与真值脱钩的速度ddd是策略偏离初始策略的幅度等于 KL 散度开平方所以无量纲DKLD_{\mathrm{KL}}DKL​自己是有单位的自然对数下是 nat。两个式子都先升后降求个导就能看出峰值位置best-of-n 在d∗α/(2β)d^*\alpha/(2\beta)d∗α/(2β)RL 在d∗eα/β−1d^*e^{\alpha/\beta-1}d∗eα/β−1。拿一组纯示意系数建立量感αβ1\alpha\beta1αβ1不是论文原始拟合值best-of-n 在d0.5d0.5d0.5达到峰值 0.25d1d1d1时归零d2d2d2时掉到−2-2−2RL 在d1d1d1达到峰值 1d2d2d2时还剩 0.61d4d4d4时变成−1.55-1.55−1.55。惩罚项一个是d2d^2d2一个是dlog⁡dd\log ddlogd同一份 KL 预算下best-of-n 塌得明显更快。过了峰ddd每翻一倍真实质量的损失按二次或超线性放大而代理 reward 仍在单调上升。这条线最会骗人。所以reward 进入平台期就停这条经验规则会停得太晚代理分数脱钩的时候它还在涨。真正该盯的是留出集上的人评或者独立裁判的胜率并且在 KL 上扫一遍画一条KL 预算曲线而不是盯着一条漂亮的上升线自我感动。胜率也会骗人尤其是长度把两段质量相当的回答摆给自动裁判长一点的那段通常赢。AlpacaEval 早期最出名的坑就是这个。AlpacaEval 2.0 用 805 条指令做两两对比再用一个广义线性模型把长度差回归掉得到长度控制胜率 LC-WR这一改与 Chatbot Arena 人类排名的 Spearman 相关从 0.94 升到 0.98。听起来问题解决了其实没有。研究者做过对抗实验输出一堆没有实质内容、但排版讨喜标题、编号列表、加粗的空模型一样能拿到非零胜率。裁判还有自偏好用 GPT-4 系列当裁判天然偏向用 GPT-4 输出蒸馏过的模型。我自己的规矩是任何 win rate 都必须配上长度分布、固定 prompt 模板、固定采样参数、以及至少一次人工盲评否则不看。评测里最容易造假的五个变量恰好也是最容易被忘掉的prompt 模板、temperature 与采样次数、token 预算、答案抽取正则、数据污染。同一模型换个抽取正则分数能差出一截跨论文比绝对分数基本没有意义。RLVR终于有真值了但真值可能只覆盖一半数学、代码、结构化抽取这类任务有确定性检查器可以绕开奖励模型直接用 GRPO 优化规则奖励。组内优势按Airi−μGσGA_i \frac{r_i - \mu_G}{\sigma_G}Ai​σG​ri​−μG​​算GGG是同一 prompt 采样的回答数μG\mu_GμG​、σG\sigma_GσG​是组内均值与标准差把绝对分数换成比同组同伴好多少。DeepSeek-R1-ZeroarXiv:2501.12948用纯规则奖励把 AIME美国数学邀请赛2024 的 pass1 从 15.6% 提到 71.0%多数投票下到 86.7%这个数到今天还是 RLVR 最硬的招牌。但两个坑得记牢。一个是全同组。8 个采样里全对或全错σG0\sigma_G0σG​0优势全为 0这条题一点梯度都不产生。题目难度要卡在通过率 1/8 到 7/8 之间不然加大训练步数只是烧卡。另一个是验证器覆盖不全。有个发票抽取的算例很说明问题8 个采样完整校验下 3 个通过μ0.375\mu0.375μ0.375、σ0.484\sigma0.484σ0.484通过样本优势1.291.291.29、失败样本−0.77-0.77−0.77如果偷懒只查 JSON schema6 个通过μ\muμ直接翻倍到 0.75那个把税额算掉的样本就被当成正确答案奖励了。格式奖励、长度惩罚、单元测试覆盖率本质上都是在补验证器的洞。还有个更不舒服的结论。Yue 等那篇《Does Reinforcement Learning Really Incentivize Reasoning Capacity in LLMs Beyond the Base Model?》arXiv:2504.13837NeurIPS 2025 最佳论文亚军把kkk一路放大发现 RLVR 模型在 pass1 上明显更高kkk一到几十上百基座模型普遍追平甚至反超跨模型家族、跨数学与代码基准基本没有例外。他们的覆盖度与困惑度分析给出解释RLVR 采出来的推理路径本来就在基座的采样分布里训练做的是把概率质量往能拿奖励的路径上搬。伴随这个过程pass1 往上走的同时 pass256 的覆盖度在往下掉。同一篇还顺手比了六个主流 RLVR 算法结论是彼此表现差不多离用尽基座潜力都还远而蒸馏能从教师那里引入基座没有的推理模式那才是真的扩张。我倾向接受这个读法RLVR 主要在压缩搜索不是扩张能力。它当然还有争论空间但至少说明一件事只报 pass1等于只看模型的第一次手气。pass1 和 passk 一起画配合 entropy 和截断率才能分辨变准了和变胆小了。2026 年的榜单在考什么以 OpenCompass 学术榜当前的维度为例一套评测已经铺成 IFEval指令遵循、MMLU-Pro知识、GPQA-Diamond博士级科学问答、HLE人类最后考试极难题集、AIME 2025数学竞赛、LiveCodeBench滚动更新的代码题这样的组合。没有一个分数能单独代表模型好坏它们的意义是互相制约推理涨了而 IFEval 掉了多半是回答变长、格式变野数学涨了而校准变差模型会更自信地胡说。后训练回归测试必须把基座会的东西也测一遍否则你只会看到想看的那个数。怎么入门一条能跑通的五步路线我不建议从十篇必读论文开始。指标是训练日志里的数不亲手把日志跑出来看十遍也记不住它什么时候会撒谎。下面按能观察到什么排不按知识结构排。前两步在第一期已经跑过忘了就重来一遍。阶段动手做什么主要盯的指标算过关的标准工具跑通一个最小 GPTnanoGPT 在莎士比亚或 OpenWebText 子集上训一个小 Transformertrain/val loss、grad norm、tokens/s、MFU能画出平滑下降的验证曲线能自己算出 MFU换一次分词器验证 PPL 变了而 BPB 没变nanoGPT / nanochat、Weights BiasesWB学会评测基座跑一遍 HellaSwag、ARC、MMLU 子集的 few-shotcentered accuracy、判分方式、滑动窗口步长能说清五个变量prompt 模板、采样参数、答案抽取、上下文长度、污染检查lm-evaluation-harness、OpenCompassSFT 加 DPO在小模型上做指令微调再跑一轮偏好优化SFT loss、DPO 隐式 reward 的判对率与分数差、KL、回答长度、LC-WR能复现SFT 后基础能力掉点、掺回预训练数据能补能解释长度偏置对胜率的影响TRL、LLaMA-Factory、AlpacaEval跑一次 RLVR用规则验证器数学精确匹配或单元测试跑 GRPOpass1 与 passk 同时画、entropy、组内全对/全错题占比、格式违规率、截断率能识别训练 reward 涨但隐藏测试不涨并定位到验证器漏洞verl、OpenRLHF建自己的回归集从真实业务流量抽题人工 A/B多种子报方差私有集准确率、人评胜率、方差公开榜单上任何一次上涨都能在自己的集合上解释原因自建脚本 表格就行最小监控面板长这样够用了别一上来堆二十个图类别指标报警信号健康平滑 loss、grad norm、loss spike 次数梯度范数连续抬升、loss 突然跳且回不来效率tokens/s、MFUMFU 长期低于同硬件公开值的一半优化mean reward、reward std、approx KL、clip fraction、entropyKL 陡升、entropy 塌到接近 0、组内优势全 0 的题占比过高可信度留出集人评胜率、长度分布、隐藏集 pass1 与 passk训练 reward 涨两个检查点而隐藏集不动回归MMLU-Pro / IFEval / 代码或数学子集某一项涨、其余掉且说不清原因几个容易踩的、跟指标无关但会毁掉指标的事评测脚本和训练脚本用同一个随机种子验证集混进了训练语料的近似改写为了跑分把 temperature 调到 0 却在报告里不写看到一次上涨就发版本不报多种子方差。这些都不是算法问题是实验纪律问题但它们造成的假信号比算法问题多得多。入门阶段最值得养成的习惯其实就一条看到一个漂亮的数先去翻它是怎么算出来的。分母是谁归一化用了什么单位测试集从哪来谁给它打的标签。这几个问题能挡掉八成的误判。指标不会替你负责。参考与工具Ouyang et al.,Training language models to follow instructions with human feedbackInstructGPT, 2022https://arxiv.org/abs/2203.02155Gao, Schulman, Hilton,Scaling Laws for Reward Model Overoptimization, 2022https://arxiv.org/abs/2210.10760Rafailov et al.,Direct Preference Optimization, 2023https://arxiv.org/abs/2305.18290Schulman et al.,Proximal Policy Optimization AlgorithmsPPO, 2017https://arxiv.org/abs/1707.06347Shao et al.,DeepSeekMathGRPO, 2024https://arxiv.org/abs/2402.03300DeepSeek-AI,DeepSeek-R1, 2025https://arxiv.org/abs/2501.12948Yue et al.,Does Reinforcement Learning Really Incentivize Reasoning Capacity in LLMs Beyond the Base Model?, NeurIPS 2025最佳论文亚军https://arxiv.org/abs/2504.13837 、https://github.com/LeapLabTHU/limit-of-RLVRAlpacaEval 2.0 项目页LC-WR、805 条指令https://tatsu-lab.github.io/alpaca_eval/OpenCompass 榜单与框架https://rank.opencompass.org.cn/ 、https://github.com/open-compass/opencompass训练与评测工具https://github.com/huggingface/trl 、https://github.com/hiyouga/LLaMA-Factory 、https://github.com/volcengine/verl 、https://github.com/OpenRLHF/OpenRLHF 、https://github.com/EleutherAI/lm-evaluation-harness
阅读完成 · 觉得有帮助?
咨询建站