RL: xPU Mismatch
导言
RL 模型迁移后的精度比对,相较于 SFT 模型迁移的精度比对,难了很多。
经常出现一个难解问题,前20步reward等指标两者差异较小,但是之后就偏移很大。
叠加
- 指标繁琐,但不解决问题:虽然指标多,但都是表象/结果指标,难以说明差异来源。
- 耗时长:RL单步1h+,SFT 20s;慢两个数量级,迭代缓慢。
- 流程更复杂:涉及到推理和权重转换;
- 资源压力大:训推+评测模型权重,RL的显存和机器资源压力更大。
全量指标逐项解释¶
奖励统计(2 项)¶
| 指标 | 含义 | 解读建议 | 本数据范围 | 来源 |
|---|---|---|---|---|
reward/avg_raw_reward |
原始奖励均值(核心收益指标) | 通常越高越好(同一奖励函数下可直接比较) | -3.821e-01 ~ 3.269e-01 | 命名推断(中) |
reward/raw_reward_count |
参与奖励统计的样本数/计数 | 反映统计覆盖面,非质量指标 | 6,064.00 ~ 9,048.00 | 命名推断(中) |
响应统计(14 项)¶
| 指标 | 含义 | 解读建议 | 本数据范围 | 来源 |
|---|---|---|---|---|
response/advantages/max |
优势值最大值 | 过大可能触发激进更新;需与 clip/梯度一起看 | 2.0000 ~ 2.0000 | 命名推断(中) |
response/advantages/mean |
优势值均值 | 一般希望接近 0(若做了标准化);长期偏移可能有估计偏差 | 8.085e-03 ~ 2.454e-01 | 命名推断(中) |
response/advantages/min |
优势值最小值 | 绝对值过大可能导致不稳定更新(需结合 max/std) | -2.0000 ~ -2.0000 | 命名推断(中) |
response/batch_size |
当前 step 的响应批大小 | 偏大通常吞吐更高,但受显存与稳定性约束 | 4,096.00 ~ 4,096.00 | 命名推断(中) |
response/prompt_len/max |
输入提示长度最大值(token) | 数据分布指标;过大可能拖慢吞吐 | 1,468.00 ~ 4,089.00 | 命名推断(中) |
response/prompt_len/mean |
输入提示长度均值(token) | 主要描述数据分布,不直接反映策略优劣 | 199.9531 ~ 286.9492 | 命名推断(中) |
response/prompt_len/min |
输入提示长度最小值(token) | 数据分布指标 | 12.0000 ~ 41.0000 | 命名推断(中) |
response/response_len/max |
输出长度最大值(token) | 持续贴上限可能是截断而非自然结束 | 22,001.00 ~ 51,200.00 | 命名推断(中) |
response/response_len/mean |
输出长度均值(token) | 任务相关,无绝对好坏;突变常提示策略变化 | 6,501.68 ~ 22,471.23 | 命名推断(中) |
response/response_len/min |
输出长度最小值(token) | 过低且频繁可能是过早终止 | 1.0000 ~ 568.0000 | 命名推断(中) |
response/response_len/std |
输出长度标准差 | 过高说明长度分布离散,需看任务是否允许 | 4,965.77 ~ 14,176.76 | 命名推断(中) |
response/rewards/max |
响应奖励最大值 | 可反映上界能力,需防止仅靠少数样本拉高 | 1.0000 ~ 1.0000 | 命名推断(中) |
response/rewards/mean |
响应奖励均值 | 通常越高越好(前提:奖励函数一致) | -1.992e-01 ~ 2.244e-01 | 命名推断(中) |
response/rewards/min |
响应奖励最小值 | 越高通常越好;持续很低说明长尾样本差 | -1.0000 ~ -1.0000 | 命名推断(中) |
训练内部(6 项)¶
| 指标 | 含义 | 解读建议 | 本数据范围 | 来源 |
|---|---|---|---|---|
train_metrics/worker_0/step_avg_efficient_attn_ratio |
worker_0 有效 attention 比例 | 通常越高越好(表示有效计算占比更高) | 1.458e-01 ~ 4.809e-01 | 命名推断(中) |
train_metrics/worker_0/step_avg_grad_norm |
worker_0 梯度范数 | 保持稳定更好;突刺/爆炸需警惕 | 4.101e-02 ~ 1.896e-01 | 命名推断(中) |
train_metrics/worker_0/step_avg_img_efficient_attn_ratio |
worker_0 图像 token 的有效 attention 比例 | 通常越高越好 | 0 ~ 0 | 命名推断(中) |
train_metrics/worker_0/step_avg_reduced_llm_loss |
worker_0 的 step 平均训练 loss(归约后) | 通常越低越好;需同时看 reward 防止“低损失低能力” | 1.083e-02 ~ 2.214e-01 | 命名推断(中) |
train_metrics/worker_0/step_avg_step_consumed_img_tokens |
worker_0 每 step 消耗图像 token 数 | 多模态负载指标,非单独优劣 | 0 ~ 0 | 命名推断(中) |
train_metrics/worker_0/step_avg_step_consumed_tokens |
worker_0 每 step 消耗 token 数 | 越高通常吞吐越好 | 49,766.40 ~ 222,555.28 | 命名推断(中) |
策略熵(2 项)¶
| 指标 | 含义 | 解读建议 | 本数据范围 | 来源 |
|---|---|---|---|---|
entropy/rollout |
rollout 策略熵(生成时不确定性) | 过低易早收敛,过高可能学习慢;通常看“平稳非零” | 5.596e-01 ~ 8.411e-01 | 命名推断(中) |
entropy/train |
训练策略熵(训练模型不确定性) | 与 rollout 类似,关注是否快速塌缩到接近 0 | 5.603e-01 ~ 8.417e-01 | 命名推断(中) |
分布偏移(12 项)¶
| 指标 | 含义 | 解读建议 | 本数据范围 | 来源 |
|---|---|---|---|---|
mismatch/mismatch_k3_kl |
K3 KL 稳健估计(非负) | 越接近 0 越好;升高表示偏移增强 | 1.716e-04 ~ 7.967e-04 | 官方文档映射(高) |
mismatch/mismatch_kl |
KL(π_rollout || π_training) 估计 | 绝对值越接近 0 越好;偏离大表示分布偏移大 | 1.766e-04 ~ 7.948e-04 | 官方文档映射(高) |
mismatch/mismatch_log_ppl_abs_diff |
|log_ppl 差值| | 越低越好,表示两策略更接近 | 1.781e-04 ~ 7.952e-04 | 官方文档映射(高) |
mismatch/mismatch_log_ppl_diff |
log_ppl 差值(rollout - training) | 越接近 0 越好;正负号表示哪一侧更自信 | 1.766e-04 ~ 7.948e-04 | 官方文档映射(高) |
mismatch/mismatch_log_ppl_diff_max |
序列级 log_ppl 差值最大值 | 越低越稳,表示最坏样本偏差较小 | 6.614e-04 ~ 6.194e-02 | 官方文档映射(高) |
mismatch/mismatch_log_ppl_diff_min |
序列级 log_ppl 差值最小值 | 与 max 一起看跨度,异常极值需关注 | -5.031e-04 ~ 5.519e-05 | 官方文档映射(高) |
mismatch/mismatch_logprob_abs_diff |
token/logprob 绝对差 | 越低越好,越低说明训练/rollout 概率更一致 | 7.992e-03 ~ 1.853e-02 | 官方文档映射(高) |
mismatch/mismatch_ppl_ratio |
training_ppl / rollout_ppl 比值 | 越接近 1 越好;明显偏离 1 表示两策略分布差异变大 | 1.0002 ~ 1.0008 | 官方文档映射(高) |
mismatch/mismatch_rollout_log_ppl |
rollout 策略 log perplexity | 趋势指标;通常与 training_log_ppl 配对看差值 | 5.622e-01 ~ 8.428e-01 | 官方文档映射(高) |
mismatch/mismatch_rollout_ppl |
rollout 策略 perplexity | 越低表示 rollout 在样本上更自信;与 training_ppl 对比解读 | 1.7638 ~ 2.3433 | 官方文档映射(高) |
mismatch/mismatch_training_log_ppl |
训练策略 log perplexity | 趋势指标;通常与 rollout_log_ppl 配对看差值 | 5.629e-01 ~ 8.434e-01 | 官方文档映射(高) |
mismatch/mismatch_training_ppl |
训练策略 perplexity(对比策略一侧) | 越低表示该策略在当前样本上更自信;单看无好坏,需与 rollout_ppl 对比 | 1.7650 ~ 2.3448 | 官方文档映射(高) |
IS/校正(18 项)¶
| 指标 | 含义 | 解读建议 | 本数据范围 | 来源 |
|---|---|---|---|---|
rollout_is/mismatch/rollout_is_catastrophic_token_fraction |
灾难性 token 占比(低于 veto 阈值) | 越低越好;升高说明存在严重异常 token | 6.925e-08 ~ 2.049e-06 | 官方文档映射(高) |
rollout_is/mismatch/rollout_is_eff_sample_size |
有效样本占比 ESS(理论常在 0~1) | 越高越好;越低说明权重集中、有效样本少 | 9.986e-01 ~ inf | 官方文档映射(高) |
rollout_is/mismatch/rollout_is_masked_fraction |
被 rejection/mask 掉的 token 占比 | 越低越好;高值表示可用样本下降 | 1.093e-05 ~ 1.096e-04 | 官方文档映射(高) |
rollout_is/mismatch/rollout_is_max |
IS 权重最大值 | 极端大值提示重权重长尾,需配合 std/ESS 判断 | 6.4193 ~ 9,903.95 | 官方文档映射(高) |
rollout_is/mismatch/rollout_is_mean |
重要性权重均值 | 理想接近 1;远离 1 说明分布偏移变大 | 9.119e-01 ~ 1.0000 | 官方文档映射(高) |
rollout_is/mismatch/rollout_is_min |
IS 权重最小值 | 极端小值提示重权重长尾,需配合 std/ESS 判断 | 2.061e-09 ~ 2.746e-02 | 官方文档映射(高) |
rollout_is/mismatch/rollout_is_ratio_fraction_high |
超过上阈值的权重占比 | 越低越好;高值表示大量样本被截断/掩码 | 6.925e-08 ~ 2.049e-06 | 官方文档映射(高) |
rollout_is/mismatch/rollout_is_ratio_fraction_low |
低于下阈值(通常 1/upper)的权重占比 | 越低越好;高值表示另一侧严重偏移 | 0 ~ 0 | 官方文档映射(高) |
rollout_is/mismatch/rollout_is_seq_fraction_high |
序列级超过上阈值占比 | 越低越好 | 0 ~ 1.359e-04 | 官方文档映射(高) |
rollout_is/mismatch/rollout_is_seq_fraction_low |
序列级低于下阈值占比 | 越低越好 | 0 ~ 0 | 官方文档映射(高) |
rollout_is/mismatch/rollout_is_seq_masked_fraction |
包含被 mask token 的序列占比 | 越低越好;高值表示序列层拒绝多 | 3.176e-02 ~ 1.056e-01 | 官方文档映射(高) |
rollout_is/mismatch/rollout_is_seq_max |
序列级 IS 权重最大值 | 越极端越需关注长尾 | 1.0036 ~ 6.1864 | 官方文档映射(高) |
rollout_is/mismatch/rollout_is_seq_max_deviation |
序列级相对 1.0 的最大偏移 | 越低越好 | 1.0000 ~ 5.1864 | 官方文档映射(高) |
rollout_is/mismatch/rollout_is_seq_mean |
序列级 IS 权重均值 | 理想接近 1 | 1.787e-01 ~ 5.780e-01 | 官方文档映射(高) |
rollout_is/mismatch/rollout_is_seq_min |
序列级 IS 权重最小值 | 越极端越需关注长尾 | 0 ~ 0 | 官方文档映射(高) |
rollout_is/mismatch/rollout_is_seq_std |
序列级 IS 权重标准差 | 越低越稳 | 3.405e-01 ~ 4.710e-01 | 官方文档映射(高) |
rollout_is/mismatch/rollout_is_std |
IS 权重标准差 | 越低越稳;高值表示方差大、训练噪声大 | 1.723e-02 ~ 3.750e-02 | 官方文档映射(高) |
rollout_is/mismatch/rollout_is_veto_fraction |
被 veto 机制拒绝的序列占比 | 越低越好;高值表示训练/rollout 分布差异或数值问题 | 2.356e-04 ~ 7.521e-03 | 官方文档映射(高) |
阶段耗时(13 项)¶
| 指标 | 含义 | 解读建议 | 本数据范围 | 来源 |
|---|---|---|---|---|
time/evaluation |
评测阶段耗时 | 越低越好(注意与评测规模相关) | 1,030.03 ~ 7,969.46 | 命名推断(中) |
time/generation |
每 step 的生成阶段总耗时 | 越低越好(同等质量前提下) | 381.1245 ~ 4,559.83 | 命名推断(中) |
time/generation_time |
生成子阶段纯生成耗时 | 越低越好 | 314.6267 ~ 4,121.38 | 命名推断(中) |
time/get_samples_time |
获取样本耗时 | 越低越好 | 6.9912 ~ 44.9369 | 命名推断(中) |
time/onload |
数据/状态回载 onload 耗时 | 越低越好 | 3.561e-01 ~ 4.5106 | 命名推断(中) |
time/pause_time |
流水线等待/暂停耗时 | 越低越好,越低代表资源利用更充分 | 16.9955 ~ 367.1087 | 命名推断(中) |
time/prepare_data |
训练前数据准备耗时 | 越低越好 | 15.5695 ~ 69.6108 | 命名推断(中) |
time/rollout_offload |
rollout 结果转移/offload 耗时 | 越低越好 | 9.542e-01 ~ 4,889.57 | 命名推断(中) |
time/save_ckpt |
保存 checkpoint 耗时 | 越低越好 | 3.7009 ~ 5,231.15 | 命名推断(中) |
time/save_trajectory |
保存轨迹耗时 | 越低越好 | 1.0454 ~ 10.5315 | 命名推断(中) |
time/step |
单 step 端到端耗时 | 越低越好(最综合的效率指标) | 565.6326 ~ 14,875.01 | 命名推断(中) |
time/sync_weight |
参数同步耗时 | 越低越好 | 13.4772 ~ 3,577.58 | 命名推断(中) |
time/training |
训练计算耗时 | 越低越好或以吞吐折中看 | 111.4526 ~ 813.6702 | 命名推断(中) |
任务时延(8 项)¶
| 指标 | 含义 | 解读建议 | 本数据范围 | 来源 |
|---|---|---|---|---|
task_time/avg |
单任务时延均值 | 越低越好 | 141.9604 ~ 2,086.86 | 命名推断(中) |
task_time/max |
单任务时延最大值 | 越低越好;异常尖峰需排查 | 306.1794 ~ 4,109.13 | 命名推断(中) |
task_time/p50 |
单任务时延 p50 | 越低越好 | 130.3265 ~ 1,855.03 | 命名推断(中) |
task_time/p90 |
单任务时延 p90 | 越低越好(关注长尾) | 253.3633 ~ 3,846.53 | 命名推断(中) |
task_time/p95 |
单任务时延 p95 | 越低越好(核心长尾指标) | 273.4188 ~ 3,960.44 | 命名推断(中) |
task_time/p99 |
单任务时延 p99 | 越低越好(极端长尾) | 295.7161 ~ 4,067.51 | 命名推断(中) |
task_time/p99_p50_ratio |
尾部放大比值 p99/p50 | 越接近 1 越好;越高表示尾部问题严重 | 1.2225 ~ 3.6427 | 命名推断(中) |
task_time/std |
单任务时延标准差 | 越低越稳 | 75.6919 ~ 1,309.19 | 命名推断(中) |
异步队列(6 项)¶
| 指标 | 含义 | 解读建议 | 本数据范围 | 来源 |
|---|---|---|---|---|
async/remain_aborted_samples_count |
当前待处理的 aborted 样本积压量 | 越低越好,持续上升说明异常样本回收压力变大 | 365.0000 ~ 512.0000 | 命名推断(中) |
async/remain_completed_samples_count |
当前待消费的 completed 样本积压量 | 过高通常表示 rollout 生产快于训练消费,需要结合吞吐看 | 0 ~ 17.0000 | 命名推断(中) |
async/remain_expired_samples_count |
当前待处理的 expired 样本积压量 | 越低越好,持续升高说明样本过期较多 | 0 ~ 501.0000 | 命名推断(中) |
async/sample_from_aborted_count |
累计从 aborted 池重新取样的次数 | 仅表示样本来源结构,长期占比过高需排查稳定性 | 0 ~ 95,986.00 | 命名推断(中) |
async/sample_from_dataset_count |
累计直接从数据集取样的次数 | 主要反映训练推进,不直接代表质量 | 1,482.00 ~ 170,469.00 | 命名推断(中) |
async/sample_from_expired_count |
累计从 expired 池重新取样的次数 | 通常应较低;若升高,说明新鲜样本不足或调度有瓶颈 | 0 ~ 0 | 命名推断(中) |
评测指标(22 项)¶
| 指标 | 含义 | 解读建议 | 本数据范围 | 来源 |
|---|---|---|---|---|
eval/AIME2024_Acc_Mean@16 |
AIME2024 数据集的 Acc_Mean@16(多次采样/聚合下的平均准确率) | 越高越好 | 7.521e-01 ~ 9.312e-01 | 命名推断(中) |
eval/AIME2024_Pass@16 |
AIME2024 数据集的 Pass@16(k 次尝试至少一次正确的概率) | 越高越好 | 9.000e-01 ~ 9.667e-01 | 命名推断(中) |
eval/AIME2024_Pass@2 |
AIME2024 数据集的 Pass@2(k 次尝试至少一次正确的概率) | 越高越好 | 8.333e-01 ~ 9.333e-01 | 命名推断(中) |
eval/AIME2024_Pass@4 |
AIME2024 数据集的 Pass@4(k 次尝试至少一次正确的概率) | 越高越好 | 9.000e-01 ~ 9.667e-01 | 命名推断(中) |
eval/AIME2024_Pass@8 |
AIME2024 数据集的 Pass@8(k 次尝试至少一次正确的概率) | 越高越好 | 9.000e-01 ~ 9.667e-01 | 命名推断(中) |
eval/AIME2025_Acc_Mean@16 |
AIME2025 数据集的 Acc_Mean@16(多次采样/聚合下的平均准确率) | 越高越好 | 6.958e-01 ~ 9.167e-01 | 命名推断(中) |
eval/AIME2025_Pass@16 |
AIME2025 数据集的 Pass@16(k 次尝试至少一次正确的概率) | 越高越好 | 9.000e-01 ~ 9.667e-01 | 命名推断(中) |
eval/AIME2025_Pass@2 |
AIME2025 数据集的 Pass@2(k 次尝试至少一次正确的概率) | 越高越好 | 8.333e-01 ~ 9.667e-01 | 命名推断(中) |
eval/AIME2025_Pass@4 |
AIME2025 数据集的 Pass@4(k 次尝试至少一次正确的概率) | 越高越好 | 8.667e-01 ~ 9.667e-01 | 命名推断(中) |
eval/AIME2025_Pass@8 |
AIME2025 数据集的 Pass@8(k 次尝试至少一次正确的概率) | 越高越好 | 9.000e-01 ~ 9.667e-01 | 命名推断(中) |
eval/GPQA_diamond_Acc_Mean@4 |
GPQA_diamond 数据集的 Acc_Mean@4(多次采样/聚合下的平均准确率) | 越高越好 | 5.164e-01 ~ 7.222e-01 | 命名推断(中) |
eval/GPQA_diamond_Pass@2 |
GPQA_diamond 数据集的 Pass@2(k 次尝试至少一次正确的概率) | 越高越好 | 6.212e-01 ~ 8.232e-01 | 命名推断(中) |
eval/GPQA_diamond_Pass@4 |
GPQA_diamond 数据集的 Pass@4(k 次尝试至少一次正确的概率) | 越高越好 | 6.667e-01 ~ 8.939e-01 | 命名推断(中) |
eval/IMO_Answer_Bench_Acc_Mean@4 |
IMO_Answer_Bench 数据集的 Acc_Mean@4(多次采样/聚合下的平均准确率) | 越高越好 | 3.063e-01 ~ 6.394e-01 | 命名推断(中) |
eval/IMO_Answer_Bench_Pass@2 |
IMO_Answer_Bench 数据集的 Pass@2(k 次尝试至少一次正确的概率) | 越高越好 | 4.500e-01 ~ 7.475e-01 | 命名推断(中) |
eval/IMO_Answer_Bench_Pass@4 |
IMO_Answer_Bench 数据集的 Pass@4(k 次尝试至少一次正确的概率) | 越高越好 | 4.975e-01 ~ 7.900e-01 | 命名推断(中) |
eval/MMMU_Pro_Acc_Mean@1 |
MMMU_Pro 数据集的 Acc_Mean@1(多次采样/聚合下的平均准确率) | 越高越好 | 5.593e-01 ~ 7.103e-01 | 命名推断(中) |
eval/MMMU_Pro_Pass@1 |
MMMU_Pro 数据集的 Pass@1(k 次尝试至少一次正确的概率) | 越高越好 | 5.593e-01 ~ 7.103e-01 | 命名推断(中) |
eval/MathVision_Acc_Mean@1 |
MathVision 数据集的 Acc_Mean@1(多次采样/聚合下的平均准确率) | 越高越好 | 5.253e-01 ~ 7.090e-01 | 命名推断(中) |
eval/MathVision_Pass@1 |
MathVision 数据集的 Pass@1(k 次尝试至少一次正确的概率) | 越高越好 | 5.253e-01 ~ 7.090e-01 | 命名推断(中) |
eval/MathVista_MINI_Acc_Mean@1 |
MathVista_MINI 数据集的 Acc_Mean@1(多次采样/聚合下的平均准确率) | 越高越好 | 7.099e-01 ~ 8.114e-01 | 命名推断(中) |
eval/MathVista_MINI_Pass@1 |
MathVista_MINI 数据集的 Pass@1(k 次尝试至少一次正确的概率) | 越高越好 | 7.099e-01 ~ 8.114e-01 | 命名推断(中) |
重点关注建议(先看这 8 个)¶
reward/avg_raw_reward:收益是否持续提升。train_metrics/worker_0/step_avg_reduced_llm_loss:训练是否稳定下降。mismatch/mismatch_kl与mismatch/mismatch_k3_kl:训练/rollout 分布偏移是否恶化。rollout_is/mismatch/rollout_is_mean:是否围绕 1.0。rollout_is/mismatch/rollout_is_eff_sample_size:是否明显下滑(你这批日志里出现inf,建议结合训练代码确认实现细节)。task_time/p95与task_time/p99_p50_ratio:长尾时延是否在变差。time/step:端到端每 step 耗时是否下降。