强化学习效果怎样判断:采样收益、奖励漏洞与独立泛化

成长演进

具备清晰骨架、初步数学推导或工程验证,持续补充论据与实测。

ℹ数字花园

🌿 什么是数字花园与思想演进?

遵循 Maggie Appleton 与 Andy Matuschak 的常青笔记理念:这里不是按时间沉底的流水账,而是持续修剪打磨的知识生态。文章按成熟度经历:

  • 🌱 萌芽 (Seedling): 发散灵感、读书摘录、开放猜想
  • 🌿 演进 (Budding): 结构渐明、初步代码推导、积极修正
  • 🌳 常青 (Evergreen): 逻辑闭环、持久经得起检验的基石
  • 🔬 实验待证 (Speculative): 结合沙盒与仿真探针的理论探索
浏览全站数字花园与笔记全景 →

训练奖励从 0.4 升到 0.8,模型回答更长了,多次生成后也更容易找到正确答案。能否写下“强化学习显著增强了推理能力”?

还不能。奖励可能漏掉任务要求,测试可能多用了采样预算,改动也可能只改善了格式。需要把这些可能性拆开,结论才有明确含义。

本篇继续使用求最小整数 n 的教学任务,把本卷的问题建模、检查器、策略梯度、PPO和GRPO连接到实验判断。以下表格与数字全部是构造的教学记录,不是已完成的模型实验。

先把要回答的问题写成一句话#

“强化学习有没有用”太宽。更可检验的问题是:在固定测试题、相同单次生成设置下,某次参数更新是否提高了完整任务成功率,又增加了多少训练成本?

这里至少固定模型起点、题目划分、模板、检查器版本、采样设置、最大生成长度和评价口径。若同时换模型、增加测试提示、放宽解析规则,最终收益属于整个系统改动,不能单独归因于算法。

如果关心最终应用,还应增加“相同推理预算下最终交付答案是否更好”。这是另一个重要问题,但它不能替代参数更新本身的对照。

四种设置,分开训练和采样#

先比较下面四种配置,不急着填入胜负结论:

配置参数是否更新每题生成次数回答怎样交付
A否1直接交付
B否4用固定选择器选一份
C是1直接交付
D是4使用与 B 相同的选择器

A 与 C 更接近参数改动的单次对照;A 与 B 体现额外采样和选择的效果;B 与 D 检查相同多次采样设定下更新是否仍有收益。

四次生成并不天然等于四倍相同成本,因为回答长度、早停和选择器计算也会变化。还要报告实际 token、延迟及选择成本。若训练后回答变长,只固定生成次数不足以声称成本相同。

对本任务,我们能用准确检查器挑出通过项。但开放问题的选择器未必知道哪份正确,因此要区分“候选中有正确答案”和“最终选中正确答案”。

pass@k 测的是候选覆盖#

设同一道题独立生成 N 份回答,其中 C 份通过检查。希望估计每次抽 k 份时至少有一份通过的概率,一种标准估计为:

pass@k^=1−(N−Ck)(Nk).\widehat{pass@k} =1-\frac{\binom{N-C}{k}}{\binom{N}{k}}.

这里要求 N≥k;当失败样本数 N−C<k 时,分子按零处理。它可以理解为从观测到的 N 份回答中无放回抽 k 份,排除“全部失败”的组合。

例如 N=10、C=2、k=4,得到:

1−(84)(104)=23.1-\frac{\binom{8}{4}}{\binom{10}{4}} =\frac{2}{3}.

第一篇在已知真实单次成功概率 p=0.2 时,算过独立四次成功覆盖率 1−0.8⁴=0.5904。这里用有限观测 C/N 估计未知概率,是另一个统计问题;不能把经验值 0.2 直接当成已知真实 p。代入法与组合估计不必相等。

Codex 论文的方法与附录给出了该估计及其无偏性条件,也指出直接把经验 pass@1 代入幂式会产生偏差。无偏是重复采样意义下的性质,不表示这一批的 2/3 就是题目的真实概率。Evaluating Large Language Models Trained on Code,第 2.1 节与附录 A

每题先计算,再按题目平均。不要把所有题的候选混成一个大池,因为题目难度不同;也不要把一组正确候选的存在写成选择器一定能交付它。

单次提高了,还要看修复和退化#

构造 100 道题的一次配对评测:

结果题数
更新前后都正确50
更新前错、更新后对20
更新前对、更新后错10
更新前后都错误20

更新前正确 60 道,更新后正确 70 道。净提高 10 个百分点,但同时发生了 10 道退化;不能只展示新增的 20 道成功。

进一步查看退化题是否集中在长输入、边界条件或某种输出形式。若目标应用特别重视这些条件,整体提高也可能不满足交付要求。

对于随机采样,单次配对仍有解码随机性。重复解码与重复训练种子解决不同问题:前者估计某个检查点的输出波动,后者检查训练过程本身是否稳定。不能用一个训练种子生成很多回答,代替多次训练的证据。

同题多份回答和同模板变体具有相关性。估计不确定性时应按独立题目或来源组处理,不能把所有 token 或重复候选当成独立实验。正式报告还应保留样本数、差值区间和分组方式,而不是只写一个百分数。

奖励上涨时,先检查它奖励了什么#

假设一个有漏洞的检查器只检查 3n+a≥b,不检查最小值。训练可能越来越偏向巨大整数。于是旧检查器通过率上升,而完整正确率下降。

这不是优化器没做好自己的工作,而是优化目标没完整表达任务。应保留漏洞触发样本、修复检查器、回看旧检查点,并在独立测试上重新比较;不能只换一个名字继续沿用原分数。

奖励模型也可能被过度优化。相关研究在合成设置中使用一个固定的“金标准”模型与一个代理模型,观察优化代理时两者分数如何分离。这里的金标准仍是研究设置中的模型,不是真实人类正确性的万能替代。Scaling Laws for Reward Model Overoptimization

因此,独立评价需要增加不同证据,而非把同一个评分模型调用两遍。对整数任务可以采用独立公式、枚举和保留边界题;对开放任务则要明确人工规则、评审偏差及仍无法验证的部分。

熵下降不是成功或失败的判决#

熵描述概率分布有多分散。对有限候选分布 p,可以写成:

H(p)=−∑ipilog⁡pi.H(p)=-\sum_i p_i\log p_i.

若起点为 (0.25,0.25,0.25,0.25),熵为 log 4,约 1.3863。变为 (0.7,0.1,0.1,0.1) 后,熵约 0.9404。

如果第一项是正确答案,这种集中可能有益;如果第一项是检查器漏检的错误答案,同样的熵下降就可能伴随失败。只看熵无法知道概率集中到了哪里。

真实日志通常测逐 token 熵,并且是在采到的前缀上平均,不等同于这里整段候选的熵。词表、前缀分布、长度、mask 和温度变化,都会影响比较。应该结合错误样本和独立成功率解释,而不是规定一个脱离上下文的“健康熵值”。

泛化要指出跨过了哪条边界#

对最小整数任务,随机划分后的新题与更大数值范围是不同测试;换一种措辞、增加干扰材料、改变字段顺序,又是其他变化。

可以分别准备三类保留测试:同范围新数值、超过训练范围的数值、保持数学规则不变的提示变体。每类报告格式与数值正确性,不把它们压成一个“泛化分”。

若连题目规则也改了,比如从 3n+a≥b 改成非线性约束,那已经超出原任务。它可以作为迁移测试,但要明确,不应因为失败就直接否定在原任务上的有效改善。

此外,某些输入会让总是输出零的策略很强。按 b≤a、差值整除和非整除等类别切分,才能识别题目分布造成的捷径。测试集不能因为模型答错就删题;基础设施无效记录则需另列原因,保持分母透明。

成本与停止规则要提前约定#

训练成本包括生成、评分、策略更新、可能的价值模型或参考模型计算,以及数据筛选和重试。只报告反向传播耗时,会漏掉在线训练的大量工作。

推理成本则包括每题候选数、实际生成 token、选择器开销和等待时间。最小值任务本来有直接求解器,因此它适合解释研究机制,不构成用大模型替代简单程序的商业理由。

预先约定何时停止一轮对照:例如独立验证不再改善、计算预算到达上限,或观察到非有限梯度、异常截断和奖励错误。出现异常先保存日志与失败样本,不用反复改配置后只保留最好的一次。

检查点选择使用验证集,最终测试用于冻结后的评价。若看完测试又据此修改训练,就应把它视为开发信息,并为最终结论保留新的独立证据。

一份结论应该怎样落笔#

如果只完成了本卷的标准库算例,可以写“验证了四候选梯度、奖励检查逻辑及归一化公式”,不能写“复现了 PPO 或 GRPO 的模型收益”。

如果将来运行了正式对照,应写清:起始模型和版本、数据划分、反馈规则、训练与采样预算、检查点选择方式、单次和多次生成结果、修复与退化,以及尚未验证的范围。报告一项可靠的局部收益,比宣布笼统的推理提升更有用。

本卷实际完成的是方法解释、可运行教学检查和实验设计。没有执行 PPO/GRPO 模型训练。贯穿任务让我们能检查计算,但还不能回答真实模型在哪些规模和数据分布下会稳定受益。

第一道自检题:为什么更新前一次生成与更新后八次生成的比较,不能独立证明参数学习有效?你会补哪两个对照?

第二道自检题:训练奖励提高、熵降低、独立正确率下降时,哪些证据能区分奖励漏洞、分布偏移和优化不稳定?不要只给一个新超参数。

第五卷到这里完成从任务、反馈、梯度到算法和评价的主线。下一卷转向工具调用与多步交互:当模型的动作会改变外部状态时,轨迹记录、失败恢复和任务成功的定义都需要继续细化。

文章概念网络

从章节进入正文概念。实线表示所属层级,虚线连接跨章节重复出现的概念,不代表因果关系。

49 / 49 个节点 · 正文标记术语与关键词概念

强化学习效果怎样判断:采样收益、奖励漏洞与独立泛化同一概念 / Shared concept同一概念 / Shared concept同一概念 / Shared concept同一概念 / Shared concept同一概念 / Shared concept同一概念 / Shared concept同一概念 / Shared concept同一概念 / Shared concept同一概念 / Shared concept同一概念 / Shared concept同一概念 / Shared concept同一概念 / Shared concept同一概念 / Shared concept同一概念 / Shared concept同一概念 / Shared concept同一概念 / Shared concept同一概念 / Shared concept同一概念 / Shared concept同一概念 / Shared concept强化学习效果怎样判断:采样收益、奖励漏洞与独立泛化强化学习效果怎样判断:采样收益、奖励漏洞与独立泛化问题建模问题建模检查器检查器策略梯度策略梯度PPOPPOGRPOGRPO先把要回答的问题写成一句话先把要回答的问题写成一句话四种设置,分开训练和采样四种设置,分开训练和采样pass@k 测的是候选覆盖pass@k 测的是候选覆盖单次提高了,还要看修复和退化单次提高了,还要看修复和退化奖励上涨时,先检查它奖励了什么奖励上涨时,先检查它奖励了什么熵下降不是成功或失败的判决熵下降不是成功或失败的判决泛化要指出跨过了哪条边界泛化要指出跨过了哪条边界成本与停止规则要提前约定成本与停止规则要提前约定一份结论应该怎样落笔一份结论应该怎样落笔奖励奖励实验实验强化学习强化学习采样采样推理推理强化学习强化学习采样采样推理推理选择选择采样采样tokentoken采样采样选择选择tokentoken采样采样实验实验优化优化rewardreward奖励奖励tokentoken测试集测试集策略策略选择选择tokentoken验证集验证集奖励奖励策略策略推理推理奖励奖励GRPOGRPOPPOPPO反馈反馈工具调用工具调用归一化归一化
强化学习效果怎样判断:采样收益、奖励漏洞与独立泛化

强化学习效果怎样判断:采样收益、奖励漏洞与独立泛化

回到原文 ↗
BIBTEX

引用本文

@article{2026-10-23-llm-training-rl-06-evaluation,
  author  = {枫语},
  title   = {强化学习效果怎样判断:采样收益、奖励漏洞与独立泛化},
  journal = {枫语},
  year    = {2026},
  month   = {oct},
  url     = {https://meiluosi.github.io/posts/2026-10-23-llm-training-rl-06-evaluation/}
}
🌐

本篇知识星丛与滑动侧栈

强化学习效果怎样判断:采样收益、奖励漏洞与独立泛化 当前主轴

搜索

正在载入索引…