别混合奖励,混合策略:PRISM 如何让一个模型同时讨好所有人
一个尴尬的现实
你训练了一个大语言模型,希望它既聪明、又安全、还会用工具。于是你给它三个奖励信号:答案正确性、输出格式、工具调用规范。按照标准做法,你把三个奖励加权求和,合成一个标量,然后扔进 GRPO 训练。
结果呢?模型确实变好了一点,但每个维度都没做到最好。正确率上去了,格式偶尔出错;格式规范了,正确率又掉下来。你调一下权重,这边好了那边塌——像在玩打地鼠。
这不是你训练超参没调好,这是方法论层面的结构性缺陷。
2026 年 7 月 31 日,来自中科院自动化所、中科院大学、清华 AIR 和同济大学的研究团队提出了一个叫 PRISM 的框架,论文标题本身就是一句挑衅:
> Don't Mix Rewards, Mix Policies. > 别混合奖励,混合策略。
这个标题之所以是挑衅,是因为它否定了当前所有多奖励 RL 方法的共同前提——在奖励空间里做合成。
多奖励 RL 的"打地鼠"困境
要理解 PRISM 在反对什么,先看看现有方法都在做什么。
当你有 N 个奖励 $R_1, R_2, \ldots, R_N$(比如正确性、格式、安全性),现有方法的核心操作是:在更新策略之前,先把所有奖励合成一个标量。
- 线性加权:$R = w_1 R_1 + w_2 R_2 + \ldots + w_N R_N$。简单,但权重对尺度敏感,换个任务就得重新调。
- 自适应加权:用各种技巧缓解尺度不匹配,但归根结底还是在更新前把奖励塌缩成一个数。
- 约束优化:把某些奖励当拉格朗日约束,追求帕累托最优。理论上优雅,实际上不稳定。
这就像你让一个厨师同时做中餐、法餐和日料,还把所有食材扔进同一口锅。不管怎么调火候,最后出来的都是一锅四不像。论文管这个现象叫 multi-reward alignment tax(多奖励对齐税)——每个偏好维度都欠了债,没有一个被充分优化。
更深层的问题是:奖励权重是一个不可靠的接口。不同奖励的尺度、分布、校准方式都不一样。正确性是 0/1 的二元信号,格式也是 0/1,但安全性可能是 0-1 的连续分数。你用权重去调它们的比例,就像用同一个旋钮同时控制音量、亮度和温度——拧到哪都是妥协。
PRISM 的核心洞察:换一个层面解决问题
PRISM 的解法可以用一句话概括:
> 不要在奖励空间做合成,在策略空间做合成。
具体来说,PRISM 做了三件事:
1. 每个奖励一个"正策略"
如果你有三个奖励(正确性、格式、长度),PRISM 不是把它们合成一个奖励然后训练一个策略,而是训练三个独立的"正策略" $\pi_1^+, \pi_2^+, \pi_3^+$,每个策略只对准一个奖励。
这就像不把所有食材扔进一口锅,而是给每个厨师一口独立的锅。中餐厨师只管做最好的中餐,法餐厨师只管做最好的法餐。
2. 一个全局"负策略"捕获所有失败模式
除了 N 个正策略,PRISM 还训练了一个全局负策略 $\pi^-$。这个策略不对应任何单个奖励,而是捕获所有奖励的失败模式的并集——只要任何一个奖励得分很低,负策略就会被激活。
为什么要这样设计?论文给出了一个深刻的洞察:
> "理想行为是奖励特异的,值得专门的优化方向;不理想行为不需要归因到单个奖励。一个负策略就足以捕获所有失败模式的并集,联合惩罚。"
这就像公司里的安全部门不需要按业务线分——一个安全团队管所有业务线的违规行为就够了。但业务能力必须是专门的:做搜索的团队和做推荐的团队不能混为一谈。
3. 在 logit 层做线性合成
训练完 N+1 个子策略后,PRISM 在推理时怎么把它们合起来?
关键数学推导:由于所有子策略共享同一个参考策略 $\mu$ 和同一个上下文,取对数后,策略的乘积变成了 logit 的线性组合:
$$z_t^\star = \sum_{k=1}^{N} \alpha_k z_{k,t}^+ - \gamma z_t^-$$
其中 $z_{k,t}^+$ 是第 k 个正策略的 logit,$z_t^-$ 是负策略的 logit,$\alpha_k$ 和 $\gamma$ 是可调的合成权重。
这就像调音台:每个正策略是一个声道,负策略是降噪通道,权重就是推子。推理时调一下推子,就能实时改变模型的行为偏好——不需要重新训练。
一个模型,多副面孔
到这里你可能发现了一个工程问题:N 个正策略 + 1 个负策略 = N+1 个模型?参数量和推理延迟都翻 N+1 倍?
PRISM 用三个工程技巧解决了这个问题:
技巧一:共享主干 + 前缀条件化。 所有子策略共用同一个语言模型 $\pi_\theta$,但每个子策略有一组独立的可学习前缀嵌入 $\mathcal{P} = \{P_1^+, P_2^+, \ldots, P_N^+, P^-\}$。就像同一个人戴不同的帽子干不同的活——模型参数共享,但前缀让它在不同"模式"下表现不同。
技巧二:非对称训练。 正策略的梯度同时更新主干 $\theta$ 和自己的前缀 $P_k^+$;负策略的梯度只更新自己的前缀 $P^-$,对主干做 stop-gradient。
这个设计很巧妙:主干只被高质量的正策略数据训练,不会被负策略的"失败模式"污染。负策略的前缀自己学会识别什么是不好的输出,但不影响主干的能力。论文管这叫 backbone-preserving asymmetric training(保主干非对称训练)。
技巧三:并行批量混合采样。 推理时不是串行跑 N+1 次前向传播,而是把 query、每个分支的前缀、已生成内容沿 batch 维度堆叠,在一次前向传播里同时算出所有分支的 logit,然后按权重混合,采样一个 token。
结果是:每 token 延迟等于一次前向传播,只是 batch 维度变大了。内存和 FLOPs 随奖励数量线性增长,但延迟不随奖励数量增长。
数据说话:PRISM 赢了多少?
论文在三个多奖励场景上做了实验:
场景一:科学推理(正确性 + 格式)
在 ScienceQA 和 GPQA 上,PRISM 在三个主干上全部取得最佳综合分:
| 主干 | PRISM | 最强基线 | 提升 |
|---|---|---|---|
| DeepSeek-R1-1.5B | 62.73 | 44.96 | +17.77 |
| Qwen2.5-1.5B-Instruct | 71.34 | 63.30 | +8.04 |
| Qwen2.5-3B-Instruct | 69.31 | 68.71 | +0.60 |
场景二:工具调用(格式 + 正确性 + 长度)
在 BFCL-v3 上,PRISM 拿到最佳格式准确率(95.23)和最佳整体准确率(53.46),在非实时场景下三项指标全部最佳。
场景三:有用性-安全性对齐
在 Alpaca、HH-RLHF、PKU-SafeRLHF 三个评测集上,PRISM 在有用性和无害性上同时取得最高分。这特别值得注意——传统方法通常在安全性和有用性之间有 trade-off,PRISM 同时提升了两者。
对齐税实验:奖励越多,优势越大
这是最关键的实验。作者在 BFCL-v3 上分别用 1、2、3 个奖励训练模型,观察正确率的变化:
- PRISM:加到 3 个奖励后,正确率几乎不变。
- GDPO 和 GRPO-Prod:加奖励后正确率明显下降。
- GRPO-Sum:正确率还算稳定,但格式和长度奖励的优化远弱于 PRISM。
收敛速度:2 倍样本效率
在 3 奖励设置下,PRISM 大约 3k 步收敛,其他方法需要 6k+ 步。这是因为每个奖励只通过自己的正策略分支影响梯度,不会和其他奖励的梯度打架——梯度冲突少了,训练自然快。
推理时控制:一个旋钮调三种行为
PRISM 最酷的特性是推理时可控性。训练完一次,你就能通过调权重 $\alpha_k$ 实时改变模型行为:
- $\alpha_1 = 0.55$(正确性主导)→ 正确率最高(31.53%)
- $\alpha_2 = 0.55$(格式主导)→ 格式准确率最高(98.08%)
- $\alpha_3 = 0.55$(长度主导)→ 平均推理长度最长(108.0 token)
消融实验:每个零件都有用
论文做了三组消融,每个设计都被证明有贡献:
1. 共享正策略(把所有正策略合成一个)→ 格式和正确率都下降最多。奖励特异的优化方向是关键。 2. 去掉全局负策略 → 所有指标都下降。负策略在捕获共享失败模式上不可替代。 3. 独立分支采样(不从合成策略采样,而是各采各的)→ 整体准确率最低。训练时从合成策略采样能对齐训练分布和推理分布。
负策略的权重函数也做了对比:PRISM 用的 max 加权比 LogAvgExp 和 mean 都好,说明"任何一个奖励严重失败就触发惩罚"比"平均所有奖励"更符合设计意图。
工程洞察:为什么这个设计有效?
PRISM 的成功背后有几个值得提炼的工程原则:
原则一:优化颗粒度应该和被优化对象的颗粒度一致。 每个奖励是一个独立的偏好维度,那就给它一个独立的优化方向。把多个偏好塌缩到一个梯度更新里,就像把多个任务塞给一个员工还指望他每样都精通——结构性地不可能。
原则二:分工比统一更有效。 正策略是专家(每个只管一个奖励),负策略是通才(管所有失败模式)。这种"专家+通才"的分工在工程里反复出现:微服务架构里每个服务专做一件事,但监控和告警是统一的;PRISM 里每个正策略专攻一个奖励,但负策略统一捕获所有失败。
原则三:合成接口应该在最底层。 PRISM 不是在策略输出层做合成(那需要 N+1 次采样),而是在 logit 层做线性组合——最底层的表示,最便宜的操作。这就像调音台不在扬声器输出端做混合,而在信号最原始的电流层做。
原则四:训练分布要和推理分布对齐。 PRISM 从合成策略 $\pi^\star$ 采样训练数据,而不是从各分支独立采样。这保证了训练时见到的分布和推理时一致——一个容易被忽视但消融实验证明关键的细节。
局限和未来方向
论文诚实地列出了三个局限:
1. 奖励数量扩展性:实验最多只到 3 个奖励,更多奖励时是否仍然有效未知。 2. 手动权重:合成权重目前需要手动指定,如何根据 prompt、用户、部署上下文自适应调整是开放问题。 3. 内存和 FLOPs:虽然延迟不随奖励数量增长,但内存和计算量线性增长。对于大模型 + 多奖励场景,这可能成为瓶颈。
这三个局限恰好指向了未来的研究方向:自动权重学习、更高效的多分支解码、更大规模奖励场景的验证。
我的思考:从"换层面解决问题"谱系看 PRISM
PRISM 让我想到一个反复出现的模式——换层面解决问题:
- 章鱼不在 DNA 层面适应环境,而是在 RNA 层面做编辑——不改蓝图,改施工图。
- Möbius RoPE 不在权重层面改模型,而是在位置编码层面做拓扑干预——不改参数,改坐标。
- 螳螂虾不在肌肉层面硬抗冲击,而是在结构层面用声子晶体过滤——不蛮力阻挡,选择性过滤。
- PRISM 不在奖励层面做合成,而是在策略层面做合成——不混合信号,混合行为。
奖励是标量,策略是分布。把多个标量合成一个标量,信息必然丢失。把多个分布合成一个分布,信息可以保留——因为分布有足够的自由度承载多个偏好。
PRISM 的数学推导也证明了这一点:最优策略 $\pi^\star$ 可以精确分解为 N 个正策略和 1 个负策略的乘积(公式 11),而且每个子策略的定义不依赖于合成权重。这意味着你可以先训练完所有子策略,再在推理时任意组合——训练和推理解耦了。
"训练一次,得到一族策略"——这是 PRISM 最深刻的工程价值。在传统多奖励 RL 里,换一组权重就得重训一次。PRISM 把这个成本从"N 次训练"降到了"1 次训练 + N 次推理时调权"。对于需要在不同部署场景(比如医疗场景偏安全、客服场景偏有用)使用同一基础模型的团队,这个特性价值巨大。
对从业者的启示
如果你在做 LLM 对齐或后训练,PRISM 给了几个直接可借鉴的思路:
1. 多奖励场景别急着加权。如果你有多个不同性质的奖励(规则型 + 模型型),先想想它们是否适合在同一个梯度更新里竞争。如果不适合,考虑策略空间合成。
2. 前缀条件化是低成本的多策略方案。不需要维护 N 个模型,共享主干 + 前缀嵌入就能实现多策略,且推理延迟几乎不变。
3. 非对称训练保护主干。负策略(或任何"抑制性"分支)的梯度对主干做 stop-gradient,可以防止主干被"负面数据"污染。这个技巧不只适用于 PRISM,任何有正负分支的设计都可以用。
4. 推理时可控性是新的产品维度。训练一次得到的不是"一个模型",而是"一个模型族"。用户可以在推理时动态调整偏好——这在传统 RLHF 里是不可能的。
结语
PRISM 的标题是一句挑衅,但它的数学是干净的、工程是扎实的、实验是有说服力的。它不是在现有方法上做微调,而是换了一个层面来思考多奖励问题——从"如何更好地混合奖励"到"为什么要在奖励层面混合"。
当你在训练中遇到多个奖励互相打架、调一个塌另一个的问题时,记住这句话:别混合奖励,混合策略。
---
作者:Ruiming Liang, Yi Zhong, Yizhen Yuan, Yinan Zheng, Tianyi Tan, Tianyue Wang, Haiyun Guo, Jinqiao Wang, Xianyuan Zhan
机构:中科院自动化所 / 中科院大学 / 清华大学 AIR / 同济大学
代码:暂未开源(论文发表日期 2026-07-31,关注作者 GitHub 动态)