RL 训练中该看哪些指标:从 entropy 到 faithfulness 的尺度梳理

做 RL post-training 时最容易犯的错误,是把"loss 降了、reward 涨了"当成训练 healthy 的充分证据。这两个指标确实是必要条件,但远远不够。Reward 能在 policy 已经 mode collapse 的情况下继续涨,loss 能在 reasoning 已经 spurious 的情况下继续降。真正的训练诊断需要在多个尺度上同时观察。

这篇梳理 RL 训练中值得监控的指标,按它们所处的观察尺度组织,并指出每个指标实际能告诉观察者什么、不能告诉什么。

一、先建立一个尺度坐标

所有 RL 相关指标可以放进一个三维坐标:在什么里面算 × 跨什么维度波动 × 衡量什么对象。

坐标轴取值
算的范围单 token / 单 rollout / 同 prompt 的 group / 整个 batch / 整个训练过程
波动维度词表 / rollout / prompt / 时间
衡量对象策略不确定性 / 任务难度 / 路径多样性 / 推理质量

同一个词(比如 “variance”)在不同轴上指向完全不同的含义。先把坐标搭起来,后面所有指标就各归其位。

二、Token 尺度:生成内部的犹豫

  1. Token entropy

定义:在生成每个 token 时,策略分布在词表上的熵。

公式:H = −Σ π(v|context) log π(v|context)

衡量的是模型在这一步有多犹豫。高熵意味着在多个 token 之间举棋不定,低熵意味着几乎确定选哪个。

这是 Clip-Cov 那条线的核心关切。RL 训练存在系统性的"entropy squeeze"——随着训练推进,策略会越来越 confident,entropy 单调下降,最终丧失探索能力。Clip-Cov 的修正思路是避免 clip 掉高熵 token 的梯度,因为这些高熵位置恰恰是策略还在探索的地方。

Entropy 的局限:它是局部指标,高熵可能是深思熟虑,也可能是乱蒙,单看 entropy 不能判定 reasoning 质量。

  1. Policy gradient clip fraction

被 PPO-style clip 截断的 token 比例。

范围含义
过低更新幅度小,学习缓慢
中等稳定Healthy
过高更新过于激进,被大量截断

clip fraction 和 entropy 应当一起看。Entropy 高但 clip fraction 低,说明在充分探索且更新温和;Entropy 低但 clip fraction 高,是典型的训练不稳——模型已经收敛到窄模式但更新还在试图拉它离开,两股力打架。

  1. KL divergence to reference

新策略与参考策略(通常是 SFT checkpoint)的 KL。过低意味着没学到新东西,过高意味着偏离 pretrain 太远、可能损失基础能力。HGPO 训练曲线的一个有意思对比:GRPO 的 KL 偏低(学得慢),GiGPO 的 KL 偏高(太激进),HGPO 居中(稳)。KL 的绝对值本身没有标准,但训练过程中的轨迹形状非常能说明问题。

三、Rollout 尺度:单条轨迹内部的信号

  1. Response length 与 correctness 的联合分布

R1 和 o1 观察到的现象是:RL 训练中 response length 单调上升,模型"学会了长思考"。

但这是个双刃观察。DrGRPO 明确指出 GRPO 存在 “length bias”——advantage 按 token 数归一化的方式会系统性奖励更长的 response,哪怕内容在重复废话。真正值得看的不是 length 本身,而是 length 与 correctness 的条件相关性

观察诊断
长响应 → 正确率升高Healthy,长思考真的在帮
长响应 → 正确率不变虚假 length 增长
长响应 → 正确率下降Overthinking / hallucination 风险
  1. Think / Answer / Tool call 的分段质量

这是很多训练监控里容易被忽略的点。一条 rollout 在 agent / reasoning 场景下通常有多段结构(、<tool_call>、),每段的健康度需要分开监控

段落关键指标
长度分布、重复率、内部 entropy、是否真在推理
格式合规率、与 的一致性、长度
<tool_call>调用次数、参数格式、重复调用率
对后续 的影响度

一个实际容易出现但不被察觉的失败模式:模型学会了在 里写一些模板化的 “Let me think step by step…",但真正的 reasoning 已经退化成 lookup。这时候 的 length 和 entropy 都正常,只有** 内容与 的 mutual information** 这种更深的指标能抓到。

  1. Tool call efficiency(search-augmented 场景)

GiGPO 的 search-QA 实验里报了一个很值得借鉴的指标:平均工具调用次数。在 tool use 场景下,调用次数是 agency quality 的直接 proxy:

现象诊断
调用次数稳定在 1.0 左右高效,只在需要时调用
调用次数接近上限模型在机械地重复调用
调用次数方差大策略不稳定

redundant tool call 是 agent RL 里一个很隐蔽的失败模式——reward 看起来没问题(最终答对了),但每个 query 被反复搜索了 3-5 次,推理成本和延迟都爆炸。只看 reward 完全看不出来。

四、Group 尺度:同 prompt 跨 rollout 的波动

  1. Reward variance(GRPO 里的 σ_G)

这是 group-based RL 算法里用来归一化 advantage 的那个 σ。衡量的是同一 prompt 下 N 条 rollout 的 reward 标准差

σ_G 的取值含义
0(全对)任务对当前 policy 太简单
0(全错)任务对当前 policy 太难
中等有对有错,最有学习信号的区间

σ_G = 0 的 prompt 在 GRPO 里白采——advantage 全是 0,没有梯度。DAPO 的 Dynamic Sampling 就是显式用这个信号过滤 prompt。监控 batch 里 σ_G = 0 的比例是判断"当前数据集对 policy 是否合适"的直接指标。

  1. Pass@k − Pass@1 gap

同一 prompt 采 N 条 rollout,看 k 次里至少对一次的概率与单次正确率的差距。

差距诊断
大差距Policy 知道怎么做但不稳定,有多条潜在有效路径
小差距且 Pass@1 高稳定地会
小差距且 Pass@1 低稳定地不会

Pass@k 差距大是一个正面信号——意味着模型有潜力,只是当前输出分布没有把潜力集中到第一次采样。这种情况下,self-consistency / majority vote 通常能显著提升性能。

  1. Trajectory diversity

同 prompt 下 N 条 rollout 的轨迹空间距离,不是 reward 空间距离。三种常见做法:

度量适用场景
Action sequence edit distance离散动作空间(ALFWorld、WebShop)
State visitation 覆盖率环境 state 空间小
CoT embedding pairwise cosineReasoning 场景

GiGPO 的 Figure 5 实际上隐式报了这个——“step-level group size 分布向 N=8 集中” 就是 trajectory diversity 坍缩的证据。作者当成"policy 学稳了"来读,但反过来也可以读成 “exploration 丢了”。一个健康的训练应该在 exploitation 和 exploration 之间有明确的节奏感,而不是单调坍缩。

五、Prompt 尺度:跨 prompt 的分布

  1. Prompt-level reward 分布

整个训练 batch 里,不同 prompt 的 reward 分布形状。长尾(少数 prompt 拿到所有正 reward)意味着学习信号集中在一小部分数据,其余数据对 policy 贡献接近零。这种情况下 effective batch size 远小于实际 batch size。

  1. Prompt 难度分层的梯度流

健康训练的一个特征:中等难度 prompt 贡献主要梯度。如果发现简单 prompt(σ_G=0)占比过高,说明课程已经过时;困难 prompt 占比过高,说明 policy 被甩开太远。Curriculum / 动态数据过滤就是在操作这个分布。

  1. OOD 性能偏移

HGPO 的一个有意思观察:所有 baseline 在 ALFWorld 的 out-of-distribution 任务上都有显著性能降低,HGPO 降得最少。这个 in-distribution 与 out-of-distribution 的 gap 值得单独监控——它直接反映 policy 是真的 generalize 了,还是只在训练分布上 overfit。

六、时间尺度:训练过程的轨迹

  1. Entropy 随训练步数的衰减曲线

单调下降是常态,但下降速度很说明问题。前 50 步急剧下降(collapse)与平滑下降(learning)差异巨大,前者几乎一定伴随后期性能饱和。

  1. Reward 增长与 Pass@k 增长的解耦

Reward 还在涨但 Pass@k 不涨——模型在把更多采样集中到已知的正确模式上,没有在发现新模式。这是 mode collapse 的早期信号,远早于 reward 开始掉头。

  1. Gradient norm 与 update magnitude

训练稳定性的基础指标,但容易被忽略。Gradient norm 突刺通常对应某条极端 reward 的 rollout,常见于稀疏奖励场景。

七、Reasoning 质量:真正困难的那一层

前面所有指标都是"训练机制内生的”——被算出来是为了让算法 work,顺便被拿来看 policy 状态。它们的定义域里没有 reasoning 质量这个变量。

一条正确轨迹是深思熟虑得出的,还是 spurious reasoning 蒙对的,在前述所有指标下不可分辨。衡量这件事需要更贵的指标。

  1. Faithfulness probe

核心思路:干预 CoT(删除中间步、注入错误、paraphrase),观察最终答案是否变化。

干预后答案稳定性诊断
干预后答案不变CoT 是装饰,非 causal(unfaithful)
干预后答案按预期改变CoT 是真实推理链条(faithful)

这是 Anthropic 2023 “Measuring Faithfulness in CoT” 和 Turpin 2023 “CoT Can Be Unfaithful” 那条线的核心方法。主要成本是需要为每条待评估的 rollout 额外生成 k 条干预版本,评估成本线性放大。

Turpin 的反直觉 finding 值得记住:看起来推理清晰的 CoT 经常反而是更 unfaithful 的。“清晰"可能只是在表演清晰,真正的决策过程发生在别处。这个 finding 直接质疑了"reward CoT 质量能提升推理能力"的朴素假设。

  1. Self-consistency gap

Majority vote over N samples 的准确率减去单次准确率。这是一个便宜的 faithfulness proxy——如果 CoT 真的在做推理,不同 CoT 路径应当收敛到同一正确答案,majority vote 会显著高于单次。

  1. Intermediate step verification

在有 ground truth intermediate state 的环境里(如数学题的中间等式、代码的中间变量值),可以直接验证 里声明的中间结论是否正确。这类信号很贵但极准,是当前 process reward model(PRM)的数据来源。

八、监控仪表盘的搭建建议

把上述指标组织成一个多层仪表盘,每层回答一个问题:

核心问题主要指标
L1 训练稳定性优化在 work 吗Loss、gradient norm、clip fraction、KL
L2 策略行为Policy 在如何变化Token entropy、response length、tool call 次数
L3 学习信号数据对 policy 有价值吗σ_G 分布、Pass@k−Pass@1、prompt 难度分布
L4 探索健康度还在探索吗Trajectory diversity、group size 分布
L5 泛化学到的是模式还是背题ID vs OOD gap、hold-out 性能
L6 推理质量CoT 是真在推理吗Faithfulness probe、self-consistency gap

大多数工作只看 L1 和 L5,少数工作看 L2-L4,几乎没有工作在训练过程中持续监控 L6。这不是因为 L6 不重要,而是因为 L6 贵——但越是靠近上层的问题越接近 RL 的本质,越是被忽略的指标越可能成为下一代方法的突破口。

九、结语

监控指标的选择本身就是研究品味的体现。只看 reward 是对 RL 最浅的理解;看 entropy 和 KL 是标准实践;看 trajectory diversity 和 σ 分布是对 group-based RL 的成熟理解;看 faithfulness 和 CoT causal structure 是在质疑 RL 框架本身能否塑造真实的 reasoning。

指标的层级和研究方向的层级有对应关系。选择在哪一层看训练、在哪一层提出新指标,本身就决定了工作能触达的天花板。