DVAO: Dynamic Variance-adaptive Advantage Optimization for Multi-reward Reinforcement Learning
Paper: arXiv:2605.25604
1. Motivation (研究动机)
当前 LLM post-training 里,GRPO 及其 DAPO / GSPO 等变体已经成为比 PPO 更轻量的 RL 方案:它不需要单独训练 value model,而是在同一 prompt 的一组 rollouts 内做 relative advantage estimation。问题在于真实任务很少只有一个 reward:数学推理既要正确又要控制长度,tool-use 既要工具调用正确又要格式完全合规,代码生成还可能同时关心 bug rate、可读性和安全约束。
已有做法主要有两类 scalarization,但二者都不够适合 multi-reward GRPO:
- Reward Combination (RC):先把原始 rewards 线性合成 ,再在 rollout group 内标准化成 advantage。它简单,但不同 reward 的 covariance 会让标准化后的 产生更大的 squared magnitude,导致 policy gradient 更激进,训练容易不稳。
- Advantage Combination (AC / GDPO 类):先对每个 reward 单独做 group normalization 得到 ,再用固定权重合成 。它缓解了 RC 的 magnitude explosion,但把各 objective 当成彼此独立的任务,固定 也无法随训练阶段自动调整哪个 reward 更有学习信号。
- 实际后果:一个 reward 可能容易优化、低方差但会主导训练;另一个 reward 更难、方差更高但包含真正有用的学习信号。固定 scalarization 无法区分“有信息的 variance”和“噪声 variance”,也无法在单个 rollout 上根据整体多目标表现调整梯度。
这篇论文要解决的具体问题是:在 GRPO 的 multi-reward setting 中,如何不用人工调固定权重,同时避免 RC 的 advantage magnitude 过大和 AC 的 objective isolation? 如果解决得好,LLM post-training 可以更自然地同时优化 accuracy、length、format、tool correctness 等目标,并得到更好的 accuracy-compliance Pareto frontier。
2. Idea (核心思想)
DVAO 的核心 insight 是:在同一个 prompt 的 rollout group 内,某个 reward 的经验标准差 可以作为“当前这组样本上该目标仍有学习信号”的 proxy;因此不要固定使用 ,而应把它改成随 group variance 动态变化的 。
具体创新是把 Advantage Combination 的固定权重 替换为 variance-adaptive 权重 它保留了 per-objective normalization 的稳定性,同时用 把不同 objectives 重新耦合起来。
和 GDPO / AC 的本质区别在于:AC 的梯度可以拆成 ,每个 objective 的学习强度只由固定 控制;DVAO 的 sensitivity 含有 cross-term ,因此单个 objective 的梯度贡献会被该 rollout 的整体多目标表现调制。这使它既不是简单 reward 加权,也不是独立 advantage 加权,而是 group-level 的动态耦合。
3. Method (方法)
3.1 Overall framework:从 GRPO 到 multi-reward DVAO
论文没有提供单独的 method architecture figure;arXiv source 中只有 training dynamics 与 Pareto frontier 图。下面的 Figure 1 是根据论文公式整理的流程图,用来说明 DVAO 在 GRPO pipeline 中插入的位置。
Figure 1 解读:对每个 query ,policy 采样 个 responses。每个 response 被 个 reward heads 打分,得到 。DVAO 不直接合成 raw rewards,而是在同一 rollout group 内为每个 reward 计算 ,先得到 normalized advantage ,再用 把基础权重 动态改成 。最终 进入 GRPO clipped objective。图中下方的 RC / AC 对比强调:RC 容易放大 advantage,AC/GDPO 则缺少 cross-objective coupling。
基础记号
给定 dataset 、query 、rollout response ,policy likelihood 写作 在 multi-reward setting 中,有 个 reward functions: 基础权重满足 。
3.2 Reward Combination:先合成 reward 再 group-normalize
RC 先构造 然后在同一 query 的 个 rollouts 上标准化: GRPO objective 使用 importance ratio 并优化 clipped policy objective: 论文为清晰起见省略 KL term。RC 的问题是 的 magnitude 更容易变大;因为 raw rewards 先混合,reward 间 covariance 会影响合成 reward 的 group std,最终给 policy gradient 更大的更新尺度。
3.3 Advantage Combination:先独立标准化,再固定加权
AC / GDPO 类方法对每个 reward 单独做 group normalization: 再用固定权重合成: 论文指出,在忽略 clipping 的情况下,AC 的 gradient 可以分解为 这说明 AC 实质上是多个独立 RL objectives 的固定 convex combination。它虽然控制了 advantage magnitude,但没有显式建模 objectives 之间的相关性,也无法随训练自动调节 reward 的学习强度。
论文的 Proposition 1 给出 magnitude 对比:若 是 group 内 的 sample correlation,则 $ \frac1G\sum_{j=1}^G\left(A_{\text{sum}}^{(i,j)}\right)^2 \ge \frac1G\sum_{j=1}^G\left(A^{(i,j)}\right)^2
\frac1G\sum_{j=1}^G\left(\sum_k w_kA_k^{(i,j)}\right)^2, A_k1-2\sum_{k<l}w_kw_l(1-\hat{\rho}{kl}^i)A{\text{sum}}$ 平方均值为 1。
3.4 DVAO:用 group variance 动态改写 advantage 权重
DVAO 只改 advantage 计算,不改变 GRPO 的整体采样—打分—policy update 框架。对每个 query 和 reward ,先计算 group standard deviation: 然后把固定权重 替换为: 最终 DVAO advantage 为: 直觉上,若某个 reward 在当前 rollout group 中几乎没有区分度, 很小,DVAO 会降低它对 advantage 的贡献;若某个 objective 在这组样本中存在明显好坏差异, 较大,它更可能提供可学习的排序信号,DVAO 会提高其权重。这样做比手工固定 更适合训练过程中不断变化的 policy distribution。
Proposition 2:DVAO 相对 RC 有 bounded advantage magnitude
DVAO 与 RC 之间有关键恒等式: 又因为 所以得到 pointwise bound: 等号只在所有 reward pairs 在 group 内完全正相关,即 时成立。这个结论解释了为什么 DVAO 相比 RC 更不容易给出过大的 gradient step。
Proposition 3:DVAO 的 cross-objective sensitivity
论文进一步比较 AC 与 DVAO 对第 个 raw reward 的 sensitivity: AC 的项只含 ,因此第 个 reward 的影响只由自己的 isolated advantage 决定。DVAO 的项含 ,意味着同一个 reward 的梯度贡献会被当前 rollout 的整体多目标 advantage 调制:如果某个 response 在整体 multi-objective 上表现不匹配,单一 reward 即使高,也不会被无限放大。
3.5 Pseudocode(基于论文公式;无 released code)
代码搜索未找到开源实现;以下 pseudocode 是按论文公式和 arXiv LaTeX source 复现 DVAO 逻辑,不是 released repository 的逐行映射。
import torch
import torch.nn.functional as F
def group_normalize(rewards: torch.Tensor, eps: float = 1e-8) -> torch.Tensor:
"""rewards: [batch, group, num_rewards] in [0, 1]."""
mean = rewards.mean(dim=1, keepdim=True)
std = rewards.std(dim=1, keepdim=True, unbiased=False).clamp_min(eps)
return (rewards - mean) / std
def reward_combination_advantage(rewards: torch.Tensor, weights: torch.Tensor) -> torch.Tensor:
"""RC baseline: normalize the weighted raw reward sum."""
reward_sum = (rewards * weights.view(1, 1, -1)).sum(dim=-1) # [batch, group]
mean = reward_sum.mean(dim=1, keepdim=True)
std = reward_sum.std(dim=1, keepdim=True, unbiased=False).clamp_min(1e-8)
return (reward_sum - mean) / std
def advantage_combination(rewards: torch.Tensor, weights: torch.Tensor) -> torch.Tensor:
"""AC / GDPO-style fixed-weight advantage combination."""
advantages = group_normalize(rewards) # [batch, group, num_rewards]
return (advantages * weights.view(1, 1, -1)).sum(dim=-1)
def dvao_advantage(rewards: torch.Tensor, weights: torch.Tensor, eps: float = 1e-8) -> torch.Tensor:
"""DVAO: replace fixed weights with group-variance-adaptive weights."""
advantages = group_normalize(rewards, eps=eps)
sigma = rewards.std(dim=1, unbiased=False).clamp_min(eps) # [batch, num_rewards]
weighted_sigma = weights.view(1, -1) * sigma
dynamic_weights = weighted_sigma / weighted_sigma.sum(dim=-1, keepdim=True).clamp_min(eps)
return (advantages * dynamic_weights[:, None, :]).sum(dim=-1) # [batch, group]
def grpo_clipped_objective(logp_new, logp_old, advantages, mask, clip_eps: float = 0.2):
"""Sketch of the GRPO objective after replacing A_sum with A_DVAO."""
ratio = torch.exp(logp_new - logp_old)
adv = advantages[:, :, None]
unclipped = ratio * adv
clipped = torch.clamp(ratio, 1.0 - clip_eps, 1.0 + clip_eps) * adv
token_obj = torch.minimum(unclipped, clipped) * mask
seq_obj = token_obj.sum(dim=-1) / mask.sum(dim=-1).clamp_min(1.0)
return seq_obj.mean()3.6 Code search and code-to-paper mapping
代码搜索未找到开源实现。已检查 arXiv abstract/source/PDF 中的 GitHub / repository / code mentions,并用 web search 与 GitHub CLI 搜索 DVAO, Dynamic Variance-adaptive Advantage Optimization, Multi-reward Reinforcement Learning 等关键词;未发现可引用的 public repo。因此本 note 不设置 github_ref,也不声称存在 released-code training config。
| Paper Concept | Source File | Key Class/Function |
|---|---|---|
| DVAO advantage computation | N/A — 代码搜索未找到开源实现 | N/A |
| Training loop / GRPO integration | N/A — 论文只说明基于 verl 框架实现 | N/A |
| Reward functions / launch config | N/A — 训练配置来自论文 Appendix Implementation Details,不是 released launch script | N/A |
论文公式与 released code 实现差异:未找到 released code,因此无法比较 paper formula 与 implementation 是否一致。
4. Experimental Setup (实验设置)
4.1 Tasks, datasets, and rewards
- Mathematical reasoning evaluation:AIME-2024、AIME-2025、MATH500、OlympiadBench、AMC23。评估目标是 output accuracy 与 length constraint compliance。
- Tool-use evaluation:BFCL-v4,覆盖 Live、Non-Live、Multi-Turn 等 function calling 场景,包括 single-step reasoning、multi-step tool-use、real-time execution、irrelevant tool rejection、simultaneous multi-tool selection、multi-tool execution。评估目标是 tool-use correctness 与 format compliance。
- Training data:数学任务用 DAPO-MATH-17K,包含 17k prompts,每条 prompt 配一个整数答案;tool-use 任务沿用 ToolRL 设置,包含 ToolACE 2k、Hammer 1k、xLAM 1k,共 4k samples,每条包含 question 与 ground-truth tool calls。
- Reward design:数学任务使用 与 ;tool-use 使用 与 。其中 检查输出是否不超过 target length tokens; 检查输出结构与字段顺序是否满足要求。所有 rewards 都约束在 。
4.2 Baselines and models
Baselines 包括:原始 GRPO(只优化 )、Reward Combination (RC)、Advantage Combination (AC)、GDPO。论文强调所有 multi-reward methods 默认使用 equal coefficients,因此 DVAO 的收益不是来自更好的初始人工权重。
模型设置:数学任务用 Qwen3-4B-Base 与 Qwen3-8B-Base;tool-use 任务用 Qwen2.5-3B-Instruct 与 Qwen2.5-7B-Instruct。
4.3 Training and inference config
论文未发布实际 launch script / experiment config;以下数字来自 Appendix Implementation Details。实现基于 verl。Optimizer 为 AdamW,constant learning rate ;prompt batch size 为 128;每个 prompt 采样 responses;训练 500 steps;maximum generation tokens 为 8192;数学任务报告 avg@16;evaluation inference 使用 temperature 0.6、top-p 0.95。硬件是 8NVIDIA H20-3e GPUs 与 Intel Xeon Platinum 8575C CPU。
5. Experimental Results (实验结果)
5.1 Main results:数学推理
下表摘出论文 Table 1 的 average results。DVAO 是两个 Qwen3 base 模型上唯一同时取得最高 average accuracy 与接近满分 length compliance 的方法。
| Model | Method | Avg Acc. | Avg Len. |
|---|---|---|---|
| Qwen3-4B-Base | Model | 25.78 | 90.41 |
| Qwen3-4B-Base | GRPO | 39.91 | 77.84 |
| Qwen3-4B-Base | RC | 38.99 | 96.39 |
| Qwen3-4B-Base | AC | 38.75 | 96.23 |
| Qwen3-4B-Base | GDPO | 13.41 | 97.81 |
| Qwen3-4B-Base | DVAO | 42.19 | 99.91 |
| Qwen3-8B-Base | Model | 33.31 | 94.28 |
| Qwen3-8B-Base | GRPO | 52.57 | 63.47 |
| Qwen3-8B-Base | RC | 46.26 | 98.71 |
| Qwen3-8B-Base | AC | 45.42 | 98.84 |
| Qwen3-8B-Base | GDPO | 14.69 | 99.99 |
| Qwen3-8B-Base | DVAO | 47.49 | 99.92 |
更细的 benchmark 数字也支持同一结论。Qwen3-4B-Base 上,DVAO 在 AIME-2025 达到 13.54 accuracy,高于 GRPO 10.20、RC/AC 9.38;MATH500 为 81.36,高于 GRPO 78.92、RC 78.31、AC 77.65;AMC23 为 53.53,高于 GRPO 49.62、RC 51.50、AC 49.47。Qwen3-8B-Base 上,DVAO 在 AIME-2025 为 18.33,高于 RC 16.25、AC 15.62;MATH500 为 86.10,略低于 GRPO 87.93 但 length compliance 从 GRPO 的 89.61 提升到 99.99;Average accuracy 为 47.49,优于 RC 46.26 和 AC 45.42。
5.2 Main results:BFCL-v4 tool-use
Tool-use 上 DVAO 的优势更直接:两个 Qwen2.5 Instruct 模型上都取得最高 average accuracy 与最高 average format compliance。
| Model | Method | Avg Acc. | Avg Format |
|---|---|---|---|
| Qwen2.5-3B-Instruct | Model | 36.10 | 5.66 |
| Qwen2.5-3B-Instruct | GRPO | 36.56 | 5.61 |
| Qwen2.5-3B-Instruct | RC | 51.02 | 60.48 |
| Qwen2.5-3B-Instruct | AC | 53.47 | 64.69 |
| Qwen2.5-3B-Instruct | GDPO | 52.73 | 65.88 |
| Qwen2.5-3B-Instruct | DVAO | 56.66 | 76.65 |
| Qwen2.5-7B-Instruct | Model | 47.83 | 0.00 |
| Qwen2.5-7B-Instruct | GRPO | 52.26 | 0.00 |
| Qwen2.5-7B-Instruct | RC | 58.38 | 76.42 |
| Qwen2.5-7B-Instruct | AC | 44.25 | 68.04 |
| Qwen2.5-7B-Instruct | GDPO | 60.13 | 68.12 |
| Qwen2.5-7B-Instruct | DVAO | 63.00 | 79.21 |
在 Multi-Turn subset 上,DVAO 的差距尤其明显:3B 模型 DVAO 达到 12.50 accuracy / 57.40 format,高于 GDPO 的 8.38 / 48.04;7B 模型 DVAO 达到 22.25 / 64.58,高于 GDPO 的 17.50 / 49.63。说明 DVAO 对“正确工具调用 + 严格输出格式”的多目标约束比较有效。
5.3 Training dynamics
Figure 2 解读:这是 Qwen3-4B-Base 数学任务的训练曲线组合图。左列是 accuracy reward 的 mean / std,中列是 length reward 的 mean / std,右上是 response length。DVAO 的 accuracy reward mean 始终高于 baselines,同时 accuracy std 下降更快;length reward 更快接近 1.0,std 也更显著 collapse。这与 Proposition 2 的 bounded advantage magnitude 和 Proposition 3 的 cross-objective regularization 相吻合:DVAO 没有让 length objective 单独压倒 accuracy,而是在两个 reward 之间动态调节。
Figure 3 解读:Qwen3-8B-Base 上趋势更明显。DVAO 的 accuracy reward 曲线优势扩大,length reward std 下降到接近 0,而 AC 的 variance 在多个阶段仍高。response length 从约 800 tokens 起步,DVAO 增长最快、最终 plateau 最高,但也有更明显 oscillation;论文将其解释为 DVAO 对 length reward 的更积极优化。关键是这种探索没有变成 runaway length explosion,因为 advantage magnitude 仍受 bound 控制。
5.4 Pareto frontier
Figure 4 解读:左图是 Qwen3-4B-Base 数学任务的 accuracy-length frontier,右图是 Qwen2.5-3B-Instruct tool-use 的 accuracy-format frontier。论文扫描 accuracy weight ,并设 。DVAO 在两个任务上都更靠近右上角,说明它不是只在某个固定 equal-weight 点上有效,而是在不同 trade-off 权重下都更稳定。RC 的 frontier 容易饱和,AC 的点更不稳定,GDPO 出现不连贯 fluctuation。
5.5 Ablation-style findings and limitations
论文没有提供额外 component ablation table;它的关键分析来自 RC / AC / GDPO baselines、training dynamics 和 weight sweep Pareto frontier。可以把结论概括为三点:第一,RC 能提升 compliance,但会牺牲 accuracy 或带来训练不稳;第二,AC / GDPO 改善 magnitude,但固定权重和 objective isolation 使其在 Pareto frontier 上不稳定;第三,DVAO 通过 variance-adaptive weighting 同时提升 average accuracy 与 compliance。
作者在 Appendix 中列出三个限制。第一,DVAO 依赖 rollout group 内的 empirical variance 估计;实验用 很稳,但若超大模型受显存限制只能用 ,variance estimate 可能噪声较大,需要 momentum 或 cross-batch moving average。第二,实验主要是 dual-objective(accuracy+length / accuracy+format);理论可扩展到 个 rewards,但在 helpfulness、harmlessness、style、length、tool-use 等高维 reward space 中的优化动态仍未验证。第三,DVAO 会放大高 variance 的 learning signal;如果某个 auxiliary reward 本身设计很差、variance 来自噪声而不是有效区分度,DVAO 也可能错误地 up-weight 它。