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 ConceptSource FileKey Class/Function
DVAO advantage computationN/A — 代码搜索未找到开源实现N/A
Training loop / GRPO integrationN/A — 论文只说明基于 verl 框架实现N/A
Reward functions / launch configN/A — 训练配置来自论文 Appendix Implementation Details,不是 released launch scriptN/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-BaseQwen3-8B-Base;tool-use 任务用 Qwen2.5-3B-InstructQwen2.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 的方法。

ModelMethodAvg Acc.Avg Len.
Qwen3-4B-BaseModel25.7890.41
Qwen3-4B-BaseGRPO39.9177.84
Qwen3-4B-BaseRC38.9996.39
Qwen3-4B-BaseAC38.7596.23
Qwen3-4B-BaseGDPO13.4197.81
Qwen3-4B-BaseDVAO42.1999.91
Qwen3-8B-BaseModel33.3194.28
Qwen3-8B-BaseGRPO52.5763.47
Qwen3-8B-BaseRC46.2698.71
Qwen3-8B-BaseAC45.4298.84
Qwen3-8B-BaseGDPO14.6999.99
Qwen3-8B-BaseDVAO47.4999.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。

ModelMethodAvg Acc.Avg Format
Qwen2.5-3B-InstructModel36.105.66
Qwen2.5-3B-InstructGRPO36.565.61
Qwen2.5-3B-InstructRC51.0260.48
Qwen2.5-3B-InstructAC53.4764.69
Qwen2.5-3B-InstructGDPO52.7365.88
Qwen2.5-3B-InstructDVAO56.6676.65
Qwen2.5-7B-InstructModel47.830.00
Qwen2.5-7B-InstructGRPO52.260.00
Qwen2.5-7B-InstructRC58.3876.42
Qwen2.5-7B-InstructAC44.2568.04
Qwen2.5-7B-InstructGDPO60.1368.12
Qwen2.5-7B-InstructDVAO63.0079.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 它。