Dr. MAS:给多智能体LLM系统开一剂"镇静药"——稳定强化学习的理论与实践

一句话总结:Dr. MAS发现GRPO在多智能体LLM系统中训练不稳定的根本原因——全局归一化基线与各智能体奖励分布不匹配,并用一个极简的"智能体级归一化"方案彻底解决,在数学推理和搜索任务上带来了5-15%的提升。


🎯 问题出在哪里?

2025年以来,多智能体LLM系统火了。道理很简单——一个模型干不好的事,让几个模型分工合作。比如做数学题:一个Solver负责解题,一个Verifier负责检查;做搜索:一个Verifier判断要不要搜,一个Searcher去检索,一个Answer来综合回答。

这种"流水线式"的协作确实有效,但有个致命问题:怎么训练这些智能体?

GRPO(Group Relative Policy Optimization)是DeepSeek提出的强化学习算法,单智能体训练效果很好。自然的想法是:把它直接用到多智能体系统上。

然后,梯度就炸了。

GRPO vs Dr. MAS 对比

图1:左边是标准GRPO,用全局基线归一化所有智能体的优势;右边是Dr. MAS,每个智能体用自己的基线。全局基线导致梯度不稳定,而智能体级基线保持梯度平稳

这张图把问题和方案都画清楚了。GRPO用一个全局的 \((\mu, \sigma)\) 来归一化所有智能体的优势函数——但问题是,Solver和Verifier的奖励分布可能差十万八千里。用一把尺子量两种东西,结果只能是——有的量多了,有的量少了。

打个比方,就像老师给全班统一调分:数学班平均70分,体育班平均90分。如果用全校平均80分来统一调分,数学班的同学会觉得"分数变低了,啥也不想干了",体育班的同学则"分数虚高,啥都敢干"。最终效果就是——训练过程像过山车一样剧烈震荡。


🏗️ Dr. MAS的核心方案

Dr. MAS的解法出奇地简单:每个智能体用自己的奖励统计量来归一化。

就这一句话?对,就这一句话。但论文的价值在于:用严格的数学证明了"为什么全局归一化会炸",以及"为什么智能体级归一化能稳"。

理论分析:梯度膨胀的数学根源

标准GRPO下,对于智能体 \(k\),其梯度贡献可以写成:

\[\tilde{g}_k^{\text{global}} = \frac{R^i - \mu}{\sigma} \cdot z_{i,t}^{(k)}\]

其中 \((\mu, \sigma)\) 是全局奖励的均值和标准差,\(z_{i,t}^{(k)}\) 是得分函数(score function)。

论文的核心定理(命题4.3)证明了:梯度范数的二阶矩会因为智能体间的分布差异而膨胀。

\[\mathbb{E}\left[\|\tilde{g}_k^{\text{global}}\|^2\right] = \mathbb{E}\left[\|z_{i,t}^{(k)}\|^2\right] \cdot \underbrace{\frac{\sigma_k^2 + (\mu_k - \mu)^2}{\sigma^2}}_{\text{膨胀因子}} + \Delta_k\]

看到那个"膨胀因子"了吗?当某个智能体的奖励均值 \(\mu_k\) 偏离全局均值 \(\mu\) 很远,或者其方差 \(\sigma_k^2\) 与全局方差 \(\sigma^2\) 差别很大时,这个因子就会爆炸式增长——直接导致梯度尖峰。

Dr. MAS的修复:消灭膨胀因子

Dr. MAS把全局 \((\mu, \sigma)\) 换成智能体特定的 \((\mu_k, \sigma_k)\)

\[A_{\text{agent}}^{i,k} = \frac{R^i - \mu_k}{\sigma_k}\]

代入梯度公式后:

\[\mathbb{E}\left[\|\tilde{g}_k^{\text{agent}}\|^2\right] = \mathbb{E}\left[\|z_{i,t}^{(k)}\|^2\right] + \Delta_k\]

膨胀因子直接变成了1——被彻底消灭了。每个智能体的梯度范数只受自身得分统计量限制,再也不会被其他智能体的分布"带偏"。

这个修改在代码层面大概就几行的改动:

# Vanilla GRPO: 全局归一化
mu_global = rewards.mean()
sigma_global = rewards.std()
advantages = (rewards - mu_global) / sigma_global

# Dr. MAS: 智能体级归一化
for agent_id in agents:
    agent_rewards = rewards[agent_mask == agent_id]
    mu_k = agent_rewards.mean()
    sigma_k = agent_rewards.std()
    advantages[agent_mask == agent_id] = (agent_rewards - mu_k) / sigma_k

改动虽小,效果立竿见影。


🔧 端到端训练框架

除了算法层面的修复,Dr. MAS还提供了一个完整的多智能体RL训练框架。

训练框架架构

图2:Dr. MAS的端到端训练框架,包含多智能体编排、智能体-模型分配和共享资源池调度三个核心模块

框架有三个关键设计:

1. 多智能体编排

管理智能体之间的交互流程。比如数学任务中的"Solver解题→Verifier检查→不通过则返回Solver"循环,搜索任务中的"Verifier判断→Searcher检索→Answer综合"流水线。

2. 智能体-模型分配

两种模式: - 共享模式:所有智能体用同一个模型(参数共享),映射到同一个工作线程组 - 非共享模式:不同智能体用不同模型(比如Verifier用7B,Searcher用3B),各自有独立的工作线程组

非共享模式更贴近实际应用——毕竟不是每个角色都需要同样大的模型。

3. 共享资源池调度

用SGLang作为推理引擎,通过Ray placement groups把多个LLM actor后端部署在共享GPU资源池中。这样做的好处是:不同智能体的计算负载不同(有的忙有的闲),资源池可以动态调配,避免浪费。


🧪 实验设置

论文在两类任务上验证了Dr. MAS:

任务示意图

图3:左边是数学推理任务(Solver+Verifier双智能体),右边是多轮搜索任务(Verifier+Searcher+Answer三智能体)

数学推理(双智能体)

  • Solver:提出数学解法
  • Verifier:审查解法,不通过则打回重做(最多2轮)
  • 基础模型:Qwen3-4B / Qwen3-8B
  • 训练数据:DAPO-Math
  • 评估基准:AIME'24/'25, AMC'23, MATH500, Minerva, OlympiadBench

多轮搜索(三智能体)

  • Verifier:判断是否需要搜索
  • Searcher:执行信息检索
  • Answer:综合检索结果给出回答
  • 基础模型:Qwen2.5-3B / Qwen2.5-7B
  • 评估基准:NQ, TriviaQA, PopQA, HotpotQA, 2WikiMultiHopQA, MuSiQue, Bamboogle

📊 实验结果

数学推理:稳定提升

模型配置 方法 AIME'24 (Avg@16) MATH500 (Avg@16) 总体 Avg@16 总体 Pass@16
Qwen3-4B 共享 GRPO 28.3 82.2 52.3 71.0
Qwen3-4B 共享 Dr. MAS 30.6 83.4 53.6 71.9
Qwen3-8B 共享 GRPO 42.7 86.2 57.8 72.1
Qwen3-8B 共享 Dr. MAS 54.8 86.0 62.3 77.6
Qwen3-4B 非共享 GRPO 33.1 82.8 57.5 74.4
Qwen3-4B 非共享 Dr. MAS 36.1 83.2 61.1 77.7

在Qwen3-8B共享配置下,AIME'24这种高难度竞赛题上,Dr. MAS把Avg@16从42.7提到了54.8——涨了12个点。这个提升很可观,因为AIME是真正的硬骨头。

多轮搜索:拯救崩溃的训练

搜索任务的结果更有戏剧性。Vanilla GRPO在非共享模式下直接"崩了":

模型配置 方法 Avg@16 Pass@16
Qwen2.5-7B 共享 GRPO 42.5 57.4
Qwen2.5-7B 共享 Dr. MAS 42.0 56.7
Qwen2.5-7B 非共享 GRPO 28.0 40.5
Qwen2.5-7B 非共享 Dr. MAS 43.8 58.3

非共享模式下,GRPO的Avg@16只有28.0——比共享模式低了14个点!这是灾难性的性能下降。原因很清楚:三个智能体用不同的模型,奖励分布差异更大,全局基线导致梯度剧烈震荡,模型学会了"尽量不调用搜索"来规避高风险——但不搜索就答不对问题。

Dr. MAS直接把性能拉回43.8,涨了15.8个点。这不是"锦上添花",而是"起死回生"。

梯度稳定性:看得见的差别

搜索任务梯度对比

图4:多轮搜索任务(Qwen2.5-7B非共享)的训练曲线。GRPO的梯度范数充满剧烈尖峰(特别是Verifier和Search),Dr. MAS则全程平滑

这张图对比了三个智能体的梯度范数曲线。GRPO的Verifier和Search智能体的梯度范数满是尖峰,最高能飙到6以上;Dr. MAS的曲线则平稳得多,始终控制在合理范围内。

训练准确率的对比也很明显:GRPO在初期还行,但随着梯度尖峰的积累,后期开始退化;Dr. MAS则稳步上升。

数学任务梯度对比

图5:数学推理任务(Qwen3-8B共享)的梯度范数对比。即使在共享参数的设置下,GRPO的Verifier梯度范数也有明显波动,而Dr. MAS保持平稳


🔬 消融实验:每一步都有用

论文拆解了Dr. MAS的两个组件——智能体级均值 \(\mu_k\) 和智能体级标准差 \(\sigma_k\)——看各自的贡献:

消融实验

图6:消融实验结果(Qwen2.5-7B非共享搜索任务),展示四种归一化策略的训练准确率曲线

归一化策略 描述 Avg@16
\((\mu, \sigma)\) Vanilla GRPO(全局) 28.0
\((\mu_k, \sigma)\) 智能体级均值+全局方差 39.1 (+11.1)
\((\mu, \sigma_k)\) 全局均值+智能体级方差 42.9 (+14.9)
\((\mu_k, \sigma_k)\) Dr. MAS(全部智能体级) 43.8 (+15.8)

两个有趣的发现:

  1. 方差校准比均值校准更重要:单独用 \(\sigma_k\) 带来14.9的提升,而单独用 \(\mu_k\) 只有11.1。这说明不同智能体优势分布的"散布程度"差异比"中心位置"差异更致命。

  2. 两者结合最优\((\mu_k, \sigma_k)\) 比任何单一校准都好,说明均值和方差的校准是互补的。


🏋️ 异构模型分配:省钱还不掉性能

一个实际的问题:三个智能体都用7B模型吗?Verifier只需要判断"要不要搜",3B就够了吧?

论文测试了异构配置(Verifier用7B,Searcher和Answer用3B):

异构配置对比

图7:同构vs异构模型分配的对比。(a)性能几乎相同,(b)延迟降低31.6%、成本降低41.8%,(c)不同智能体的token消耗分布

指标 同构 (全7B) 异构 (7B+3B+3B)
Avg@16 42.5 42.0
Pass@16 57.7 57.4
延迟 97.5s 83.9s (-31.6%)
成本 $3093 $1592 (-41.8%)

性能几乎没降(Avg@16只掉了0.5),但延迟减了三分之一,成本直接砍掉四成。这对实际部署意义重大——不是每个角色都需要"大模型",给合适的角色配合适的模型大小,才是工程上的最优解。


💡 我的观点和启发

简单方案的力量

Dr. MAS的核心改动就是把全局 \((\mu, \sigma)\) 换成智能体级的 \((\mu_k, \sigma_k)\),代码改动可能不到10行。但这"一行代码"的背后,是扎实的理论分析——证明了问题出在哪里、为什么这样改能解决。

这种"理论驱动+极简修改"的风格,我觉得比一堆复杂的工程trick要有价值得多。因为它告诉你原理,而不只是"试了一圈这个最好"。

多智能体RL训练的通用性问题

这篇论文暴露了一个更深层的问题:现有的RL算法基本都是为单智能体设计的。GRPO、PPO、REINFORCE——它们的基线设计都假设只有一个策略在学习。当多个策略同时训练、共享奖励信号时,这些假设就不成立了。

Dr. MAS解决了GRPO的问题,但PPO呢?DPO呢?这个方向还有很大的探索空间。

实际应用的启示

如果你在搭建多智能体LLM系统:

  1. 不要无脑用全局基线——哪怕你的智能体共享参数,它们的行为分布也可能不同
  2. 异构配置是划算的——不需要每个角色都用最大的模型
  3. 监控梯度范数——如果训练过程中出现梯度尖峰,很可能就是基线偏差导致的

对未来的展望

这篇论文聚焦在GRPO上,但核心思想——"智能体级的统计归一化"——可以迁移到其他RL算法。我觉得接下来可能会看到:

  • 多智能体DPO的类似问题和修复
  • 更复杂的多智能体编排(5个以上智能体)的训练稳定性研究
  • 智能体间奖励信号的信用分配问题的进一步探索

⚠️ 局限性

论文也有一些可以改进的地方:

  1. 任务类型有限:只测试了数学推理和搜索两类任务,更复杂的智能体协作(如代码生成、多模态推理)还需验证
  2. 智能体数量较少:最多3个智能体,当智能体数量增加到10+时,框架的扩展性如何?
  3. 奖励设计较简单:用的是二元奖励(成功1/失败0),更细粒度的奖励信号下表现如何?
  4. 没有跨任务泛化实验:在数学上训练的Dr. MAS,搜索能力是否也会提升?

🔗 资源链接

  • 论文:https://arxiv.org/abs/2602.08847
  • 代码框架:论文提到了端到端框架,建议关注后续开源

📚 附录:GRPO快速回顾

GRPO是DeepSeek提出的一种不需要Critic模型的策略优化算法。核心思想:

  1. 对同一个问题生成一组回答
  2. 给每个回答打分
  3. 在组内做标准化,计算相对优势
  4. 用相对优势来更新策略

比PPO省了Critic模型的显存和计算,特别适合大模型训练。

但GRPO原始设计只考虑了单智能体——所有回答来自同一个策略。Dr. MAS发现,当回答来自不同策略(不同智能体)时,全局标准化会导致梯度膨胀,必须分而治之。

方法 归一化方式 适用场景 训练稳定性
GRPO 全局 \((\mu, \sigma)\) 单智能体 ✅ 稳定
GRPO 全局 \((\mu, \sigma)\) 多智能体 ❌ 梯度尖峰
Dr. MAS 智能体级 \((\mu_k, \sigma_k)\) 多智能体 ✅ 稳定

一句话总结Dr. MAS的贡献:它把GRPO从"单智能体专用"升级成了"多智能体通用",而代价只是几行代码的改动和一篇严谨的数学证明。