SAPO: Self-Adaptive Process Optimization Makes Small Reasoners Stronger¶
会议: AAAI 2026
arXiv: 2601.20312
代码: 无
领域: 对齐RLHF / 过程监督与推理优化
关键词: process supervision, self-evolution, first error detection, small language models, reasoner-verifier gap
一句话总结¶
受神经科学中Error-Related Negativity启发,提出自适应过程优化方法SAPO,通过首错检测+局部后验估计替代低效的逐步蒙特卡洛rollout,在降低2-3倍计算成本的同时实现推理器-验证器协同优化,使小语言模型(≤2B)在数学和代码推理任务上超越多数自演化方法。
研究背景与动机¶
- 领域现状: 大语言模型推理能力强但计算成本高,小语言模型(SLM, ≤2B)是部署到移动端的可行方案。自演化方法通过推理器-验证器交互框架来提升SLM推理能力。
- 现有痛点:
- 大多数自演化方法仅使用outcome reward(结果反馈),忽略细粒度的步骤级反馈,容易产生reward hacking
- Monte Carlo过程监督虽然更精细,但计算极其昂贵(10k问题×8步×10轨迹 = 80万次rollout)
- 多轮迭代下,推理器与验证器之间的gap不断扩大(Figure 1),验证器评估质量下降
- 核心矛盾: 过程监督的精细度与计算效率之间的权衡——需要步骤级反馈来减小reasoner-verifier gap,但全量MC估计代价太高。
- 本文要解决什么? 如何在不显著增加监督成本的前提下,实现推理引擎与验证器的协同优化。
- 切入角度: 受Error-Related Negativity(ERN)启发——人类在做出错误决定后能快速定位错误位置并调整行为——只需定位首个错误就能提供有效过程监督。
- 核心idea一句话: 用验证器定位首错位置、推理器做局部后验验证替代逐步MC rollout,以最小成本引入过程监督信号。
方法详解¶
整体框架¶
SAPO采用迭代式探索-利用范式:每轮迭代中,验证器预打分→首错检测→推理器后验验证→验证器更新→构建偏好数据→推理器对齐。推理器和验证器协同进化。
关键设计¶
- 首错检测 (First Error Detection)
- 做什么:利用验证器 \(V\) 对轨迹中每步打分,找到分数下降最大的位置作为潜在首错位置
- 核心思路:计算相邻步骤的分数差 \(\Delta_j = \hat{c}_{j-1} - \hat{c}_j\),取最大差值处 \(\hat{t} = \arg\max_j \Delta_j\)
-
设计动机:首错位置足以提供有效的过程监督信号(Uesato et al. 2022),而不需要标注每一步
-
自验证 (Self-Verification)
- 做什么:用推理器对验证器预测的首错位置进行后验估计,修正预标注标签
- 核心思路:只需对 \(\hat{t}-1\) 和 \(\hat{t}\) 两个位置做rollout验证,覆盖三种情况:
- Case (a): \(c_{\hat{t}-1}=1, c_{\hat{t}}=0\) → 预测正确
- Case (b): \(c_{\hat{t}-1}=1, c_{\hat{t}}=1\) → 首错在后面(\(\hat{t}<t\)),延伸正确标签
- Case (c): \(c_{\hat{t}-1}=0, c_{\hat{t}}=0\) → 首错在前面(\(\hat{t}>t\)),提前错误标签
-
设计动机:仅2次rollout即可完成验证,vs MC需要全步骤逐个rollout
-
验证扩展 (Expansion)
- 做什么:利用rollout过程中产生的扩展轨迹来增强验证的泛化性
- 核心思路:若 \(c_{\hat{t}}=1\),则以 \(s_{(0:\hat{t})}\) 为前缀的正确轨迹每步都正确;若 \(c_{\hat{t}}=0\),则 \(s_{\hat{t}}\) 开始的所有后缀都标记为错误
- 设计动机:rollout自然产生多样样本,可复用来增强PRM训练数据
损失函数 / 训练策略¶
- 验证器训练: 使用MSE损失的分类PRM — \(\mathcal{L}_{PRM} = \frac{1}{n}\sum_i\sum_j(f(s_{(0:j)}^i;q) - c^k)^2\)
- 推理器对齐: 使用ORPO算法构建偏好对 — \(\mathcal{L}_{ORPO} = \mathbb{E}[\mathcal{L}_{SFT}(q,\tau^w) - \beta\log\sigma(\frac{\text{odds}(\tau^w|q)}{\text{odds}(\tau^l|q)})]\)
- 偏好数据构建: 设阈值 \(\eta\),当 \(r(\tau_i^w) - r(\tau_i^l) \geq \eta\) 时构建正负样本对
- 迭代策略: 3轮迭代,每轮更新验证器后再优化推理器
实验关键数据¶
主实验 - 数学推理与代码生成¶
| 方法 | Qwen-2.5-0.5B GSM8K | Qwen-2.5-0.5B MATH(OOD) | Llama-3.2-1B GSM8K | Gemma-2-2B GSM8K |
|---|---|---|---|---|
| CoT | 28.51 | 25.97 | 5.31 | 19.86 |
| SFT | 34.19 | 24.84 | 22.14 | 39.12 |
| RFT | 37.83 | 27.35 | 26.31 | 45.34 |
| Online-RFT | 40.79 | 28.85 | 29.03 | 48.67 |
| SFT+GRPO | 46.24 | 34.53 | 26.46 | 44.65 |
| SAPO-iter3 | 41.62 | 31.72 | 34.19 | 49.73 |
| 方法 | Qwen-2.5-0.5B MBPP | Llama-3.2-1B MBPP | Gemma-2-2B MBPP |
|---|---|---|---|
| SFT+GRPO | 35.20 | 25.55 | 33.40 |
| SAPO-iter3 | 36.67 | 28.92 | 35.43 |
消融实验 - GSM8K¶
| 方法 | Qwen-2.5-0.5B | Llama-3.2-1B |
|---|---|---|
| SAPO (完整) | 41.62 | 34.19 |
| w/o 过程反馈 (PF) | 39.65 | 32.37 |
| w/o 检测验证 (DV) | 40.86 | 31.69 |
| w/o 奖励模型 (RM) | 40.71 | 32.75 |
| w/o 扩展 (EP) | 40.33 | 33.73 |
关键发现¶
- GRPO的模型依赖性: Qwen-2.5-0.5B上GRPO最强,但在Llama和Gemma上表现不如SAPO,说明GRPO效果高度依赖于基础模型能力
- 代码任务优势: SAPO在代码生成任务上始终优于GRPO,说明过程监督在结构化推理中更有效
- 效率提升: 相比Shepherd(逐步rollout),SAPO在FLOPs和时间消耗上降低2-3倍
- 验证器性能提升: SAPRM在迭代过程中持续提升过程验证性能,且在代码验证上尤其优于Online ORM
- 同步对齐的重要性: 同轮次的推理器-验证器对(如V3-R3)错误率最低,跨轮次配对错误率更高
亮点与洞察¶
- 神经科学启发: ERN的类比直觉优雅——人类不需要检查每一步,只需快速定位首个错误就能做出调整
- 自适应效率: 巧妙利用首错定位将O(n)的MC估计降为O(1)的局部验证,在精度和效率间取得平衡
- 两个新benchmark: 引入GSM_Process(3,786)和MBPP_Process(1,499)用于评估过程验证器,填补了步骤级验证评估的空白
- 迭代收敛分析: 通过自验证错误率实验(Table 2)直接度量了推理器-验证器gap的变化
局限性 / 可改进方向¶
- 在Qwen-2.5-0.5B的数学任务上仍不如SFT+GRPO(41.62 vs 46.24),说明GRPO在部分场景下更有效
- 仅测试了≤2B模型,未验证对更大模型的适用性
- 首错检测依赖验证器质量,初始验证器弱时可能导致级联错误
- 扩展策略假设首错位置之前全部正确、之后全部错误,但实际中可能存在部分正确的后续步骤
相关工作与启发¶
- GRPO (Shao et al. 2024): 基于组相对策略优化,适用于大模型但SLM上不一定最优 → SAPO为SLM提供了更稳定的选择
- V-STaR (Hosseini et al. 2024): 用验证器内化对齐信号 → SAPO进一步推进了推理器-验证器协同
- OmegaPRM (Luo et al. 2024): 用二分估计定位首错 → SAPO的detect+verify策略更全面
评分¶
- 新颖性: ⭐⭐⭐⭐ ERN启发的首错检测+自验证机制新颖,效率优化思路优雅
- 实验充分度: ⭐⭐⭐⭐ 三个backbone×两个任务类型×多个baseline,消融和效率分析全面
- 写作质量: ⭐⭐⭐⭐ 动机清晰,从problem→method→experiment逻辑完整
- 价值: ⭐⭐⭐⭐ 对SLM自演化和过程监督效率化有明确的实用贡献