Focal Reward:当 RL 把"容易拿分的维度"刷爆了,剩下的硬骨头怎么办
上海交大 × 蚂蚁集团联合工作。一句话:RL 在多维评分标准下训练时,模型会偷懒——专挑容易拿分的维度刷,把真正有挑战的维度晾在一边。这篇论文给静态权重做了个"饱和度敏感"的动态重加权,思路很像把视觉里的 Focal Loss 搬到了奖励聚合上。
核心摘要
你有没有这种感觉:RLHF 训得越多,模型表面看起来越光滑,但真正决定"用户体验过不过关"的那个硬性要求,反而被磨没了?这篇论文把这件事拆成了一个具体的现象——多维评分标准下的奖励极化不平衡:流畅度、格式合规这些容易满足的维度早早饱和,而细微的权衡判断、用户隐性诉求这些难维度始终欠满足。静态加权聚合不会感知这种变化,于是继续给已经饱和的维度发奖励,相当于反复给学霸送小红花,对差生不闻不问。
作者提出 Focal Reward:用反向奖励投影估计每个维度的饱和度,再用 \((1-P)^\gamma\) 当作再分配因子,把权重往欠满足的维度倾斜。3 个模型规模(Qwen2.5-7B、Qwen3-8B、Qwen3-30B-A3B)× 6 个 benchmark 上,18 个对比项全部赢过最强静态基线,平均涨幅 +1.38 到 +2.50 分。比静态聚合更省时间(end-to-end 训练步从 282s 降到 175s),rollout 也更短(1351 → 1083 token)。
我的判断:思路上不算颠覆性创新,方法本质是 Focal Loss 的奖励聚合版,但问题诊断很准、实验做得很扎实——尤其是把"权重—饱和度—改进幅度"三者的关系拆得清清楚楚。如果你在做 rubric-based RLHF 或者偏好优化,这篇值得抄思路。
论文信息
- 标题:Focal Reward: Balanced Reinforcement Learning under Rubric-Based Rewards
- arXiv:2605.26579
- 作者:Yu Huang, Zihua Zhao(共一)等
- 机构:上海交通大学、蚂蚁集团
- 发表日期:2026-05-26
一、问题:RL 训练里的"偷懒"现象
先想象一个具体场景:你拿一组评分标准训一个开放生成模型,rubric 里有 5 条——流畅度、格式合规、第一人称视角、信息完整、深度洞察。RL 跑了几百步,整体 reward 看起来涨得挺好。
但你打开 rollout 一看,模型是这么干的:
- 流畅度:满分
- 格式合规:满分
- 第一人称视角:写漏了(hard rule,本来就是核心要求)
- 信息完整:8.5 分
- 深度洞察:6 分
总分还是高。但用户拿到这条输出时,第一反应是"这玩意儿不对啊"。

图1:作者用三联图把核心矛盾讲清楚了。问题不是 RL 没在学,而是它学错了重点。
这就是论文一开场要打的痛点。Rubric-based RL 现在已经是开放生成对齐的主流范式(OpenRubrics、HelpSteer 这一脉),但怎么把多个维度的分数聚合成一个标量奖励——这件事大家还在用静态权重。
静态权重最大的问题是:它不知道训练当前阶段,哪些维度已经饱和、哪些还有空间。早期可能流畅度和格式还在涨,给它们高权重合理;训了几千步之后这两个维度已经满分了,再给它们高权重就是浪费——梯度全花在已经做对的事情上。
我之前在做类似的多目标 alignment 的时候,绕不开这个问题。当时的土办法是手动调权重——观察哪个维度涨得慢,把它的权重往上调。但这个事完全靠经验,调一次要重训一遍,成本很高。Focal Reward 等于是把这个调参过程自动化、在线化了。
二、方法:把 Focal Loss 的思路搬到奖励聚合
作者明确说了,灵感来自计算机视觉里的 Focal Loss——通过动态调整类别权重,让模型多关注被忽略的少数类。但搬到 RL 的奖励聚合上,技术路径要复杂一些。
整套方法分两步:反向奖励投影 → Focal 重加权聚合。

图2:流程图很清楚。整套机制本质上是在 reward synthesis 这一环加了个动态校准,没有改 judge、rubric 或 policy optimization 框架。这个"插件式"的设计是它工程上的优点——可以无缝接入现有的 GRPO/GSPO 训练管线。
2.1 反向奖励投影:估计每个维度的饱和度
对每组采样的 G 个 rollout,作者先用基础权重 \(\bm{w}_{\text{base}}\) 算出标量奖励 \(R_i\),然后做 Gibbs softmax 得到一个 reward-weighted 分布:
温度 \(T\) 控制集中程度。然后对每个维度 \(k\),用这个 \(r\) 加权平均出一个饱和度:
直觉上这是在问:"那些 reward 高的 rollout,在维度 \(k\) 上拿的分数也高吗?" 高 reward rollout 普遍在某个维度拿满分,说明这个维度已经饱和了;如果高 reward rollout 在某个维度上还普遍欠满足,说明这个维度有空间往上涨。
这一步的核心思想是:饱和度不是看全体 rollout 平均分,而是看高奖励 rollout 在该维度上的分数。这是个有意思的细节——如果你只看全体平均,弱 rollout 会把均值拉低,导致低估饱和度。Gibbs 加权相当于专门看"前沿 rollout"在每个维度的分数。
2.2 Focal 重加权:往欠满足的维度倾斜
有了 \(\bm{P}\) 之后,权重的更新公式是:
公式看起来花哨,拆开看就两件事:
- \((1 - P^{(k)})^\gamma\) 是 headroom-aware 因子。维度饱和(\(P^{(k)}\) 接近 1)时这一项接近 0,权重被压低;维度欠满足(\(P^{(k)}\) 接近 0)时这一项接近 1,权重保留得多。\(\gamma\) 控制这个反差的强度,默认 \(\gamma=2\)。
- 前面的归一化常数保证总权重不变,避免直接加大整体奖励量级。
这里 \((1-P)^\gamma\) 的形式跟 Focal Loss 的 \((1-p_t)^\gamma\) 是一回事——把 hard example 的权重抬高,把 easy example 的权重压低。只不过这里的"hard example"是欠满足的 rubric 维度,"easy example"是已经饱和的维度。
作者还顺手做了理论分析(见论文 Appendix C),证明这种动态权重在某种局部信号-噪声比意义下比静态权重更优。Theorem 2 给了一个很优美的结论:最优权重和 base 权重的偏差正好就是 headroom 的函数——这跟 \((1-P)^\gamma\) 的形式天然契合。理论部分推导比较硬核,工程上记住一句话:headroom 高的维度该多分点权重,static 权重做不到。
2.3 工程开销
整个机制的额外计算开销极低——只是一次反向投影和一次重加权,不需要额外的判官调用。论文 Table 4 里数据:reward synthesis 时间从 14ms 涨到 50ms(多 36ms),但因为 rollout 变短了,整体训练 step 时间从 282s 降到 175s——反而省了 38% 的训练时间。
这点很关键。很多看起来更聪明的奖励机制,实际跑起来都会因为额外的 LLM 调用或者复杂梯度路径变慢,最后省的 sample efficiency 都被时间开销吃掉了。Focal Reward 因为只在已有的 score vector 上做轻量后处理,所以是真省时间。
三、实验:18 个对比项全部赢过最强静态基线
3.1 主实验:3 个模型规模 × 6 个 benchmark
作者用了 Qwen2.5-7B、Qwen3-8B、Qwen3-30B-A3B 三个 backbone,evaluation 覆盖 AlpacaEval 2.0、Arena-Hard、WritingBench、EQ-Bench 3、GPQA Diamond、HealthBench——通用对话和科学推理都覆盖到了。
主结果(节选 Qwen3-30B-A3B 部分):
| 方法 | AE2 | AH | WB | EQB3 | GPQA | HB | Avg |
|---|---|---|---|---|---|---|---|
| Vanilla | 63.36 | 55.26 | 64.76 | 51.80 | 51.10 | 40.26 | 54.42 |
| + Veto | 57.49 | 74.80 | 69.79 | 56.42 | 55.43 | 54.38 | 61.38 |
| + Min-Score | 61.12 | 72.19 | 70.31 | 55.20 | 54.47 | 54.53 | 61.30 |
| + Static (uniform) | 73.61 | 79.16 | 71.77 | 57.26 | 55.74 | 55.29 | 65.47 |
| + Static (prior) | 75.63 | 80.21 | 72.05 | 58.13 | 56.22 | 55.95 | 66.36 |
| + Focal (uniform) | 76.87 | 83.99 | 73.92 | 58.98 | 57.04 | 56.67 | 67.91 |
| + Focal (prior) | 77.59 | 88.69 | 73.38 | 59.03 | 57.07 | 57.39 | 68.86 |
最强静态基线是 Static (prior) = 66.36,Focal (prior) = 68.86,涨了 2.5 个点。Arena-Hard 这种区分度高的榜单上从 80.21 涨到 88.69,8.48 个点——这个幅度还是很能打的。
3.2 维度级分析:硬维度涨得最多
光看总分还不够,关键是要验证它确实是在难维度上涨分。Table 2 把维度按初始分数分成 hard / medium / easy 三档:
| Backbone | Method | All | Hard | Med | Easy | Hard Pass% |
|---|---|---|---|---|---|---|
| Qwen2.5-7B (general) | Base | 8.21 | 3.24 | 7.65 | 9.37 | - |
| Static | 8.48 | 5.24 | 7.92 | 9.51 | 39.2 | |
| Focal | 8.52 | 5.71 | 7.93 | 9.50 | 47.4 | |
| Qwen3-8B (general) | Static | 8.60 | 4.82 | 7.99 | 9.45 | 35.9 |
| Focal | 8.64 | 5.18 | 8.02 | 9.44 | 42.6 |
Hard 维度的提升最明显(5.24 → 5.71,pass rate 39.2% → 47.4%),Easy 维度基本持平(9.51 vs 9.50)。这说明 Focal Reward 不是简单地把"分数表"重新排序,而是真的在难维度上学到东西——而且不以牺牲简单维度为代价。
还有一个细节:Focal Reward 训出来的模型 rollout 更短(1351 → 1083)。Static 训出来的模型经常通过"写得更长更详尽"来刷高维度分数,但 Focal 不需要靠堆字数——这意味着它更精准地找到了改进点。
3.3 机制分析:权重去哪了?奖励变得更分化了?

图3:(b) 子图最有意思——Static prior 下,很多高 headroom 维度(图右上角)权重还是很小,而 Focal Reward 明显把权重往右上角堆。这说明再加权机制确实在做该做的事。

图4:(a) 子图说明 Focal 不是大改 Static 的判断,而是把模糊地带的奖励信号"放大对比度"——好的更好,差的更差。(c) 子图很关键,说明 Focal 对初始权重不敏感——这是个工程上的好性质,意味着你不用费心去调 base prior。
3.4 消融:两个组件一个都不能少
| 方法 | AE2 | AH | WB | EQB3 | Avg |
|---|---|---|---|---|---|
| Static | 41.22 | 48.06 | 53.52 | 41.78 | 46.15 |
| Focal Reward | 44.06 | 51.93 | 54.76 | 43.72 | 48.62 |
| Focal w/o frontier weighting | 41.75 | 48.73 | 53.96 | 42.35 | 46.70 |
| Focal w/ frozen scalarizer | 40.97 | 47.67 | 53.63 | 41.89 | 46.04 |
两个发现:
- 去掉 frontier weighting(饱和度从全体 rollout 均匀算,而不是 reward-weighted):48.62 → 46.70。说明用 Gibbs 加权取"前沿"rollout 来估饱和度是必要的,全体均值会被弱 rollout 拉偏。
- 冻结 scalarizer(一开始算一次 focal weight 就不再更新):48.62 → 46.04,反而比 Static 还差一点。说明动态在线更新是核心——训练状态在变,权重必须跟着变。
第二个消融特别值得注意。它告诉你一件事:问题的本质不是初始权重不好,而是固定权重无法跟随训练动态变化。冻结的 focal weight 在训练初期可能合适,但训了几千步之后就过时了,效果反而比 Static 还糟糕——因为它在错误的方向上"过度自信"。
3.5 超参敏感性

图5:方法对超参不敏感这点是个加分项。γ 在 1-3 之间、T 在 5-15 之间,效果都比 Static 好。
3.6 Case Study

图6:这个案例特别有说服力。第一人称视角是个很显式的 hard rule,Static 训练的模型就是会忽略它——因为它把权重花在更容易刷的"内容详尽度"上了。Focal 把权重往这个被忽略的维度上倾斜后,问题自然就解决了。
四、几个值得说的批判与思考
4.1 这是不是 Focal Loss 的简单平移?
是,也不全是。
机制上确实就是 \((1-p)^\gamma\) 那一套——视觉里压低简单类别、抬高难类别;这里压低饱和维度、抬高欠满足维度。形式上的相似度高到可以说是"Focal Loss for Reward Aggregation"。
但有几个非平凡的设计:
- 饱和度怎么估——用 Gibbs 加权而不是简单平均,专门看高奖励 rollout 在每个维度的表现。这一步等同于把"前沿样本上的硬难维度"识别出来。
- 权重总量保持不变——防止整体奖励量级漂移导致优化不稳定。
- 理论分析配套——给出了 base scalarizer 与最优 scalarizer 之间的 gap 等于 headroom 函数的方差,这个结论让 \((1-P)^\gamma\) 的形式有了理论依据,不是单纯类比。
总的来说:思路平移、设计精细、实验扎实。在工业界这种"思路简单、效果稳定、易接入"的方法往往最有用。
4.2 实验设置我有几个皱眉的地方
第一个,所有实验都在 Qwen 系列上做的。OpenRubrics 这个数据集本身也跟 Qwen 比较近——会不会有训测分布上的契合?换 LLaMA-3 或者 GLM 上效果还能保持吗?论文没回答。
第二个,最强 baseline 选的是 Static (prior)(GPT-4o 预测的权重)。但 prior 权重的质量本身高度依赖 GPT-4o 的判断——这等于把一个"半智能基线"和一个"全自动方法"对比。如果对比的是更精细的人工调权 baseline,差距还会有这么大吗?
第三个,作者承认 EQ-Bench 上 Focal 偶尔会输给 Static——这个细节在 Table 1 里也确实能看到(Qwen3-8B + Focal (uniform) 的 EQB3 是 54.69,比 Static (prior) 的 53.07 强,但比 Static (uniform) 的 52.37 强不了多少)。EQ-Bench 是评情感对话理解的,可能 rubric 维度本身的"难度差异"没那么大,Focal 的优势就不明显。
第四个,γ=2 是默认设置,但论文没讨论 \(\gamma\) 应该怎么自适应。如果 rubric 内部维度难度差异本来就小,强行 reweight 可能反而引入噪声。
4.3 工程落地的几点启发
如果你在做 RLHF 或 rubric-based 偏好优化,这篇论文的几个点可以直接抄:
- 饱和度估计:哪怕你不用完整 Focal Reward,也可以拿 \((1-P^{(k)})\) 做诊断指标——训练过程中跟踪每个维度的饱和度曲线,能很快发现哪个维度卡住了。
- 奖励合成是个独立可优化的环节:不用动 judge、不用动 rubric、不用动 policy optimization,只在 reward synthesis 里加一个 reweighting step。这种"插件式"改造工程成本极低。
- rollout 长度也是个隐藏指标:Focal Reward 训出的模型 rollout 更短——说明它在用更少 token 满足维度。如果你的模型出现 rollout 越来越长但用户体验没提升的现象,可能就是奖励聚合在偷懒。
- frontier-aware 估计:不要用全体平均,要用 reward-weighted 平均看"高分 rollout 在每个维度的表现"——这是更接近"模型当前能力的边界"的信号。
4.4 跟同期工作的位置
奖励聚合这条线最近也有不少工作:
- Multi-objective alignment:传统的 Pareto 多目标优化,有 MOA、Rewarded Soups 这一脉,但需要训多个模型再融合,成本比 Focal Reward 高得多。
- Dynamic scalarization:之前也有人尝试过动态调整权重,但大多用 bandit 或 RL controller,引入额外训练成本。Focal Reward 用一个 closed-form 的解析公式,工程成本更低。
- Rubric construction:OpenRubrics、HelpSteer 等工作集中在 rubric 怎么构造、怎么生成;Focal Reward 是给定 rubric 之后怎么聚合。这条线相对独立,可以跟 rubric construction 工作叠加使用。
我觉得 Focal Reward 在这个生态位里找得很准——既不需要重训,也不需要改判官,只动了 reward synthesis 这一步,工程上是最容易接入的方案之一。
五、总结
回到开头的痛点:RL 在多维评分标准下会出现"奖励极化不平衡"——容易拿分的维度早早饱和,难维度却始终欠满足。Focal Reward 给静态权重做了一个饱和度敏感的动态校准,效果稳定、易接入、计算开销低。
如果用一句话讲清楚它做了啥:把 Focal Loss 的思路从分类损失搬到了奖励聚合,用 \((1-P)^\gamma\) 给已经饱和的维度降权,把 RL 的优化压力推回到真正欠满足的维度上。
值不值得复现?看你做不做 rubric-based RLHF。如果你的多目标对齐已经在用静态权重,那这篇论文给了一个非常具体的、低成本的升级方案——36ms 的额外开销换 2-3 个点的稳定提升,这笔买卖很划算。
但如果你在做的是验证类任务(数学/代码这种有 verifier 的),rubric 维度本身就少,Focal Reward 的边际收益可能不明显——这种场景下静态权重已经够用了。
最后给个判断:这篇论文不是底层突破,但是工程上很有价值的微创新。 它把一个广泛存在但很少被精确诊断的问题(reward polarization imbalance)拆得很清楚,给了一个干净的解,实验做得也扎实。这种工作虽然不会成为顶会的"明星论文",但它代表了 alignment 领域走向工程成熟的一种典型路径——从粗放的"加更多数据/调更大模型",走向精细的"在每个环节做对的事"。
觉得有启发的话,欢迎点赞、在看、转发。跟进最新 AI 前沿,关注我。