Jiahong 的个人博客

凡事预则立,不预则废


  • Home

  • Tags

  • Archives

  • Navigation

  • Search

Spark——DataFrame读取Array类型


spark 从 DataFrame 中读取 Array 类型的列

  • 代码示例
    1
    2
    3
    4
    dataFrame.rdd.map(row => {
    val vectorCol = row.getAs[Seq[Double]]("VectorCol")
    vectorCol.toArray
    }).collect().foreach(println)

Spark——SQL-Join详解


*参考链接:Spark调优 | 一文搞定 Join 优化

NLP——Muon

  • 参考链接:
    • 原始博客(Muon 最早出自该博客):kellerjordan.github.io/posts/muon, Muon: An optimizer for hidden layers in neural networks, 20241208
    • 苏神的解读:Muon优化器赏析:从向量到矩阵的本质跨越,注:苏神博客中写的方案与原始博客方案不完全相同,增加了一些技巧
    • Muon 的改进论文:Muon is Scalable for LLM Training, 20250224, Moonshot AI
      • 本文以解读这篇论文为主

整体讨论

  • 在 AdamW 已经大行其道的今天(24年底),已经很少有人在优化器上下功夫了,Muon (MomentUm Orthogonalized by Newton-Schulz) 就是其中一个不可多得的优秀方法
  • Muon 最早由 Keller Jordan 2024年12月8日 在其博客 Muon: An optimizer for hidden layers in neural networks 中发表,后在业内引起了广泛讨论

《Muon is Scalable for LLM Training》 Paper Summary

  • 基于矩阵正交化(Matrix Orthogonalization)的 Muon 优化器(2024)在小规模语言模型训练中表现出色,但其在大规模模型上的可扩展性尚未得到验证
  • 论文发现了两种关键技术可以扩展 Muon:
    • (1)加入权重衰减(weight decay)
    • (2)精心调整每个参数的更新尺度
  • 这些技术改进让 Muon 能够直接用于大规模训练,而无需调整超参数
  • 扩展定律实验表明,在计算最优训练条件下,Muon 的计算效率比 AdamW 高约 2 倍
  • 基于这些改进,论文推出了 Moonlight,这是一个使用 Muon 训练、包含 3B/16B 参数的 MoE 模型,训练数据量为 5.7T tokens
  • 论文的模型改进了当前的帕累托前沿(Pareto frontier) ,在更少的训练浮点运算(FLOPs)下实现了更好的性能
  • 论文开源了分布式 Muon 实现,该实现内存最优且通信高效(特别地:还发布了预训练、指令微调及中间检查点)

Introduction and Discussion

  • LLM (2024;DeepSeek-2024;2024;2024)的快速发展显著推动了通用人工智能的进步
  • 由于扩展定律(2020;2022)的存在,训练强大的 LLM 仍然是一个计算密集且资源需求高的过程
  • 优化器在高效训练 LLM 中扮演着关键角色,其中 Adam(2015)及其变体 AdamW(2019)是大多数大规模训练的标准选择
  • 近期优化算法的发展显示出超越 AdamW 的潜力(2024;2024;2024;2025;2018a;2018b;2024;2022;2024;2025)
  • 其中,K. Jordan 等人(2024)提出了 Muon ,它通过牛顿-舒尔茨迭代(Newton-Schulz iteration)使用正交化梯度动量(orthogonalized gradient momentum)更新矩阵参数
  • Muon 在小规模语言模型训练中的初步实验表现出色,但正如这篇博客(Muon: An optimizer for hidden layers in neural networks, 20241208)所讨论的,仍存在几个关键挑战未解决:
    • (1)如何将基于矩阵正交化的优化器有效扩展到具有数十亿参数、训练数据量达数万亿 tokens 的大模型;
    • (2)如何在分布式环境中计算近似正交化;
    • (3)此类优化器是否能泛化到不同训练阶段,包括预训练和监督微调(Supervised Finetuning, SFT)
  • 在本技术报告中,论文通过系统性研究解决了这些挑战
  • 论文的工作基于 Muon,同时通过分析解决了其在大规模训练场景中的局限性。论文的技术贡献包括:
    • Muon 有效扩展的分析(Analysis for Effective Scaling of Muon) :
      • 通过广泛分析,论文发现权重衰减对 Muon 的可扩展性至关重要
      • 论文提出了对 Muon 参数级更新规则的尺度调整
        • 这些调整使得 Muon 无需超参数调优即可直接使用,并显著提高了训练稳定性
    • 高效的分布式实现(Efficient Distributed Implementation) :
      • 论文开发了基于 ZeRO-1(2020)风格的分布式 Muon 版本,实现了最优内存效率和降低的通信开销,同时保留了算法的数学特性
    • 扩展定律验证(Scaling Law Validation) :
      • 论文进行了扩展定律研究,比较 Muon 与强基线 AdamW,结果显示 Muon 性能更优(图 1a)
      • 根据扩展定律结果,Muon 在仅需约 52% 的训练 FLOPs 时,即可达到与 AdamW 训练模型相当的性能
  • 论文的全面实验表明,Muon 可以有效地替代 AdamW 作为大规模 LLM 训练的实际优化器,在训练效率和模型性能上均带来显著提升
  • 基于这项工作,论文发布了 Moonlight,这是一个使用 Muon 训练的 16B 参数 MoE 模型,同时开源了实现代码和中间训练检查点,以促进 LLM 可扩展优化技术的进一步研究

Methods

Background

  • Muon 优化器 Muon(2024)是一种针对矩阵参数优化的神经网络优化器

  • 在迭代步 \( t \) 时,给定当前权重 \(\mathbf{W}_{t-1}\)、动量 \(\mu\)、学习率 \(\eta_t\) 和目标函数 \(\mathcal{L}_t\),Muon 的更新规则如下:
    $$
    \begin{split}
    \mathbf{M}_t &= \mu\mathbf{M}_{t-1} + \nabla\mathcal{L}_t(\mathbf{W}_{t-1}) \\
    \mathbf{O}_t &= \text{Newton-Schulz}(\mathbf{M}_t)^{\mathrm{i} } \\
    \mathbf{W}_t &= \mathbf{W}_{t-1} - \eta_t\mathbf{O}_t
    \end{split} \tag{1}
    $$

    • 其中,\(\mathbf{M}_t\) 是第 \( t \) 步的梯度动量(初始时 \(\mathbf{M}_0\) 为零矩阵)
    • 在公式1中,Newton-Schulz 迭代过程(2024)用于近似计算 \((\mathbf{M}_t\mathbf{M}_t^{\mathrm{T} })^{-1/2}\mathbf{M}_t\)
    • 设 \(\mathbf{M}_t\) 的奇异值分解(SVD)为 \(\mathbf{U}\boldsymbol{\Sigma}\mathbf{V}^{\mathrm{T} }\),则 \((\mathbf{M}_t\mathbf{M}_t^{\mathrm{T} })^{-1/2}\mathbf{M}_t = \mathbf{U}\mathbf{V}^{\mathrm{T} }\),即将 \(\mathbf{M}_t\) 正交化
    • 直观上,正交化能确保更新矩阵是同构的,避免权重沿少数主导方向学习(2024)
  • Newton-Schulz 迭代的矩阵正交化(Newton-Schulz Iterations for Matrix Orthogonalization) :公式1通过迭代过程计算

    • 初始时,设:
      $$\mathbf{X}_0 = \mathbf{M}_t / |\mathbf{M}_t|_{\mathrm{F} }$$
      • 注:\(|\mathbf{M}_t|_{\mathrm{F}}\) 是 F 范数,在 PyTorch 中的实现为 M.norm(),定义如下:
        $$ |A|_F = \sqrt{\sum_{i=1}^{m} \sum_{j=1}^{n} |a_{ij}|^2} $$
    • 在每步迭代 \( k \) 中,按以下方式更新 \(\mathbf{X}_k\):
      $$
      \mathbf{X}_k = a\mathbf{X}_{k-1} + b(\mathbf{X}_{k-1}\mathbf{X}_{k-1}^{\mathrm{T} }) \mathbf{X}_{k-1} + c(\mathbf{X}_{k-1}\mathbf{X}_{k-1}^{\mathrm{T} })^{2} \mathbf{X}_{k-1} \tag{2}
      $$
      • 其中,\(\mathbf{X}_N\) 是经过 \( N \) 次迭代后的结果,\( a \)、\( b \)、\( c \) 为系数
      • 为确保公式2正确收敛,需调整系数使多项式 \( f(x) = ax + bx^{3} + cx^{5} \) 在 1 附近有固定点
      • 在Jordan等人(2024)的原始设计中,系数设为 \( a=3.4445 \)、\( b=-4.7750 \)、\( c=2.0315 \),以加速小初始奇异值的收敛(论文沿用这一设置)
    • 原始博客 Muon: An optimizer for hidden layers in neural networks, 20241208 中 Newton-Schulz 算法的实现如下:
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      # Pytorch code
      def newtonschulz5(G, steps=5, eps=1e-7):
      assert G.ndim == 2
      a, b, c = (3.4445, -4.7750, 2.0315)
      X = G.bfloat16()
      X /= (X.norm() + eps)
      if G.size(0) > G.size(1):
      X = X.T
      for _ in range(steps):
      A = X @ X.T
      B = b * A + c * A @ A
      X = a * X + B @ X
      if G.size(0) > G.size(1):
      X = X.T
      return X
  • 范数约束下的最速下降法(Steepest Descent Under Norm Constraints)

    • Bernstein等人(2024)提出将深度学习优化过程视为范数约束下的最速下降
      • 注:最速下降法(Steepest Descent Method)和共轭梯度法(Conjugate Gradient Method, CG)类似,都是求解无约束最优化问题的优化方法
    • 从这一视角看,Muon 与 Adam(2015;2019)的区别在于范数约束的不同:
      • Adam 是动态调整的 Max-of-Max 范数约束下的最速下降,而 Muon 提供的是静态 Schatten-\( p \) 范数约束(Franz,2024)
      • 当公式1精确计算时,Muon 的范数约束为谱范数
      • 神经网络权重作为输入空间或隐藏空间的算子,通常(局部)是欧几里得的(Cesista,2024),因此权重的范数约束应为诱导算子范数(或矩阵的谱范数)
        • 为什么神经网络可以看成算子?
      • 从这个意义上说,Muon 的范数约束比 Adam 更合理

Scaling Up Muon

Weight Decay
  • 虽然 Muon 在小规模模型上表现优于 AdamW(2024),但作者发现当扩展到更大模型和更多数据时,性能提升会减弱
  • 作者观察到权重和层输出的 RMS 值持续增长 ,甚至超出 bf16 的高精度范围,可能损害模型性能
  • 为解决这一问题,论文将 AdamW(2019)的标准权重衰减机制引入 Muon:
    $$
    \mathbf{W}_t = \mathbf{W}_{t-1} - \eta_t(\mathbf{O}_t \color{red}{+ \lambda\mathbf{W}_{t-1}}) \tag{3}
    $$
  • 通过实验对比带和不带权重衰减的 Muon,论文训练了一个 800M 参数、100B token 的模型(约为最优训练 token 量的 5 倍)
  • 图2展示了使用 AdamW、原始 Muon(无权重衰减)和带权重衰减的 Muon 的验证损失曲线
  • 原始 Muon 初始收敛更快 ,但部分权重随时间增长过大 ,可能限制模型长期性能
  • 加入权重衰减后,Muon 的表现优于原始 Muon 和 AdamW,在 “over-train regime”(过训练区域)中实现了更低的验证损失
  • 因此,论文将更新规则调整为公式3 ,其中 \(\lambda\) 为权重衰减比率
Consistent Update RMS
  • Adam 和 AdamW(2015;2019)的一个重要特性是其理论更新 RMS 保持在 1 附近
  • 但 Muon 的更新 RMS 随参数形状变化,如下引理所示:
  • 引理1 :对于形状为 \([A,B]\) 的满秩矩阵参数,其理论 Muon 更新 RMS 为 \(\sqrt{1/\max(A,B)}\)
    • 注:\(A\) 和 \(B\) 矩阵的维度,比如 \(A = 4\) 表示 \(4 \times 4\) 大小的矩阵; 而 \(\max(A,B)\) 是一个数字,即 \(A\) 和 \(B\) 中的较大值
    • 引理1 的证明和变量含义可见 附录A
  • 论文监测了训练中 Muon 的更新 RMS,发现其通常接近上述理论值
  • 这种不一致性在扩展模型规模时可能引发问题:
    • 当 \(\max(A,B)\) 过大(如稠密 MLP 矩阵)时,更新过小,限制模型表征能力;
    • 当 \(\max(A,B)\) 过小(如将 GQA(2019)或 MLA(DeepSeek-2024)中的每个 KV 头视为独立参数)时,更新过大,导致训练不稳定
  • 为保持不同形状矩阵间更新 RMS 的一致性,论文提出对每个矩阵的 Muon 更新乘以 \(\sqrt{\max(A,B)}\) 以抵消引理1 的影响
  • 第3.1节的实验证明这一策略对优化有益
Matching Update RMS of AdamW
  • Muon 专为矩阵参数设计 ,实际训练中 AdamW 用于处理非矩阵参数(如 RMSNorm、LM Head 和 Embedding 参数)
    • 作者希望优化器超参数(学习率 \(\eta\)、权重衰减 \(\lambda\))能在矩阵和非矩阵参数间共享
    • 自回归模型中,LM Head 通常也只包含一个矩阵权重参数(d_model x vocab_size维度大小)吧?
  • 论文提出将 Muon 的更新 RMS 调整至与 AdamW 相近的范围
    • 根据经验观察,AdamW 的更新 RMS 通常在 0.2 至 0.4 之间
    • 问题:为什么要将 RMS 调整到 AdamW 相近范围,其他范围不行吗?
      • 回答:是从实验验出来的,附录 A 中有实验说明
  • 论文基于观察,通过以下公式调整将 Muon 的更新 RMS 缩放至该范围:
    $$
    \mathbf{W}_t = \mathbf{W}_{t-1} - \eta_t(\color{blue}{0.2 \cdot} \mathbf{O}_t \color{blue}{\cdot \sqrt{\max(A,B)}} + \color{red}{\lambda\mathbf{W}_{t-1}})
    $$
  • 这一选择的实证验证见附录A
  • 此外,调整后 Muon 可直接复用为AdamW调优的学习率和权重衰减
Other Hyper-parameters
  • Muon还有两个可调超参数:
    • Newton-Schulz 迭代步数 \( N \) :
      • 实验发现,当 \( N=10 \) 时,迭代结果比 \( N=5 \) 更精确,但性能未提升
      • 因此,论文为效率考虑选择 \( N=5 \)
    • 动量 \(\mu\) :
      • 动量调优未带来一致性能提升,故沿用 Jordan等人(2024)的 0.95

Distributed Muon

ZeRO-1 与 Megatron-LM
  • ZeRO-1(2020)技术将昂贵优化器状态(如主权重、动量)分区存储于集群中
  • Megatron-LM(2020)将 ZeRO-1 集成到其并行设计中
  • 基于 Megatron-LM 的并行策略(如张量并行 TP、流水线并行 PP、专家并行 EP 和数据并行 DP),ZeRO-1 的通信负载从全局收集简化为仅需在数据并行组内收集

    Based on Megatron-LM’s sophisticated parallel strategies, e.g. Tensor-Parallel (TP), Pipeline Parallel (PP), Expert Parallel (EP) and Data Parallel (DP), the communication workload of ZeRO-1 can be reduced from gathering all over the distributed world to only gathering over the data parallel group.

Method
  • ZeRO-1 对 AdamW 高效,因其按元素计算更新
  • 但 Muon 需完整梯度矩阵计算更新,故原始 ZeRO-1 不直接适用于 Muon
  • 论文提出基于 ZeRO-1 的分布式 Muon 方案,称为 Distributed Muon,它在DP上分区优化器状态,并引入两项额外操作:
    • 1) DP Gather :将本地 DP 分区的主权重(大小为模型权重的 1/DP)对应的分区梯度收集为完整梯度矩阵
    • 2) 计算完整更新(Calculate Full Update) :对完整梯度矩阵执行 Newton-Schulz 迭代(如2.1节所述),随后丢弃部分更新矩阵,仅保留与本地参数对应的分区
  • Distributed Muon 的实现如算法1所示,新增操作以蓝色标注
Analysis
  • 论文从多角度对比 Distributed Muon 与经典 ZeRO-1 分布式 AdamW(简称 Distributed AdamW):
  • 内存占用(Memory Usage) :Muon 仅需一个动量缓冲区,AdamW 需两个,故 Muon 的额外内存占用为 AdamW 的一半
  • 通信开销(Communication Overhead) :每设备仅需为本地 DP 分区参数 \(\mathbf{p}\) 执行额外 DP 收集,通信成本低于 \(\mathbf{G}\) 的 reduce-scatter 或 \(\mathbf{P}\) 的 all-gather
    • 此外,Muon 的 Newton-Schulz 迭代以 bf16 执行,通信开销比 fp32 降低 50%
    • 总体而言,Distributed Muon 的通信量为 Distributed AdamW 的 1 至 1.25 倍
  • 延迟(Latency) :Distributed Muon 因额外通信和 Newton-Schulz 迭代,端到端延迟高于 Distributed AdamW。但这并非主要问题,因为:
    • (a)Newton-Schulz 仅需约 5 次迭代即可获得良好结果(见2.2节);
    • (b)优化器导致的延迟仅占模型前向-反向传播时间的 1% 至 3%
    • 此外,技术可进一步降低延迟,比如:
      • overlapping gather and computation
      • overlapping optimizer reduce-scatter with parameter gather
  • 在大规模分布式集群中,Distributed Muon 的延迟开销与 AdamW 相当
  • 论文将很快向开源 Megatron-LM 提交实现 Distributed Muon 的 PR

Experiments

Consistent Update RMS

  • 如第 2.2 节所述,论文的目标是让所有矩阵参数的更新 RMS 保持一致,并与 AdamW 的更新 RMS 匹配
  • 论文通过两种方法控制 Muon 的更新 RMS,并与仅保持与 AdamW 一致 RMS 的基线进行比较:
  • Baseline :论文将更新矩阵乘以 \(0.2 \cdot \sqrt{H}\)(\(H\) 为模型隐藏层大小),以保持与 AdamW 一致的更新 RMS。注意,对于大多数矩阵,\(\max(A,B)\) 等于 \(H\)
    $$
    \mathbf{W}_{t} = \mathbf{W}_{t-1} - \eta_{t}(0.2 \cdot \mathbf{O}_{t} \cdot \sqrt{H} + \lambda \mathbf{W}_{t-1})
    $$
  • 更新归一化(Update Norm) :论文直接对通过牛顿-舒尔茨迭代计算的更新进行归一化,使其 RMS 严格等于 0.2:
    $$
    \mathbf{W}_{t} = \mathbf{W}_{t-1} - \eta_{t}(0.2 \cdot \mathbf{O}_{t} / \text{RMS}(\mathbf{O}_{t}) + \lambda \mathbf{W}_{t-1})
    $$
  • 调整学习率(Adjusted LR) :对于每个更新矩阵,论文根据其形状将学习率缩放 \(0.2 \cdot \sqrt{\max(A,B)}\) 倍:
    $$
    \mathbf{W}_{t} = \mathbf{W}_{t-1} - \eta_{t}(0.2 \cdot \mathbf{O}_{t} \cdot \sqrt{\max(A,B)} + \lambda \mathbf{W}_{t-1})
    $$
  • 分析 :论文设计了实验来说明 Muon 更新 RMS 在训练早期的影响,因为在更大规模的模型训练中,异常行为会很快出现
    • 论文使用第 3.2 节描述的 800M 参数小模型进行实验
    • 当矩阵维度差异较大时,更新 RMS 不一致的问题会更加明显,为了突出这一问题,论文略微修改了模型架构
      • 将 Swiglu MLP 替换为标准的两层 MLP,将其矩阵参数的形状从 \([H, 2.6H]\) 改为 \([H, 4H]\)
    • 论文评估了模型的损失,并监测了一些参数的 RMS,特别是注意力查询和 MLP:
      • 注意力查询(形状 \([H, H]\))
      • MLP(形状 \([H, 4H]\))
      • 论文在 20B token 的训练计划中训练了 4B token 后评估模型
    • 从表 1 中,论文观察到以下几点:
      • 1)更新归一化和调整学习率方法均优于基线;
      • 2)对于形状为 \([H, 4H]\) 的 MLP 权重矩阵,更新归一化和调整学习率得到的权重 RMS 大约是基线的两倍
        • 这是因为 \(\sqrt{\max(H, 4H)} / \sqrt{H} = 2\),因此更新归一化和调整学习率的更新 RMS 大约是基线的两倍;
      • 3)对于形状为 \([H, H]\) 的注意力查询权重矩阵,更新归一化仍然对更新进行归一化,而调整学习率则不会,因为 \(\sqrt{\max(H, H)} / \sqrt{H} = 1\)
        • 因此,调整学习率得到的权重 RMS 与基线相似,而更新归一化的权重 RMS 则与其 MLP 类似;
  • 基于这些发现,论文选择调整学习率方法用于后续实验,因为它的计算成本更低

Scaling Law of Muon

  • 为了与 AdamW 进行公平比较,论文在 Llama 架构的一系列密集模型上进行了缩放定律实验
  • 构建一个强大的基线对于优化器研究至关重要,因此论文按照计算最优训练设置(2022)对 AdamW 的超参数进行了网格搜索(网格搜索实验详见附录 B)
  • 模型架构和超参数的细节见表 2
  • 对于 Muon,如第 2.2 节所述,由于论文已将 Muon 的更新 RMS 与 AdamW 匹配,因此直接复用了 AdamW 基线的最优超参数
  • 拟合的缩放定律曲线见图 3,拟合方程详见表 3
  • 如图 1a 所示,在计算最优设置下,Muon 仅需约 52% 的训练 FLOPs 即可达到与 AdamW 相当的性能

Pretraining with Muon

  • 模型架构 :为了评估 Muon 在现代模型架构中的表现,论文从头开始预训练了一个基于 deepseek-v3-small 架构(2024)的模型 ,因为该模型性能强大且原始结果可作为参考
    • 论文的预训练模型激活参数为 2.24B,总参数为 15.29B(包含嵌入层时为 3B 激活参数和 16B 总参数)
    • 对架构的微小修改详见附录 C
  • 预训练数据 :预训练数据的细节可参考 Kimi k1.5: Scaling Reinforcement Learning with LLMs, 20250603
    • 预训练的最大上下文长度为 8K
  • 预训练过程 :模型训练分为多个阶段
    • 在阶段 1 和 2 中,论文使用 1e-3 的 Auxfree Bias Update Rate,阶段 3 中为 0.0
      • 问题:这里的 Auxfree Bias Update 是什么?
      • 回答:是在 DeepSeek MoE 训练中使用到的无辅助损失负载均衡技巧(在此之前,常规的负载均衡技巧会使用 辅助负载均衡损失 auxiliary load-balancing loss,Auxfree 表示不需要这个辅助负载均衡项)
      • 注:论文训练的模型架构和 Deepseek-v3-Small 模型一致,这一个 2.4B/16B 参数的 MoE 模型,训练了 1.33T token;
    • 所有权重衰减均设为 0.1
    • 更多训练细节和讨论见附录 D
    • 具体训练流程为:
      • 1)0 到 33B token :在此阶段,学习率在 2k 步内线性增加到 4.2e-4,批量大小保持在 2048 个样本;
      • 2)33B 到 5.2T token :在此阶段,学习率从 4.2e-4 以余弦方式衰减到 4.2e-5
        • 批量大小在 200B token 前保持为 2048,之后增加到 4096;
      • 3)5.2T 到 5.7T token(冷却阶段):在此阶段,学习率在 100 步内增加到 1e-4,随后在 500B token 内线性衰减到 0,批量大小保持为 4096。此阶段使用最高质量的数据,重点关注数学、代码和推理任务
  • 评估基准 :论文的评估涵盖四类主要基准,每类设计用于评估模型的不同能力:
    • 英语语言理解和推理 :MMLU(5-shot)(2021)、MMLU-pro(5-shot)(2024)、BBH(3-shot)(2022)、TriviaQA(5-shot)(2017);
    • 代码生成 :HumanEval(pass@1)(2021)、MBPP(pass@1)(2021);
    • 数学推理 :GSM8K(4-shot)(2021)、MATH(2021)、CMATH(2023);
    • 中文语言理解和推理 :C-Eval(5-shot)(2023)、CMMLU(5-shot)(2024)
  • 性能 :论文将使用 Muon 训练的模型命名为“Moonlight”。论文在 1.2T token 处评估 Moonlight,并与以下同规模公开模型进行比较:
    • Deepseek-v3-Small(2024):一个 2.4B/16B 参数的 MoE 模型,训练了 1.33T token;
    • Moonlight-A :与 Moonlight 训练设置相同,但使用 AdamW 优化器
  • 对于 Moonlight 和 Moonlight-A,论文使用了总预训练 5.7T token 中的 1.2T token 中间检查点,此时学习率尚未衰减到最小值,模型也未进入冷却阶段
  • 如表 4 所示:
    • Moonlight-A(论文的 AdamW 训练基线模型)与同类公开模型相比表现强劲
    • Moonlight 的性能显著优于 Moonlight-A,证明了 Muon 的可扩展性
    • 论文观察到 Muon 在数学和代码相关任务上表现尤为突出,鼓励研究社区进一步研究这一现象
  • 当 Moonlight 完全训练到 5.7T token 后,论文将其与同规模的公开模型进行比较,结果如表 5 所示:
    • LLAMa3-3B(2024):一个 3B 参数的密集模型,训练了 9T token;
    • Qwen2.5-3B(2024):一个 3B 参数的密集模型,训练了 18T token;
    • Deepseek-v2-Lite(2024):一个 2.4B/16B 参数的 MoE 模型,训练了 5.7T token
  • 如表 5 所示,Moonlight 在相同 token 数量下优于同类模型
    • 即使与训练数据量更大的密集模型相比,Moonlight 仍具有竞争力
    • 详细比较见附录 E
  • Moonlight 的性能在 MMLU 和 GSM8k 上与其他知名语言模型进一步对比,如图 1b 和附录 E 图 8 所示
  • 值得注意的是,Moonlight 位于模型性能与训练预算的帕累托前沿,优于许多其他规模的模型

Dynamics of Singular Spectrum(奇异谱)

  • 为了验证 Muon 可以在更多样化的方向上优化权重矩阵的直觉,论文对使用 Muon 和 AdamW 训练的权重矩阵进行了谱分析
  • 对于一个具有奇异值(singular values) \(\sigma = (\sigma_{1}, \sigma_{2}, \cdots, \sigma_{n})\) 的权重矩阵,论文计算其 SVD 熵(2000;2007)如下:
    $$
    H(\sigma) = -\frac{1}{\log n} \sum_{i=1}^{n} \frac{\sigma_{i}^{2} }{\sum_{j=1}^{n} \sigma_{j}^{2} } \log \frac{\sigma_{i}^{2} }{\sum_{j=1}^{n} \sigma_{j}^{2} }
    $$
    • 直观上看,singular values 越平均,SVD 熵越大
  • 如图 4 所示,论文可视化了预训练 1.2T token 过程中不同检查点的权重矩阵的平均 SVD 熵
    • 可以看到,在所有训练检查点和所有权重矩阵组中,Muon 的 SVD 熵均高于 AdamW,这验证了 Muon 可以为权重矩阵提供更多样化的更新谱的直觉
    • 这种差异在专家选择的路由权重中更为显著,表明混合专家模型可以从 Muon 中获益更多
  • 此外,论文在附录 F 中展示了 1.2T token 检查点处各权重矩阵的奇异值分布。论文发现,对于超过 90% 的权重矩阵,Muon 优化时的 SVD 熵高于 AdamW,这为 Muon 在探索多样化优化方向上的卓越能力提供了强有力的实证证据

SFT with Muon

  • 本节论文展示了 Muon 优化器在标准 LLM 训练 SFT 阶段的消融研究
  • 论文的结果表明,Muon 带来的优势在 SFT 阶段仍然存在
    • 具体而言,同时使用 Muon 预训练和 Muon 微调的模型在消融研究中表现最佳
  • 然而,论文也观察到,当 SFT 优化器与预训练优化器不同时,Muon 在 SFT 中并未显示出显著优于 AdamW 的优势
    • 理解:SFT 阶段优化器的选择还与预训练阶段优化器的选择有关?
  • 这表明仍有很大的探索空间,论文将其留待未来研究
Ablation Studies on the Interchangeability of Pretrain and SFT Optimizers(预训练和 SFT 优化器互换性的消融研究)
  • 为了进一步研究 Muon 的潜力,论文使用 Muon 和 AdamW 优化器分别对 Moonlight@1.2T 和 Moonlight-A@1.2T 进行了微调
  • 这些模型在开源的 tulu-3-sft-mixture 数据集(2024)上微调了两个 epoch,数据序列长度为 4k
  • 学习率采用线性衰减计划,从 \(5 \times 10^{-5}\) 逐渐降至 0
  • 结果如表 6 所示,Moonlight@1.2T 的表现优于 Moonlight-A@1.2T
SFT with Muon on public pretrained models
  • 论文进一步将 Muon 应用于公开预训练模型 Qwen2.5-7B 基础模型(2024)的 SFT ,使用了开源的 tulu-3-sft-mixture 数据集(2024)
  • 数据集以 8k 序列长度打包,论文采用了余弦衰减学习率计划,从 \(2 \times 10^{-5}\) 逐渐降至 \(2 \times 10^{-6}\)
  • 结果如表 7 所示: Muon 微调模型的性能与 Adam 微调模型相当
  • 这些结果表明,为了获得最佳性能,在预训练阶段应用 Muon 比在监督微调阶段更有效

Discussions

  • 未来研究有几个可能的方向可以进一步探索和扩展当前的发现
  • 将所有参数纳入 Muon 框架(Incorporating All Parameters into the Muon Framework) :
    • 目前,Muon 优化器与 Adam 优化器结合使用,某些参数仍由 Adam 优化
    • 这种混合方法虽然可行,但仍有改进空间
    • 将所有参数优化完全集成到 Muon 框架中是一个重要的研究方向
  • 将 Muon 扩展到 Schatten 范数(Extending Muon to Schatten Norms) :
    • Muon 优化器可以解释为谱范数下的最陡下降法
    • 鉴于 Schatten 范数的广泛适用性和多功能性,将 Muon 扩展到一般 Schatten 范数是一个有前景的方向
    • 这一扩展可能解锁额外的优化能力,并可能产生优于当前基于谱范数实现的结果
  • 理解和解决预训练与微调的不匹配(Understanding and Solving the Pretraining-Finetuning Mismatch) :
    • 在实践中观察到一个显著现象,使用 AdamW 预训练的模型在使用 Muon 微调时表现不佳,反之亦然
    • 这种优化器不匹配对有效利用大量 AdamW 预训练检查点(训练 Muon)构成了重大障碍 ,因此需要进行严格的理论研究
    • 精确理解其底层机制对于设计稳健有效的解决方案至关重要

Conclusions

  • 在本技术报告中,论文全面研究了 Muon 在 LLM 训练中的可扩展性
  • 通过系统分析和改进,论文成功将 Muon 应用于一个 3B/16B 参数的 MoE 模型,训练了 5.7T token
  • 论文的结果表明,Muon 可以有效地替代 AdamW 作为大规模 LLM 训练的标准优化器,在训练效率和模型性能上均具有显著优势
  • 通过开源论文的实现、Moonlight 模型和中间训练检查点,作者希望促进可扩展优化技术的进一步研究,并加速 LLM 训练方法的开发

附录 A Update RMS

引理 1 的证明

  • 不失一般性,考虑正交矩阵 \( U \in \mathbb{R}^{n \times n} \) 和 \( V \in \mathbb{R}^{m \times m} \),其中 \( n \geq m \geq r \)
  • 论文将证明对于 \( X = U_{[:,:r]} V_{[:r,:]} \)(Muon 的更新具有相同形式),其均方根值为 \( \sqrt{r/mn} \)
    • 注:\( X^{n\times m} = {U_{[:,:r]}}^{n \times r} \cdot {V_{[:r,:]}}^{r \times m} \)
  • 根据矩阵乘法的定义:
    $$ X_{i,j} = \sum_{k=1}^{r} U_{i,k} V_{k,j} $$
    • 仅考虑 \(r\) 之前的值
  • 均方根可以表示为:
    $$
    \begin{align}
    \text{RMS}(X^{n\times m})^2 &= \frac{1}{mn} \sum_{i=1}^{n} \sum_{j=1}^{m} X_{i,j}^2 \\
    &= \frac{1}{mn} \sum_{i=1}^{n} \sum_{j=1}^{m} \sum_{k=1}^{r} U_{i,k}^2 V_{k,j}^2 \\
    &= \frac{1}{mn} \sum_{k=1}^{r} \left( \sum_{i=1}^{n} U_{i,k}^2 \right) \left( \sum_{j=1}^{m} V_{k,j}^2 \right) \\
    &= \frac{1}{mn} \sum_{k=1}^{r} 1 \\
    &= \frac{r}{mn}
    \end{align}
    $$
    • 注:\( U \in \mathbb{R}^{n \times n} \) 是正交矩阵,有 \(\sum_{i=1}^{n} U_{i,k}^2 = 1\)
      • 证明:\(U^\top U = I\),从而 \(\sum_{i=1}^{n} U_{i,k}^2 = 1\) 是一个对角线元素
  • 因此,\( \text{RMS}(X) = \sqrt{r/mn} \)
  • 对于常见的满秩矩阵情况,\( r = m \),此时 \( \text{RMS}(X) = \sqrt{1/n} \)

Muon 与 AdamW 的更新均方根一致性

  • 如 2.2 节所述,作者希望匹配 Muon 和 AdamW 优化器的更新均方根
  • 这一假设通过小规模模型实验得到验证(问题:为什么刚好匹配 AdamW 优化器的均方根更好?)
  • 论文将 Muon 的更新均方根设置为 \([0.05, 0.1, 0.2, 0.4, 0.8]\),并以 AdamW 为基线
  • 表 8 展示了在 2k 步(约 20 亿 token)时的损失和代表性权重矩阵的均方根结果
  • 实验表明,0.2 和 0.4 的均方根设置表现相似且显著优于其他设置
  • 这与论文观察到的 AdamW 更新均方根范围(0.2 至 0.4)一致,因此论文选择将 Muon 的更新均方根控制在 0.2

附录 B AdamW Baseline Scaling Law

  • 为确保实验的公平性和准确性,论文在专有数据集上进行了一系列实验,以确定 AdamW 的最优缩放定律参数
  • 这包括在计算预算(FLOPs,\( C \))约束下,确定最优模型大小(\( N \))、训练 token 数量(\( D \))、学习率(\( \eta \))和批大小(\( B \))(2022;2020)
  • 表 9 展示了论文系统参数搜索的结果
  • 超参数搜索 :为系统性地确定 AdamW 基线的最优缩放定律超参数,论文采用了多阶段搜索协议
    • 首先,根据先前研究的经验准则,选择多个计算预算(FLOPs 级别),并初始化模型大小、学习率和批大小
      • 对于每个固定的 FLOPs 约束 ,论文调整模型大小 \( N \) ,同时反向调整训练 token 数量 \( D \) ,以保持 \( C = 6ND \) ,从而探索模型容量与数据效率之间的权衡
      • 每种配置训练至收敛,并记录验证损失以确定 \( N \) 和 \( D \) 的帕累托最优组合
    • 随后,固定最优的 \( N-D \) 对 ,通过网格搜索优化学习率和批大小 ,确保配置的稳定性和收敛性
    • 为减少局部最优并增强鲁棒性,此迭代过程重复 2-3 次,逐步缩小超参数空间
      • 问题:重复 2-3 次的目的是什么?具体重复了哪些步骤?
  • 图 5 进一步展示了优化过程,描绘了不同 FLOPs 预算下损失随训练 token、学习率和批大小的变化情况
    • 每个碗形曲线代表特定 FLOPs 级别的损失曲面,其全局最小值对应最优超参数配置

附录 C Model Architecture

  • Muon 对模型架构无特定要求,论文采用了与 Deepseek-V3-Small(DeepSeek-2024)相似的模型,因为其作为基线模型具有开放的权重
  • 论文在 Moonlight 模型中进行了几处小修改,具体如下:
  • 多 token 预测(Multi-token Prediction, MTP)
    • MTP 在论文的实验中未显示出对预训练的显著益处
    • 为简化,Moonlight 模型未引入 MTP 层
  • 无偏置更新(Auxfree Bias Update)
    • 在 DeepSeek-V3-Small 中,无偏置更新通过以下公式实现:
      $$ b_i = b_i + u \times \text{sign}(e_i) $$
      • \( u \) 为更新比例
      • \( b_i \) 为第 \( i \) 个专家的偏置
      • \( e_i \) 为专家的违反比例
    • 论文略微修改了更新规则:
      $$ b_i = b_i + u \times (\text{sign}(e_i) - \text{sign}(e).\text{mean}()) $$
      • \( \text{sign}(e).\text{mean}() \) 为所有专家违反比例符号的平均值,以控制偏置的幅度,同时不改变 topk 选择逻辑
  • 门控缩放因子(Gate Scaling Factor)
    • Deepseek-V2-Lite 未使用门控缩放因子,而 Deepseek-V3 使用了 2.5 的缩放因子
    • 论文采用 2.44 的缩放因子以控制与密集模型相似的输出均方根
    • 计算门控缩放因子的代码如图 6 所示

附录 D Training Stability

  • 无损失或梯度范数尖峰 :Moonlight 的训练过程非常平稳,未出现损失或梯度范数尖峰
    • 损失和梯度范数曲线如图 7 所示(Moonlight 为蓝色,AdamW 训练的 Moonlight-A 为红色)
  • 最大注意力对数(Max Attention Logit) :在训练过程中,论文观察到尽管训练损失和梯度范数始终保持稳定,但在某些层的初始训练阶段,最大注意力对数(全局批次中最大的对数值)明显上升,超过阈值 100
    • 值得注意的是,AdamW 在控制这一指标上表现更优
    • 为进一步研究这一现象的影响,论文引入了大注意力对数比例指标,定义为批次中超过 100 的注意力对数比例
      • 如图 7 所示,该比例始终保持在较低水平(约 \( 10^{-4} \)),表明极端大的对数值是稀疏的
      • 此外,随着训练的进行,最大对数值逐渐下降,表明优化动态趋于健康
  • RMSNorm 伽马权重衰减(RMSNorm Gamma Weight Decay) :值得注意的是,对 RMSNorm 伽马参数应用权重衰减对确保训练稳定性至关重要,因为它能有效防止每层输出均方根过高

附录 E Comparison with More Expensive Models

  • 表 10 对比了论文的 Moonlight 模型(使用 Muon 优化)与公开可用的更高计算资源训练的模型,包括 LLama3.1-8B(2024)、Gemma-9B(Gemma 2024)和 Qwen2.5-7B(2024)
  • 图 8 展示了 Moonlight 与同类模型在 GSM8k 性能基准上的对比

附录 F Singular Value Distributions of Weight Matrices

  • 论文通过绘制每个矩阵奇异值的降序排列线图来可视化权重矩阵的奇异值分布,并将其归一化为最大值
  • 如图 9 和图 10 所示,论文发现对于大多数权重矩阵,Muon 优化的奇异值分布比 AdamW 更平坦,进一步验证了 Muon 能提供更多样化的更新谱的假设

NLP——BLEU指标和ROUGE指标


BLEU 和 ROUGE 指标整体说明

  • 在 NLP 领域,BLEU (Bilingual Evaluation Understudy) 和 ROUGE (Recall-Oriented Understudy for Gisting Evaluation) 指标广泛应用于机器翻译和文本摘要任务中
  • 核心思路:BLEU 和 ROUGE 通过比较模型生成的文本与人工参考文本之间的相似性来衡量文本质量
  • 这两个指标通常没有严格的、官方的中文名,在中文学术界和工业界,大家普遍直接使用它们的英文缩写
    • BLEU :通常直接称为 BLEU 值 或 BLEU 分数
      • 注:BLEU 全称 Bilingual Evaluation Understudy 可以直译为“双语评估替补”(Understudy 常翻译为“替补”含义),但这种直译并不常用
    • ROUGE :通常直接称为 ROUGE 值 或 ROUGE 分数
      • 注:ROUGE 全称 Recall-Oriented Understudy for Gisting Evaluation 可以直译为“面向召回的摘要评估替补”(Gisting 翻译为“摘要”),这种直译也很少被使用
  • BLEU :精确率(Precision)导向,常用于机器翻译 ,关注生成文本的忠实度
  • ROUGE :召回率(Recall)导向,常用于文本摘要 ,关注生成文本对参考文本信息的覆盖度
  • 两者都是衡量文本相似性的重要指标,但它们的侧重点和适用场景有所不同。在实际应用中,通常会结合使用多种评估指标来全面评估模型性能

BLEU 指标

  • 音标:/bluː/(类似英文单词 “blue” 的发音)
  • BLEU 主要用于评估机器翻译的质量,侧重于精确率 (Precision)
  • 核心思想:机器翻译的文本与人工翻译的参考文本越相似 ,其质量越高
  • 计算方式: BLEU 的计算涉及以下几个步骤:
  • 第一步:N-gram 精度 (N-gram Precision) :
    • 首先,将候选翻译和参考翻译都进行分词
    • 计算不同长度的 N-gram(例如,unigram (1-gram), bigram (2-gram), trigram (3-gram), 甚至 higher N-grams,通常到 4-gram)
    • 对于每个 N-gram 长度 \(n\),计算修改后的 N-gram 精度 \(p_n\)
      • 注:修改后的精度是为了避免候选翻译中重复词语过多而导致分数虚高,比如全都翻译为 \(the\) 这种常见词语,可能导致 N-gram 精度虚假的被为“100%”
      • 修改动作:通过计算候选翻译中与参考翻译匹配的 N-gram 数量,并将其限制(裁剪)为该 N-gram 在任何一个参考翻译(可能有多个参考翻译,命中任意翻译都算正确)中出现的最大次数
    • 公式为:
      $$p_n = \frac{\sum_{C \in \text{Candidates}} \sum_{\text{n-gram} \in C} \text{Count}_{\text{clip}}(\text{n-gram})}{\sum_{C’ \in \text{Candidates}} \sum_{\text{n-gram}’ \in C’} \text{Count}(\text{n-gram}’)}$$
      • \(\text{Count}_{\text{clip}}(\text{n-gram})\) 是 N-gram 在候选翻译中出现并被限制为在参考翻译中最大出现次数的计数
      • \(\text{Count}(\text{n-gram}’)\) 是 N-gram 在候选翻译中出现的总计数
      • 理解:相当于统计候选翻译的所有 N-gram 数量,看命中参考翻译 N-gram 精确度是多少(在参考翻译中存在则视为准确,否则不准确)
  • 第二步:短句惩罚 (Brevity Penalty, BP) :
    • N-gram 精度 倾向于奖励更短的翻译,因为它的分母更小(比如只翻译一个 “the”,N-gram 精度为100%)
    • 为了惩罚那些过短的翻译(即使它们完美匹配了部分 N-gram),引入了短句惩罚
    • 如果候选翻译的总长度 \(c\) 小于参考翻译中最接近的参考长度 \(r\),则应用惩罚
    • 公式为:
      $$BP = \begin{cases}
      1 & \text{if } c > r \\
      e^{(1 - r/c)} & \text{if } c \le r
      \end{cases}$$
      • 长度比参考文本短越多,惩罚越大
  • 第三步:最终 BLEU 分数 :
    • 将不同 N-gram 长度的修改精度取对数,然后加权平均,再乘以短句惩罚
    • 公式为:
      $$\text{BLEU} = BP \cdot \exp\left(\sum_{n=1}^{N} w_n \log p_n\right)$$
      • 其中,\(n\) 是最大 N-gram 长度(通常为 4),\(w_n\) 是每个 N-gram 长度的权重(通常均匀分配)
      • 实践经验:在实际使用时,一些特定的例子中可能出现高阶匹配不上而导致 BLEU 分数为 0(比如 4-gram 匹配数量为0,这时候看起来取对数的精度会几乎为负无穷),此时可以 NLTK 库中通过 smoothing_function 传入一些平滑策略来解决问题
    • 通常,每个 N-gram 长度的权重是 \(\frac{1}{N}\)(例如,对于 1-gram 到 4-gram,每个权重为 0.25)
      • 该值在 NLTK 库的 sentence_bleu 中是可以通过参数修改的

代码实现 (使用 NLTK 库):

  • 基于 NLTK 库实现 BLUE 值统计
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    from nltk.translate.bleu_score import sentence_bleu # 评估句子
    # from nltk.translate.bleu_score import corpus_bleu # 对于 corpus_bleu,可以评估整个语料库
    from nltk.tokenize import word_tokenize
    import nltk

    nltk.download('punkt_tab') # 若本地不存在该库,这里会从远程下载,'punkt_tab' 数据包包含了 Punkt 分词器(Tokenizer)所需的预训练模型数据

    def calculate_bleu(reference, candidate):
    """
    计算单个候选句子的BLEU分数
    :param reference: 一个参考句子列表,每个参考句子是一个词语列表
    例如:[['this', 'is', 'a', 'test'], ['this', 'is', 'test']]
    :param candidate: 一个候选句子,是一个词语列表
    例如:['this', 'is', 'a', 'test']
    :return: BLEU分数
    """
    # NLTK 的 sentence_bleu 函数期望参考是列表的列表,候选是列表
    # 如果只有一个参考,也要将其包装在列表中:[reference_sentence]
    # 如果有多个参考,则直接传入参考列表

    # 示例:
    # reference = [['The', 'cat', 'sat', 'on', 'the', 'mat'], [...], ...]
    # candidate = ['The', 'cat', 'was', 'on', 'the', 'mat']
    # score = sentence_bleu(reference, candidate)

    # 实际使用时,通常对文本进行分词
    tokenized_reference = [word_tokenize(ref) for ref in reference]
    tokenized_candidate = word_tokenize(candidate) # 分词结果:['The', 'cat', 'was', 'on', 'the', 'mat', '.']

    # NLTK 提供了 weights 参数来控制不同 N-gram 的权重,默认是 (0.25, 0.25, 0.25, 0.25)
    score = sentence_bleu(tokenized_reference, tokenized_candidate)

    # weights = [1,0,0,0] # 为不同 n-gram 设置不同的权重
    # score = sentence_bleu(tokenized_reference, tokenized_candidate, weights=weights)
    return score

    # 示例
    references = [
    "The cat is on the mat.",
    "There is a cat on the mat.",
    "A cat sat on the mat."
    ]
    candidate = "The cat was on the mat."

    bleu_score = calculate_bleu(references, candidate) # 实现:先分词,再评估 n-gram
    print(f"BLEU Score: {bleu_score}")

    # BLEU Score: 0.488923022434901

BLEU 使用说明

* BLEU 倾向于精确率,对于短的(已经有惩罚了)、精确匹配的句子可能给出高分,但可能忽略了语义的完整性或流畅性
* 更多的参考翻译通常会提高 BLEU 分数
* BLEU 在单句评估上指标不太稳定(修改单个单词可能出现非常大的变化),更适合评估整个语料库的平均表现

ROUGE 指标

  • 音标:/ruːʒ/(类似法语单词 “rouge”)
  • ROUGE 主要用于评估文本摘要的质量,侧重于召回率 (Recall)
  • 核心思想:模型生成的摘要包含了多少人工参考摘要中的重要信息
  • ROUGE 有多种变体,最常用的是:
    • ROUGE-N :基于 N-gram 的重叠
      • ROUGE-1 :Unigram(单个词)的召回率
      • ROUGE-2 :Bigram(两个词序列)的召回率
    • ROUGE-L :基于最长公共子序列 (Longest Common Subsequence, LCS) 的召回率
      • 它不要求 N-gram 必须连续,但要求保持相对顺序,更能捕捉句子的结构相似性
    • ROUGE-SU :基于跳跃二元组 (Skip-bigram) 和 unigram 的重叠,允许 N-gram 中间跳过词语
  • 计算方式: 以 ROUGE-N 为例(其他变体类似,但匹配方式不同):
  • 召回率 (Recall) :
    $$R_{\text{N}} = \frac{\sum_{\text{n-gram} \in \text{Ref}} \text{Count}_{\text{match}}(\text{n-gram})}{\sum_{\text{n-gram} \in \text{Ref}} \text{Count}(\text{n-gram})}$$
    • \(\text{Count}_{\text{match}}(\text{n-gram})\) 是在候选摘要和参考摘要中都出现的 N-gram 数量
    • \(\text{Count}(\text{n-gram})\) 是参考摘要中 N-gram 的总数量
  • 精确率 (Precision) :
    $$P_{\text{N}} = \frac{\sum_{\text{n-gram} \in \text{Cand}} \text{Count}_{\text{match}}(\text{n-gram})}{\sum_{\text{n-gram} \in \text{Cand}} \text{Count}(\text{n-gram})}$$
    • \(\text{Count}_{\text{match}}(\text{n-gram})\) 同上
    • \(\text{Count}(\text{n-gram})\) 是候选摘要中 N-gram 的总数量
  • F1 分数 (F1-score) :通常使用 F1 分数来综合召回率和精确率
    $$F_1 = \frac{(1 + \beta^2) \cdot P \cdot R}{\beta^2 \cdot P + R}$$
    • \(\beta\) 通常取 1,表示精确率和召回率同等重要,此时 \(F_1 = \frac{2 \cdot P \cdot R}{P + R}\)
  • ROUGE-L (LCS-based): ROUGE-L 的计算基于最长公共子序列 (LCS) 的长度
    • \(LCS(X, Y)\) 表示序列 \(X\) 和 \(Y\) 的最长公共子序列的长度
    • 召回率:
      $$R_{LCS} = \frac{LCS(\text{candidate}, \text{reference})}{\text{length}(\text{reference})}$$
    • 精确率:
      $$P_{LCS} = \frac{LCS(\text{candidate}, \text{reference})}{\text{length}(\text{candidate})}$$
    • F1 分数:
      $$F_{LCS} = \frac{2 \cdot P_{LCS} \cdot R_{LCS}}{P_{LCS} + R_{LCS}}$$

代码实现 (使用 rouge-score 库)

  • rouge-score 是一个常用的 Python 库,用于计算 ROUGE 分数
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    from rouge_score import rouge_scorer

    def calculate_rouge(reference, candidate):
    """
    计算 ROUGE-1, ROUGE-2, ROUGE-L 分数
    :param reference: 参考摘要字符串
    :param candidate: 候选摘要字符串
    :return: 包含 ROUGE 分数的字典
    """
    # scorer = rouge_scorer.RougeScorer(['rouge1', 'rouge2', 'rougeL', 'rougeLsum'], use_stemmer=True)
    # 通常使用 rouge1, rouge2, rougeL
    scorer = rouge_scorer.RougeScorer(['rouge1', 'rouge2', 'rougeL'], use_stemmer=False)
    # use_stemmer=True 可以对词语进行词干化,可能会影响结果,取决于具体需求,例如 "running" 和 "ran" 可能会被视为匹配

    scores = scorer.score(reference, candidate)

    # scores 返回的是一个字典,例如:
    # {'rouge1': Score(precision=..., recall=..., fmeasure=...),
    # 'rouge2': Score(precision=..., recall=..., fmeasure=...),
    # 'rougeL': Score(precision=..., recall=..., fmeasure=...)}

    # 我们可以提取 F-measure 分数
    result = {}
    for key, score in scores.items():
    result[key] = {
    'precision': score.precision,
    'recall': score.recall,
    'fmeasure': score.fmeasure
    }
    return result

    # 示例
    reference_summary = "The quick brown fox jumps over the lazy dog."
    candidate_summary = "The quick brown fox jumps on the log."

    rouge_scores = calculate_rouge(reference_summary, candidate_summary)

    for metric, scores in rouge_scores.items():
    print(f"{metric.upper()}:")
    print(f" Precision: {scores['precision']:.4f}")
    print(f" Recall: {scores['recall']:.4f}")
    print(f" F-measure: {scores['fmeasure']:.4f}")

    # ROUGE1:
    # Precision: 0.7500
    # Recall: 0.6667
    # F-measure: 0.7059
    # ROUGE2:
    # Precision: 0.5714
    # Recall: 0.5000
    # F-measure: 0.5333
    # ROUGEL:
    # Precision: 0.7500
    # Recall: 0.6667
    # F-measure: 0.7059

ROUGE 使用说明

  • ROUGE 更侧重召回率,因此对于生成式摘要任务更为适用,因为摘要通常比原文短,我们更关心模型是否捕捉到了原文的关键信息
  • ROUGE-L 能够更好地处理词序变化 ,因为它基于最长公共子序列
  • ROUGE-N(特别是 ROUGE-1 和 ROUGE-2)是最常用的 ROUGE 变体

附录:NLTK 库中 BLEU 平滑策略

  • method0(): 无平滑 (No smoothing)
  • method1(): 添加epsilon计数 (Add epsilon counts)
  • method2(): 添加1到分子和分母 (Add 1 to both numerator and denominator)
  • method3(): NIST 几何序列平滑 (NIST geometric sequence smoothing)

NLP——认识RWKV

前言:RWKV 作为挑战 Transformer 架构的国人开源项目,有前景,本文先简单介绍,有时间回来详细补课


整体说明

  • RWKV,全称 Receptance Weighted Key Value,中文名元始智能 ,是一种语言模型架构(由纯中国团队开发的,开源的语言架构)
  • TLDR:RWKV 结合了 RNN 和 Transformer 的优势
    • 传统 Transformer:计算复杂度随序列长度呈现二次方,且随着序列长度变长显存也一直在增长
    • RWKV 的核心思路:通过线性注意力机制和循环结构实现高效的并行训练与推理,同时保持 RNN 的低显存占用和恒定推理速度,还自然地做到了长度外推
  • 作者是 Bo Peng,知乎主页:PENG Bo
  • 评价:RWKV 作为首个中国纯字眼开源的非 Transformer 架构大模型,凭借高效的计算设计和持续的技术迭代,已在自然语言处理领域占据一席之地(开源社区活跃)
  • 其动态状态演化机制(如 RWKV-7)和多语言能力使其在长文本处理和低显存场景上具有显著优势
  • 期待 RWKV 成为替代 Transformer 架构的下一代语言模型架构

RWKV 核心优势和亮点

  • 线性复杂度 :计算复杂度为 \(O(Td)\)(\(T\) 为序列长度,\(d\) 为特征维度),显著低于Transformer的\(O(T^2)\)
    • 支持处理“无限”上下文长度,尤其适合长文本生成和多轮对话
  • 低资源消耗 :显存占用恒定

RWKV 主要架构版本迭代

  • RWKV-1/2/3 :从2021-2022年开始,逐步发布了前置版本,不是很成熟
  • RWKV-4(2023年):首个成熟版本,通过 Token-shift 技术实现循环与并行训练的结合,性能与同规模 Transformer 相当,论文被 EMNLP 2023 收录
  • RWKV-5/6(2024年):引入矩阵值状态和动态机制,提升长序列处理能力,如 RWKV-6-World-14B 在多语言评测中超越 Llama2 13B
  • RWKV-7(2025年):最新架构,采用动态状态演化(Dynamic State Evolution),超越传统注意力范式,支持持续学习和更复杂的上下文理解。例如,RWKV-7-World-2.9B在MMLU测试中得分54.56%,显著优于前代模型

RWKV 发展的时间线

  • 2020 年,BlinkDL 开始研究 Transformer,发现引入显式 decay 和 Token-shift 两个改进方向
  • 2021 年 8 月,RWKV 架构初版 RWKV-V1 被提交到 RWKV-LM 仓库
  • 2022 年,RWKV-V2 版本首次为 RWKV 实现 RNN 模式;2022年底,发布首个模型
  • 2023 年 6 月,RWKV 正式成立商业公司;2023 年 9 月 20 日,开源项目正式加入 Linux 开源基金会;2023 年 10 月,RWKV-4 架构论文被 EMNLP 2023 收录
  • 2024 年 7 月 19 日,RWKV 开源基金会宣布向全球开放 RWKV-6-World-14B 模型(超过 Llama2 13B);12 月,完成数千万人民币天使轮融资
  • 2025 年 2 月 22 日,参加在上海举办的首届 “RWKV-7 架构与未来趋势” 开发者大会
  • 注:目前团队从 3 人扩展至近 20 人,2024 年获天际资本数千万人民币天使轮融资,用于技术迭代和产品落地

RWKV 当前的缺点

  • 提示词敏感性 :基底模型对提示格式较为敏感,需优化输入顺序以提升生成质量
  • 回顾性任务局限 :在需要回溯前文的任务中表现较弱,需通过提示工程或微调弥补

NLP——稀疏化Attention之SWA-NSA-MoBA

  • 参考链接:
    • 稀疏化Attention:SWA->NSA->MoBA * 假如给我一只AI的文章 * 知乎

整体说明

  • 稀疏化注意力机制(Sparse Attention)旨在解决传统注意力机制(如 Transformer 中的 Full Attention)在长序列处理时计算复杂度高(\(O(N^2)\))的问题
  • 本文是稀疏化注意力机制从 SWA(Sparse Wave Analysis)到 NSA(Native Sparse Attention)再到 MoBA(Mixture of Block Attention)的改进过程
  • 稀疏注意力机制的设计核心:
    • 通过稀疏表示、动态分层策略和块注意力混合,逐步降低了长序列处理的计算复杂度
    • 针对硬件进行优化,NSA 和 MoBA 均针对现代硬件进行了优化,显著提升了计算速度
    • 关注性能与效率的平衡,在保持模型性能的同时,减少计算资源和内存占用

SWA(Sparse Wave Analysis)

  • SWA 是一种基于稀疏波数分析的方法,最初应用于信号处理领域,用于恢复多模态和色散特性。其核心思想是通过稀疏表示(Sparse Representation)来减少计算量,同时保持对关键信息的捕捉。SWA通过压缩感知技术,利用信号的稀疏性,从有限的数据中恢复出完整的频率-波数表示,从而减少计算复杂度
  • SWA 的核心特点 :
    • 利用信号的稀疏性,减少计算量
    • 适用于多模态和频率分散的场景
    • 通过优化策略(如基底追踪去噪)实现高效恢复
  • SWA 主要针对信号处理领域,未直接应用于大语言模型
  • SWA 缺乏对长上下文建模的针对性优化

NSA(Native Sparse Attention)

  • NSA 由 DeepSeek 提出,是一种针对大语言模型的稀疏注意力机制。NSA通过动态分层稀疏策略,结合粗粒度的 Token 压缩和细粒度的 Token 选择,显著降低了长序列处理的计算复杂度,同时保持了模型性能
  • NSA 的核心改进包括:
    • 动态分层稀疏策略 :通过粗粒度压缩和细粒度选择,兼顾全局上下文和局部信息的精确性
    • 硬件优化 :算法设计与现代硬件对齐,显著提升计算速度
    • 端到端可训练 :支持从预训练到推理的全流程优化,减少计算量
  • 在长文本任务和指令推理中,NSA 的性能优于 Full Attention,且计算速度大幅提升
  • NSA 虽然能效率提升显著,但在某些复杂任务中,稀疏策略可能导致信息丢失

MoBA(Mixture of Block Attention)

  • MoBA 由月之暗面提出,是一种混合块注意力机制,灵感来源于 MoE(Mixture of Experts)结构
  • MoBA 通过将注意力计算限制在最相关的上下文块中,进一步优化了计算效率
  • MoBA 支持全注意力和稀疏注意力的自由切换
  • MoBA 的核心改进:
    • 块注意力混合 :将长序列划分为多个块,仅对最相关的块进行计算,减少冗余计算
    • 灵活切换 :支持全注意力和稀疏注意力的动态切换,适应不同任务需求
    • 高效训练 :MoBA v2在短文本和长文本任务中均表现出色,且训练过程稳定
  • 在长上下文建模中,MoBA 显著降低了计算开销,同时保持了模型性能
  • MoBA 还表现出良好的扩展性和稳定性
  • 缺点是块划分策略需要精细设计,否则可能影响模型对全局上下文的理解

NLP——ASearcher

注:本文包含 AI 辅助创作

  • 参考链接:
    • 原始论文:(ASearcher)Beyond Ten Turns: Unlocking Long-Horizon Agentic Search with Large-Scale Asynchronous RL, 20250811 & 20250813 & 20250910, THU, Ant Research
    • GitHub 开源:github.com/inclusionAI/ASearcher

Paper Summary

  • 论文核心:介绍了一个用于大规模 RL 训练搜索智能体的开源项目 ASearcher
    • 论文的贡献包括一个完全异步的智能体 RL 训练系统和一个用于大规模高质量问答对构建的数据合成智能体
    • 实验验证 ASearcher 在不同的模型规模和评估设置下均优于 SOTA 开源智能体
      • 包括 Qwen2.5-7B、Qwen2.5-14B 的基础模型
      • QWQ-32B(基于提示)的 LLM 智能体
  • 背景信息:LLM-based LLM 集成了外部工具,在处理复杂的、知识密集型任务方面展现出了卓越的能力
    • 在众多工具选择中,搜索工具 (search tools) 在访问海量外部知识方面扮演着关键角色
  • 问题提出:
    • 但开源智能体在实现专家级的(expert-level)搜索智能 (Search Intelligence)方面仍然存在不足
      • 搜索智能 即解决模糊 Query 、生成精确搜索、分析结果并进行彻底探索的能力
    • 现有方法在可扩展性、效率和数据质量方面存在缺陷
      • 例如,现有 Online RL 方法中的小步数限制(例如 \(\leq 10\))限制了复杂策略的学习
  • 论文的主要贡献包括:
    • (1) 可扩展的完全异步 RL 训练 (Scalable fully asynchronous RL training) ,能够在保持高训练效率的同时实现长视野搜索 (long-horizon search)
    • (2) 一个基于提示的 LLM 智能体 (prompt-based LLM agent) ,能够自主合成高质量且具有挑战性的问答对 (QA),创建大规模 QA 数据集
  • 通过 RL 训练,论文基于提示的 QwQ-32B 智能体取得了显著改进,在 xBench 和 GAIA 上的 Avg@4 指标分别提升了 46.7% 和 20.8%
  • 论文的智能体表现出极长的视野搜索能力,在训练期间工具调用次数超过 40 步,输出 Token 数超过 150k
  • 通过简单的智能体设计且无需外部 LLM,ASearcher-Web-QwQ 在 xBench 和 GAIA 上分别取得了 42.1 和 52.8 的 Avg@4 分数,超越了现有的开源 32B 智能体
  • 论文已在 github.com/inclusionAI/ASearcher 开源论文的模型、训练数据和代码

Introduction and Discussion

  • LLM-based LLM 的最新进展表明
    • 通过利用单个或多个外部工具 (2024; 2025;),Agent 在解决复杂的、知识密集型问题方面具有卓越能力
  • 其中,搜索工具 (search tools) 尤为关键,它使智能体能够访问海量外部知识以增强问题解决能力 (2023; 2024; 2025)。然而,专家级地使用搜索需要高级智能
    • 例如,考虑这个问题:“截至 2024 年 12 月 31 日,中国在 2012 年伦敦奥运会上获得的金牌、银牌和铜牌数量分别是多少?”
      • 这个问题看似简单,但实际上具有挑战性,因为网络上存在相互矛盾的答案(例如,“38 金、27 银、22 铜” vs “39 金、31 银、22 铜”)
    • 一个搜索智能体必须从不同来源中筛选噪声和矛盾的答案,识别冲突的根本原因(例如官方报告中因兴奋剂检测不合格而被取消资格),并最终确定正确答案
  • 具有挑战性的现实世界任务要求智能体能够解决输入 Query 中的高度不确定性、生成精确的搜索 Query 、从海量数据中分析和提取关键见解、解决不一致性并进行深入探索
    • 论文将这种高级能力称为 “搜索智能 (Search Intelligence)”
  • 专有智能体和模型已经通过大规模 RL 训练 (2025;) 展现出复杂的搜索行为迹象
    • 但用于开发搜索智能体的开源方法仍然面临显著限制
    • 一系列工作采用强化学习 或监督微调 方法来激励工具使用能力 (2025;)
  • 基于提示的 LLM 智能体 (prompt-based LLM agents) 可以在无需训练的情况下执行大量工具调用 (2025;)
    • 但在实践中,论文发现现有的 Online RL 方法未能激励复杂且有效的搜索策略
    • 论文还发现基于提示的 LLM 智能体可能会因为 LLM 能力不足而失败
      • 例如无法从噪声网页中精确提取关键信息,以及无法验证错误结论
  • 最近一些工作进一步在基于提示的 LLM 智能体基础上,利用 Offline RL 方法来改进这些智能体 (2025;)
    • 但这种 Offline RL 范式在更广泛的领域中被证明表现不如 Online RL (2024; 2021; 2024)
  • 在数学和代码等推理任务中,Online RL 使得模型能够基于正确性反馈迭代优化推理过程,从而演化出复杂行为 (2025;)
    • 这引出了一个关键问题:Online RL 方法如何有效地在开源智能体中解锁搜索智能?
  • 论文识别了两个阻碍搜索智能体有效进行 Online RL 训练的关键障碍:
    • 搜索步数不足限制了复杂策略的学习
      • 现有工作,例如 Search-R1 (2025),人为限制了搜索步数,例如每条轨迹 \(\leq 10\) 步,这阻止了智能体探索更深的搜索路径
      • 但复杂的 Query 通常需要多轮工具调用和多步推理,这在严格的步数限制下无法学习
    • 缺乏大规模、高质量的问答对 (question-answer, QA pairs):
      • 推理任务的 RL 训练需要丰富、具有挑战性且正确的 QA 对 (2025;)
      • 但大多数现有的用于搜索智能体的开源数据集往往过时(例如 HotpotQA)、过于简化或规模太小,无法通过 RL 激发复杂的搜索行为 (2018; 2020; 2025;)
  • 为了应对这些挑战,论文提出了 ASearcher,一个旨在为搜索智能体实现大规模智能体 RL 训练 (large-scale agentic RL training) 的开源项目。论文的贡献包括:
    • 通过完全异步智能体 RL 训练实现长视野搜索
      • 在批生成 RL 训练系统 (2025;) 中设置较大的步数限制时,批次内的长轨迹很容易导致显著的闲置时间,从而减慢整个训练过程
      • 基于 AREaL (2025),论文的完全异步系统通过将轨迹执行与模型更新解耦,避免了长轨迹阻塞训练
      • 这允许放宽步数限制(例如,128 步/轨迹),使得智能体能够在不牺牲训练效率的情况下探索更深的搜索路径
      • 论文的智能体 ASearcher-Web-QwQ 实现了极长的视野搜索,在 RL 训练期间工具调用次数超过 40 步,生成的 Token 数超过 150k
    • 一个可扩展的 QA 合成智能体
      • 论文设计了一个 LLM-based 智能体,能够自主生成需要多轮工具使用的具有挑战性、不确定性和事实依据的 (challenging, uncertain, and grounded) QA 对
      • 从种子问题开始,该智能体通过模糊关键信息或注入外部事实来迭代地模糊查询 (fuzzes queries) 以增加复杂性
      • 每个构建的问题都经过多阶段验证 (multistage validation) 以确保质量和难度
      • 论文从 14k 个种子 QA 中生成了 134k 个高质量样本,其中 25.6k 个需要借助外部工具来解决
  • 使用 ASearcher,论文在两种设置下训练配备搜索引擎和浏览器的智能体:
    • 从基础模型开始进行 RL 训练 (Qwen2.5-7B/14B),以证明论文的训练流程能够激励强大且可泛化的搜索策略;
    • 微调由强大 LRM (QwQ-32B) 驱动的基于提示的智能体 ,以验证论文的训练流程在微调大规模基于提示的 LLM 智能体时的可扩展性
  • 论文在多跳 QA 基准测试和具有挑战性的基准测试上评估论文的智能体
    • 包括 GAIA (2023)、xbench-DeepSearch (2025) 和 Frames (2024)
  • 仅使用本地知识库训练的 ASearcher-Local-7B/14B,在现实的网络搜索中展现出惊人的泛化能力,并在多跳和单跳 QA 任务上达到了 SOTA 性能
    • 基于 QwQ-32B 构建的 ASearcher-Web-QwQ 在 xBench-DeepSearch 和 GAIA 上分别取得了 42.1 和 52.8 的 Avg@4 分数,超越了一系列开源智能体
    • 在评估 Pass@4 时,ASearcher-Web-QwQ 在 GAIA 和 xBench-DeepSearch 上分别达到了 70.1 和 68.0
    • 通过 RL 训练,ASearcher-Web-QwQ 在 xBench-DeepSearch 和 GAIA 上分别获得了 46.7% 和 20.8% 的提升
  • ASearcher 提出了一个面向基于 LRM 和 LLM 的搜索智能体的大规模开源在线智能体 RL 流程,通过可扩展的训练和高质量的数据解锁了搜索智能
    • 希望论文的发现不仅能推动搜索智能体的发展,也能为面向复杂现实世界任务的 LLM 智能体带来更广泛的创新启发

Limitations of Existing Open-source Approaches

  • 在本节中,论文针对一个来自 GAIA (2023) 的极具挑战性的问题进行了详细的案例研究
  • 具体来说,论文在图 3 中分析了 Search-R1-32B (2025) 和 Search-o1 (QwQ) (2025)
    • 详细的轨迹在附录 A 中提供

Solution Path of the Sample Question

  • 在图 3 中,论文的案例研究针对一个需要找到具有 4 个未知变量 的特定动物的问题
  • 为了识别正确答案,搜索智能体应首先根据条件“以哥本哈根命名的属 (genus named for Copenhagen)”找出所提及的物种
    • 根据该物种维基百科页面上的引文识别正确的 2021 年文章,然后找出两位提及人物的论文
  • 最终,正确答案应通过交叉引用 2021 年的文章和论文来确定;总而言之,这个例子具有挑战性的原因有几个:
    • 高不确定性 (High Uncertainty): 问题涉及多个未知变量,这些变量可能指向许多不同的实体
      • 例如,“2021 年的文章”可能指向 2021 年发表的任何文章,并且只能通过检查 肺泡物种 (alvei species) 维基百科页面中的“多中心、随机、双盲研究 (multicenter, randomized, double-blind study)”来确定
    • 需要精确的信息提取 (Requirement for Exact Information Extraction): 为了找到答案,智能体应列出网页上提到的所有动物并进行跨文档比较
      • 这要求智能体从海量、充满噪声的网页内容中精确提取关键信息,而不是简单地总结网页
    • 误导性答案 (Misleading Answers): 在解决此任务的过程中,可能会出现多个误导性答案(例如“猪 (pigs)”)
      • 智能体应通过检查所有相关网页和文档中的预期答案来严格验证其结论
  • 现有 Online RL 方法未能学习复杂搜索策略 (Existing Online RL Approaches Fail to Learn Complex Search Strategies)
    • 在图 3 中,Search-R1-32B 无法将复杂 Query 分解为单个组成部分,因此只能进行涉及太多未知信息的模糊 Query
      • 该智能体还存在严重的幻觉 (hallucinations),产生了搜索结果不支持结论
      • 最后,它未能解析所有未知信息
    • 这个案例研究表明,现有的 Online RL 方法仅能激励初级的搜索策略
    • 同样值得注意的是,由于在训练期间步数限制被设置为一个较小的值(例如 4 步)该模型仅表现出较短的工具使用视野
  • 基于提示的 LLM 智能体可能因 LLM 能力不足而失败 (Prompt-based LLM Agents Could Fail Due to Insufficient Capability of the LLM)
    • 在图 3 中,Search-o1 (QwQ) 可以通过大量工具调用找到物种名称,以及 2021 年的文章和相关论文
    • 但在试图寻找答案时,Search-o1 (QwQ) 很容易遗漏关键信息,从而得出错误的结论
      • 即使智能体找到了直接指向正确答案的信息,它仍然会被先前错误的结论所误导
      • 最后,该智能体无法验证先前结论的正确性
    • 这个案例研究揭示,尽管一个未在智能体任务上明确训练的开源模型可以执行大量的工具调用 ,但它无法基于检索到的内容和历史上下文进行专家级的推理
  • ASearcher-Web-QwQ (论文端到端 RL 智能体 ASearcher-Web-QwQ 的搜索策略)
    • 如图 3 所示,ASearcher-Web-QwQ 将复杂 Query 分解为精确的 Query
      • 与 Search-o1 (QwQ) 在每次搜索 Query 后访问大量网站不同,ASearcher-Web-QwQ 专注于一次访问一个网站
      • 问题:这样会不会太慢
    • ASearcher-Web-QwQ 总结了网站的所有相关信息
      • 所有候选答案都被列出并由智能体仔细分析
      • 当搜索结果没有直接指向期望目标时,例如,当使用“Olga Tapia Hafnia alvei animal studies”进行搜索以查找与 Olga Tapia 论文相关的动物时,智能体没有获得明确的信息,但能够通过与其他论文建立联系来推断出正确答案
      • 在找到正确答案“小鼠 (Mice)”后,智能体在报告最终答案之前花费了额外的步数来验证先前的结论
    • 总之,ASearcher 成功训练出了一个展现出专家级搜索行为的搜索智能体 :
      • 不确定性感知推理 (Uncertainty-aware reasoning): 智能体详尽地列出并检查所有不确定实体的可能性
      • 精确的关键信息提取 (Precise Key Information Extraction): 智能体能够从海量、充满噪声的网页内容中识别关键信息
      • 跨文档推理 (Cross-document Inference): 智能体能够通过建立多个文档之间的联系来推断关键结论
      • 基于事实的验证 (Grounded Verification): 智能体通过访问或搜索相关材料来验证先前结论的正确性

ASearcher

  • 论文提出了 ASearcher,一个通过大规模 RL 训练来解锁搜索智能(Search Intelligence)的开源项目
  • 如图 3 所示,ASearcher 训练了一个能够通过彻底解决所有不确定性并执行多轮工具调用来解决复杂问题的搜索智能体
  • 在后续的小节中,论文将介绍 ASearcher 中的智能体设计、训练数据及数据合成智能体,以及完全异步的强化学习训练

Agent Design

  • 论文在 ASearcher 中采用了一种简单的智能体设计,如图 2 所示
  • 工具 (Tools).
    • 给定一个用户 Query ,智能体可以使用两个基本工具:一个搜索引擎和一个网络浏览器
      • 搜索引擎:接收文本 Query 作为输入,并返回相关的摘要片段及其对应的 URL
      • 网络浏览器:接收一个 URL 并返回网页的内容
    • 为了有效解决复杂问题,模型应策略性地结合这些工具,并从海量数据中提取关键信息
  • 网页摘要 (Webpage Summarization).
    • 网页可能包含过长的内容,因此论文利用智能体将网页总结成一个简洁的摘要
    • 在训练时,这个摘要过程也会被优化,允许智能体通过强化学习训练来提高摘要能力
  • 使用基础 LLM 和高级 LRM 实例化 ASearcher (Instantiating ASearcher with Base LLMs and Advanced LRMs).
    • 在 ASearcher 框架内,论文研究了两种搜索智能体的具体实例化方式:
      • 一种是使用基础大语言模型(Base LLMs) ,例如 Qwen2.5-7B/14B;
      • 另一种是使用高级大推理模型(Large Reasoning Models, LRMs) ,例如 QwQ-32B
    • 这两种不同类型的实例化在历史管理和提示(Prompting)方面需要不同的设计选择
      • 对于基础 LLM ,论文遵循先前的工作 (2025;),采用仅追加(append-only)风格的提示方式
        • 从一个系统提示(System Prompt)开始,所有由 LLM 生成的响应、搜索结果和网页摘要都被追加到历史记录中
        • 智能体按时间顺序接收完整的历史记录作为输入,并输出一些推理文本和动作。
        • 这种方法确保了推理时的效率
      • 对于LRM ,LRM 本身已经具备了指令跟随能力
        • 论文使用不同的提示来指导 LRM 进行工具选择、摘要和回答
        • 论文还注意到 LRM 通常会生成长响应,有时历史记录会很长
          • 问题:需要确保输入的紧凑性,以保证 LRM 有足够的预算来生成 Token
          • 解法:在历史记录中,丢弃思维过程,而是保留总结后的想法和工具调用
        • 在提示 LRM 时,只将最近 25k 个字符的历史记录作为附加上下文提供给 LRM
          • 这些简单的设计确保了 LRM 的输入最多为 10k 个 Token
          • 问题:25k 不是已经比 10k 大了吗?
  • 端到端强化学习 (End-to-End Reinforcement Learning).
    • 智能体所有由 LLM 生成的响应,包括思维过程、工具调用和摘要,都是以端到端的方式使用强化学习进行训练的

Training Data

  • 论文的训练数据主要有两个来源
    • 开源数据集:仔细筛选,以确保其难度和质量
    • 合成数据:高质量的问答对(Question-Answer pairs, QA pairs),专门设计用于指导智能体学习可泛化的搜索策略
开源数据 (Open-source Data).
  • 论文从 HotpotQA (2018) 和 2WikiMultiHopQA (2020) 的训练集开始,这两个都是多跳问答数据集
  • 论文采用了基于模型的过滤流程
    • 使用 RL 在完整的开源数据集上训练一个模型,再使用训练好的模型为每个问题生成 16 个响应
    • 最后,论文过滤掉满足以下任一标准的问题:
      • 模型在 16 个响应中未能找到一个正确答案
      • 模型达到了 \(\ge\) 50% 的准确率,意味着问题挑战性不足
      • 模型仅用少量搜索轮次(即 \(\le\) 1 轮)就找到了正确答案
  • 这种过滤方法确保论文只保留最具挑战性但又可解决、且需要使用工具的问题
  • 最终,从总共 304k 个问答对中 ,论文保留了 16k 个具有挑战性的样本用于 RL 训练
  • 此外,论文还纳入了一组专为访问特定网页而设计的问答对
  • 特别是,论文加入了 WebWalkerQA (2025) 的一小部分子集,以帮助模型学习如何在嘈杂的真实网络搜索环境中定位答案
Data Synthesis Agent
  • 论文进一步开发了一个数据合成智能体来创建高质量的问答对
  • 如图 4 所示,数据合成智能体从一个种子问题开始,迭代地修改问题以增加复杂性
  • 为了确保合成的问题与可靠来源严格对齐,在问题合成过程中获得的一系列支持事实(supporting facts)被保留下来,并持续更新以进行质量验证
  • 在每一步,给定当前的问题和一个支持事实列表,智能体自动在以下两个关键动作之间进行选择:
    • 动作 1:注入(Injection) 旨在通过插入与问题相关的事实来丰富问题的上下文
      • 智能体首先选择问题中的一个实体,然后从外部来源(如维基百科)获取关于该选定实体的一条相关事实
      • 接着,通过将该事实注入到问题中,提出一个新的问题
      • 这个注入动作增加了问题的复杂性
    • 动作 2:模糊化(Fuzzing) 模糊问题中的某些细节,以增加问题的不确定性水平
      • 例如,“Catskill Mountain Railroad”(Catskill 山铁路)可能被替换为 “a historic mountain railway”(一条有历史意义的铁路)
      • 通过多次对问题进行模糊化处理,问题的不确定性水平和难度都会逐渐增加
  • 为了确保合成问题的高质量并精确评估其难度,论文为评估合成问题加入了一个严格的质量验证(quality verification)阶段:
    • 步骤 1. 基本质量(Basic Quality). 论文使用一个 LLM 来评估每个问题的基本质量
      • 此验证包括检查问题的清晰度,并根据支持事实验证问答对的准确性
      • 此质量控制步骤确保每个问答对都正确地基于可靠来源
    • 步骤 2. 难度测量(Difficulty Measurement). 论文使用一个前沿的 LRM(例如 QwQ-32B)直接为合成问题生成多个答案,而不使用任何外部工具
      • 此验证过程也作为问题难度的衡量标准
    • 步骤 3. 答案唯一性(Answer Uniqueness). 模糊化动作可能会过度放松约束,损害答案的唯一性
      • 为了防止因多个正确答案而产生的歧义,论文评估在难度测量步骤中生成的任何 mismatched answers 是否可以作为替代的有效答案
  • 论文在表 1 中提供了两个说明性示例。从一个简单的问题开始,注入动作用相关的事实细节替换特定的实体
    • 例如,“Michael P. Hein” 被扩展为 “who served as the first County Executive of Ulster County, New York…”
    • 模糊化动作通过泛化精确信息来引入模糊性,例如将确切的年份 “1934” 替换为 “the early 1930s”,或者将 “Catskill Mountain Railroad” 替换为 “a historic mountain railway”
  • 通过迭代的注入和模糊化,数据合成智能体产生出涉及复杂信息和高不确定性的问题,需要大量的搜索和推理才能找到正确答案
    • 在完成问题合成过程后,论文过滤掉那些 LRM 可以不依赖搜索工具直接生成正确答案的问题
    • 由于这些问题仅基于模型的内在知识就能回答,它们对于增强搜索能力几乎没有价值
  • 从 14,107 个种子问题开始,论文对每个问题平均执行了 6.3 次注入和 3.2 次模糊化
    • 从合成池中,论文为每个种子问题最多选择三个高质量的变体
    • 这个筛选过程产生了包含 25,624 个条目的最终数据集,所选问题平均每个包含 4.27 次注入和 2.10 次模糊化

Asynchronous Agentic RL Training

Challenges of Scaling Up Trajectory Length in RL
  • 实验表明复杂任务需要大量的工具调用,因此具有较大轮次限制的 RL 训练对于训练高级搜索智能体是必要的
  • 训练期间轨迹执行时间的方差很大,这可能导致批量生成 RL 系统出现显著的闲置时间
  • 复杂任务需要长轨迹 (Complex Tasks Require Long Trajectories).
    • 智能体任务通常需要大量的 LLM 生成和多次工具调用来解决复杂问题,导致轨迹执行时间延长
    • 如图 6(左)所示,论文在 GAIA (2023)、xBench-Deepsearch (2025) 和 Frames (2024) 上评估了论文经过 RL 训练的 QwQ-32B 智能体,强制智能体使用不同最小轮次数量的工具
    • 结果表明,准确率随着轮次的增加而提高,证实了复杂任务需要更长的轨迹来进行有效的问题解决
  • 轨迹执行时间的高方差 (High Variance in Trajectory Execution Time).
    • 长轨迹也带来了执行时间的显著方差
    • 论文分析了 QwQ 智能体 RL 训练期间的工具调用次数和 Token 生成数量(图 6),观察到最长的轨迹可能比短轨迹多出数十次工具调用和两个数量级以上的 Token
    • 这种差异导致每个轨迹的运行时间高度不可预测,进一步降低了训练效率
  • 智能体 RL 训练的效率问题 (Efficiency Issues of Agentic RL Training).
    • 长时间的执行和高运行时间方差都会降低 RL 训练效率
    • 论文以 one-step-off RL 训练系统 (one-step-off RL training system,也称为 One-Off,来自 DeepCoder,2025) 作为批量生成 RL 系统的代表性例子
      • 参考链接:DeepCoder: A Fully Open-Source 14B Coder at O3-mini Level
    • 在 one-step-off RL 训练中,第 N 步的训练和第 N+1 步的轨迹生成是并发执行的
    • 如图 7 所示,尽管该系统将轨迹 rollout 与模型训练重叠,但批量生成仍然受限于最慢的轨迹(例如轨迹 7),导致 GPU 闲置时间和利用率不足
完全异步 RL 训练 (Fully Asynchronous RL Training).
  • 为了确保高效的智能体 RL 训练,论文采用了完全异步的训练范式
    • 论文的方法在两个不同方面引入了异步
  • 异步轨迹 Rollout (Asynchronous Trajectory Rollouts).
    • 轨迹 rollout 是并行收集的,并且不直接相互干扰
    • 每个轨迹独立地向相应服务器发送工具调用请求,并向 LLM 推理引擎发送 LLM 生成请求
    • 来自不同轨迹的并发请求由服务器自动处理
    • 完全独立的轨迹执行确保了一个轨迹在生成 LLM 响应和等待工具调用响应时不需要等待其他轨迹,从而提高了训练效率
  • 解耦的 Rollout 和训练 (Decoupled Rollout and Training).
    • 除了异步 rollout 之外,轨迹 rollout 和模型更新也是完全解耦的
    • 在图 7 中,论文将论文的完全异步 RL 训练与 one-step-off RL 训练进行了比较,后者在批次内利用异步 rollout
    • 在完全异步 RL 训练中,长轨迹不会阻塞生成,并且可以跨越多个版本,显著减少了 GPU 闲置时间,并在生成过程中实现了近乎完全的 GPU 利用率
    • 在训练侧,一旦收集到足够的轨迹形成一个批次,就会立即启动一个训练步骤
    • 如图 7 所示,训练过程不会等待极长的轨迹 7,而是继续处理轨迹 9

Training Details

  • MDP 公式化 (MDP Formulation). 论文遵循马尔可夫决策过程(Markov Decision Process, MDP)的公式化
    • 形式上,一个 MDP 由元组 \((S,A,T,R)\) 定义
      • \(S\) 代表状态空间,通常包含历史记录、搜索结果和检索到的网页
      • \(A\) 表示动作空间,一个动作包括智能体生成的 Token
        • 一些工具调用可以通过特定的标签从动作中提取,例如 <search> search query </search>
      • \(T(s^{\prime}|s,a)\) 是转移概率:其中 \(s^{\prime}\) 是在状态 \(s\) 应用动作 \(a\) 中的工具调用后的更新状态
    • 在每个时间步,智能体接收一个状态 \(s_{t}\),并根据策略 \(\pi:S\to A\) 生成一个动作 \(a_{t}\)
    • 智能体的目标是最大化回报
      $$ J(\pi)=\mathbb{E}\left[\sum_{t=0}^{\infty}R(s_{t},a_{t})\bigg{|}a_{t}\sim\pi(s_{t})\right]$$
  • GRPO 训练 (GRPO Training). 论文采用 GRPO (2024) 算法来训练搜索智能体
    • 对于每个输入问题 \(x\),生成 \(G\) 个轨迹 \(\tau_{1},\tau_{2},\cdots,\tau_{G}\)
      $$ \tau_{i}=(s^{i}_{0},a^{i}_{0},s^{i}_{1},\cdots,s^{i}_{T_{i} }) $$
    • 为了优化智能体,论文采用以下损失函数:
      $$
      \begin{align}
      \mathcal{J}_{GRPO}(\theta)=\mathbb{E}_{x\sim\mathcal{D}_{\epsilon}\{\tau_{i}\}_{i=1}^{G}\sim\pi_{\theta_{old} }(:\left|x\right\rangle}\left[\frac{ 1}{G}\sum_{i=1}^{G}\frac{1}{\sum_{t=0}^{T_{i}-1}|a^{i}_{t}|}\sum_{t=0}^{T_{i}-1}\sum_{j=1}^{|a^{i}_{t}|}\min\left(\frac{\pi_{\theta}(a^{i}_{t,j}|s_{t},a^{i}_{t,< j})}{\pi_{\theta_{old} }(a^{i}_{t,j}|s_{t},a^{i}_{t,< j})}\hat{A}_{i},\right.\right. \left.\left.\text{clip}\Bigg{(}\frac{\pi_{\theta}(a^{i}_{t,j}|s_{ t},a^{i}_{t,< j})}{\pi_{\theta_{old} }(a^{i}_{t,j}|s_{ t},a^{i}_{t,< j})},1-\epsilon ,1+\epsilon \Bigg{)}\hat{A}_{i}\Bigg{)}\right]\right.
      \end{align} \tag{1}
      $$
      • 其中 \(\epsilon\) 是一个超参数,\(\hat{A}_{i}\) 是第 \(i\) 个轨迹的优势函数(Advantage),基于每个组内所有轨迹的相对奖励计算得出
  • 动态过滤 (Dynamic Filtering). 为了提高训练效率,论文实施了动态过滤,以排除缺乏有意义的训练信号的 Query
    • 具体来说,论文移除所有响应产生相同奖励(导致优势为零)的 Query ,包括智能体已经达到高准确率的 Query 和答案标记错误的 Query
  • 奖励函数 (Reward Function). 对于奖励函数,论文采用稀疏奖励(Sparse-reward)设置,在轨迹完成时计算奖励
    • 若从基础 LLM 开始训练 ,奖励函数通过乘法结合了格式奖励(Format Reward)和 F1 分数
      • 问题:这里的 F1 分数是什么?是工具调用相关 精确率 和 召回率 的衡量吗?
      • 回答:从下文来看,是的
    • 若基于 LRM 的智能体(例如 QwQ)进行微调,论文使用 LLM-as-Judge (2023; 2024) 作为奖励函数,并省略格式奖励,因为这些模型本身就保持了适当的输出格式

Experiments

Experiment Setup

  • 基准测试 (Benchmarks)
    • 论文首先在单跳和多跳问答任务上评估智能体
      • 对于单跳问题,论文使用 Natural Questions (2019)、TriviaQA (2017) 和 PopQA (2022)
      • 对于多跳问题,论文使用 HotpotQA (2018)、2WikiMultiHopQA (2020)、MuSiQue (2022) 和 Bamboogle (2022)
    • 论文进一步在更具挑战性的基准测试上进行了评估,包括 Frames (2024)、GAIA (2023) 和 xBench-DeepSearch (2025) 作为额外的测试集
      • 从 HotpotQA、2WikiMultiHopQA 和 MuSiQue 的验证集中随机抽取 1000 个实例进行评估
      • 对于 Bamboogle、Frames、GAIA 和 xBench-DeepSearch,论文使用其完整的测试集
      • 对于 GAIA,论文使用来自纯文本验证子集 (2025) 的 103 个示例
  • 搜索工具 (Search Tools)
    • 论文在两种设置下评估搜索智能体,每种设置使用不同类型的搜索工具
      • 带有 RAG 的本地知识库 (local knowledge base with RAG)的交互:智能体与本地部署的 RAG 系统交互,从一个 Wikipedia 2018 语料库 (2020) 中检索相关信息
      • 基于网络的搜索和浏览 (web-based search and browsing) 的交互:智能体在交互式网络环境中运行,可以访问搜索引擎和浏览器工具
        • 对于更具挑战性的基准测试 GAIA、xBench-DeepSearch 和 Frames,论文仅在此基于网络的设置下进行评估
  • 基线 (Baselines)
    • 论文考虑与两类基准测试相对应的两组基线
      • 对于多跳和单跳问答基准测试,包括 Search-R1(7B/14B/32B) (2025)、R1-Searcher(7B) (2025)、Search-o1(QwQ-32B) (2025)、DeepResearcher (2025) 和 SimpleDeepSearcher (2025)
        • 还直接提示 Qwen-2.5-7B/32B 在不使用任何工具的情况下生成答案
      • 在更具挑战性的基准测试上,论文与强大的 32B 规模模型进行比较,包括直接使用 QwQ-32B 生成、Search-o1(QwQ-32B) (2025)、Search-R1-32B (2025)、WebThinker-QwQ (2025)、SimpleDeepSearcher-QwQ (2025) 和 WebDancer-32B (2025)
      • 所有基线都使用与论文智能体相同的工具进行评估,以确保公平比较
  • Evaluation metrics
    • 论文采用两个互补的评估指标:F1 分数和 LLM-as-Judge (LasJ)
    • F1 分数在词级别(Word Level)计算,衡量预测答案和参考答案之间的精确率和召回率的调和平均数
    • 对于 LLM-as-Judge,论文提示一个强大的 LLM (Qwen2.5-72B-Instruct) 根据特定任务的指令评估模型输出的正确性
    • 在 GAIA、xBench-DeepSearch 和 Frames 上,论文仅使用 LLM-as-Judge 并报告所有模型的 Avg@4 和 Pass@4 分数
  • ASearcher 的训练细节 (Training Details of ASearcher)
    • 轮次限制:7B 和 14B 模型为 32,ASearcher-Web-QwQ 为 128
    • 批次大小:7B 和 14B 模型为 128,ASearcher-Web-QwQ 为 64
    • 论文整理了两组训练数据,一组用于 7B/14B 训练,另一组用于 QwQ-32B 训练
      • 这两个数据集大小均为 35k 并已开源
      • ASearcher-Web-QwQ 的训练大约需要 7.6k H800 GPU 小时

Main Results

  • 论文在三种评估设置下展示了主要的实验结果:
    • (1) 在标准问答基准测试上使用带有检索增强生成 (RAG) 的本地知识库
    • (2) 在相同基准测试上使用基于网络的搜索和浏览
    • (3) 在更具挑战性的基准测试上使用基于网络的搜索和浏览
  • ASearcher ,实例化为 Qwen2.5-7B、Qwen2.5-14B 和 QwQ-32B,在 F1 和 LasJ 指标上始终优于相同模型规模的现有开源智能体
    • ASearcher-14B 在一系列多跳和单跳问答基准测试上取得了 7B、14B 和 32B 模型中的最佳性能,并且 ASearcher-QwQ 在这些具有挑战性的基准测试上显著优于几个规模相当的有力基线
    • 这些结果突显了 ASearcher 在不同任务和模型规模上的通用性和可扩展性
  • 在标准问答基准测试上使用带有 RAG 的本地知识库 (Local Knowledge Base with RAG on Standard QA Benchmarks)
    • 如表 2 所示,通过强化学习在本地知识库上训练的 ASearcher-Local,在一系列多跳和单跳问答基准测试上,在 7B 和 14B 规模上均取得了最佳性能
      • 在 7B 设置下,ASearcher 的平均 F1 达到 58.0 ,优于 Search-R1-7B (54.3) 和 R1-Searcher-7B (52.2) 等强基线
        • 其 LasJ 分数也达到 61.0 ,显著优于 Search-R1-7B (55.4) 和 R1-Searcher-7B (54.7)
      • 在 14B 规模上,增益更为显著,ASearcher-Local-14B 的 F1 达到 60.0 ,LasJ 达到 65.6 ,甚至超过了更大的 32B 基于检索的基线 Search-R1-32B
  • 在标准问答基准测试上使用基于网络的搜索和浏览 (Web-based Search and Browsing on Standard QA Benchmarks)。
    • 在表 3 中,论文在现实的基于网络的环境中评估智能体
    • 论文以 zero-shot 方式评估完全使用本地知识库训练的模型在网络设置中的表现,以直接检验通过 RL 学习的搜索策略的泛化能力
      • 在所有模型规模上,ASearcher 始终优于强基线
      • ASearcher-Web-14B 取得了最佳性能,平均 F1 为 61.5 ,超过了在此设置下最强的 32B 基线 SimpleDeepSearcher
      • ASearcher-Local-14B 模型在网络设置下测试时表现出强大的泛化能力,在 LasJ 指标上相对于相似或更大规模的所有基线模型均取得了显著增益
      • 这证实了 ASearcher 学习了可迁移到不同信息源的通用搜索策略
  • 在具有挑战性的基准测试上使用基于网络的搜索和浏览 (Web-based Search and Browsing on Challenging Benchmarks)
    • 表 4 显示了在需要高级问题解决能力和搜索策略的具有挑战性的问答任务上的实验结果
      • 这些基准测试专门设计用于评估智能体与真实网络交互并检索超出 LLM 内部知识的最新信息的能力
      • 因此,直接从模型(例如 QwQ-32B)生成答案在所有数据集上表现都很差
    • 论文的智能体 ASearcher-Web-QwQ 在 GAIA (52.8) 和 xBench-DeepSearch (42.1) 上取得了最佳的 Avg@4 分数
      • 优于之前的开源智能体最优水平
    • 这些结果进一步凸显了其在处理长视野规划、现实世界工具使用和开放领域探索方面的优越性
    • 除了 Avg@4,论文还报告了 Pass@4 分数,该分数计算智能体在 4 次试验中找到正确答案的问题比例
      ASearcher-Web-QwQ 在通过率方面也优于 SOTA 开源智能体
  • RL 训练的效果 (Effect of RL Training)
    • 如图 8 所示,ASearcher-Web-QwQ 在 GAIA、xBench-DeepSearch 和 Frames 上分别获得了 +9.1、+13.4 和 +12.0 的提升
    • 当考虑通过率(即 Pass@4)时,ASearcher-Web-QwQ 也获得了显著增益,尤其是在 xBench-DeepSearch 上提升了 17.0
    • 通过率的显著提升表明论文的训练流程训练智能体学习复杂的搜索策略,以执行精确搜索、提取关键信息并解决冲突信息

Training Dynamics

  • ASearcher-Local-7B/14B 的训练动态 (Training Dynamics of ASearcher-Local-7B/14B)
    • 在图 9 和图 10 中,论文分别绘制了 ASearcher-Local-7B 和 ASearcher-Local-14B 训练过程中生成的 Token 数量、搜索 Query 和网页浏览情况
    • 使用论文的训练方法,在 7B 和 14B 规模上都观察到了生成长度和工具调用次数的增加
      • 搜索 Query 次数扩展到 6 次,高于先前工作 (2025;) 报告的数字
    • 有趣的是,论文发现 7B 模型未能学习有效的网页浏览 ,而 14B 模型可以在训练后期学习访问网页来解决具有挑战性的问题
      • 论文假设 7B 模型在学习网页浏览方面的失败是因为模型容量太小 ,无法在零 RL 训练设置中稳定地学习总结冗长的网页
  • ASearcher-Web-QwQ 的训练动态 (Training Dynamics of ASearcher-Web-QwQ)
    • ASearcher-Web-QwQ 的训练动态如图 6 所示
    • 随着训练的进行,智能体学会执行更多的工具调用,在第 200 步左右达到约 40 次调用,峰值实例甚至达到 70 次调用
    • QwQ-32B 智能体通过训练生成了更多的 Token ,最多超过 150k 个 Token
    • 工具利用率和输出长度的这种扩展趋势突显了完全异步 RL 训练对于复杂现实世界智能体应用的潜力
      • 问题:这跟完全异步 RL 有什么关系?

Related Works

Search Agents

  • 一些工作已经构建了智能体工作流,使 LLM 能够利用外部工具来解决复杂任务
    • 著名的例子包括 Search-o1 (2025) 和 ReAgent (2025)
  • 基于提示的方法虽然对于快速开发有效,但根本上受到底层 LLM 能力的限制,并且无法通过环境反馈可靠地改进
  • 一些工作尝试为 LLM 构建 SFT 轨迹
    • 例如,(2023; 2024) 利用大 LLM 合成检索和推理轨迹来微调较小的模型
  • 最近,一些工作研究强化学习 (RL) 方法来增强 LLM-based 智能体,主要关注多跳问答基准测试,如 HotpotQA 和 2Wiki-Multihop
    • (2025;) 使用多跳问答数据进行 RL 训练,并观察到工具使用次数的增加
    • RAG-R1 (2025) 进一步结合了 SFT 和 RL 来增强搜索策略
  • 最近,研究人员开始关注更具挑战性的任务,通过 Offline RL (2025) 微调由大型推理模型 (LRM) 驱动的复杂基于提示的智能体,在具有真实网络数据的模拟轨迹上进行 SFT (2025;),以及为 RL 训练构建具有挑战性的问答对 (2025)

Synthetic Data for Search Agents

  • 除了依赖大规模人工标注,数据合成也已成为一种可扩展的方法来为搜索智能体准备训练数据
    • 一些方法通过与真实网页交互并使用 LRM 整理数据来生成合成但真实的问答轨迹 (2025;)
    • WebSailor (2025) 通过采样和模糊测试构建结构上具有挑战性的任务
    • WebShaper (2025) 利用集合论技术构建高质量的复杂问答对
  • ASearcher 开发了一个自主的 LLM 智能体来合成具有高不确定性的挑战性问答对,而不依赖复杂的知识图谱
    • ASearcher 中的数据合成智能体和合成训练数据都是完全开源的

附录 A:Full Case Study

  • 在本节中,论文对来自 GAIA (2023) 的一个极具挑战性的问题进行了详细的案例研究
    • 论文在图 11 中分析了 Search-R1-32B (2025) 和 Search-o1 (QwQ) (2025)
  • 示例问题的解决路径 (Solution Path of the Sample Question)
    • 在图 11 中,论文的案例研究针对一个在给定 2 个条件和 4 个未知变量的情况下寻找特定动物的问题进行
    • 为了识别正确答案,搜索智能体应首先根据条件 C1 找出提到的物种 U1 ,识别满足条件 C2 的正确文章 U2 ,然后找出 U3.1 和 U3.2 中列出的论文
    • 最后,正确答案应通过交叉引用文章 U2 和论文 U3.1&U3.2 来确定
    • 总结来说,这个示例具有挑战性主要有以下几个原因:
      • 高不确定性 (High Uncertainty): 问题涉及多个未知变量,这些变量可能指向许多不同的实体
        • 例如,2021 年的文章 U2 可能指向 2021 年发表的任何文章,并且只能在给定条件 C2 和肺泡物种 U1 的情况下确定
      • 对精确信息提取的要求 (Requirement for Exact Information Extraction): 为了找到答案,智能体应列出网页上提到的所有动物并进行跨文档比较
        • 这将要求智能体从海量、嘈杂的网络内容中精确提取关键信息,而不是简单地总结网页
      • 误导性答案 (Misleading Answers): 在解决此任务的过程中,可能会出现多个误导性答案,例如“猪”
        • 智能体应通过检查所有相关网页和文档中的预期答案来严格确认其结论
  • 现有的 Online RL 方法未能学习复杂的搜索策略 (Existing Online RL Approaches Fail to Learn Complex Search Strategies)
    • 在图 11 中,Search-R1-32B 无法将复杂 Query 分解为单独的组成部分,因此只进行了涉及过多未知信息的冗余 Query
      • 该智能体还存在严重的幻觉,产生了搜索结果不支持结论
      • 它未能解析所有未知变量
    • 此案例研究表明,现有的 Online RL 方法仅激励了初级的搜索策略
    • 同样值得注意的是,由于在训练期间轮次限制设置为较小的值(例如 4),模型仅表现出较短的工具使用视野
  • 基于提示的 LLM 智能体可能因 LLM 能力不足而失败 (Prompt-based LLM Agents Could Fail Due to Insufficient Capability of the LLM)
    • 在图 11 中,Search-o1 (QwQ) 可以通过大量的工具调用找到物种名称 U1 ,以及 2021 年的文章 U2 和论文 U3.1&U3.2
      • 但在尝试寻找答案时,Search-o1 (QwQ) 很容易遗漏关键信息
      • 因此,智能体得出了错误的结论
      • 而且,即使智能体找到了直接指向正确答案的信息,它仍然被先前错误的结论所误导
      • 最后,智能体无法验证先前结论的正确性
    • 这个案例研究表明,尽管一个未在智能体任务上明确训练的开源模型可以执行大量的工具调用 ,但它无法基于检索到的内容和历史上下文进行专家级的推理
  • ASearcher-Web-QwQ
    • 论文还分析了论文端到端 RL 智能体 ASearcher-Web-QwQ 的搜索策略
    • 如图 11 所示,ASearcher-Web-QwQ 将复杂 Query 分解为精确且聚焦的 Query
      • 与 Search-o1 (QwQ) 在每次搜索 Query 后访问大量网站不同,ASearcher-Web-QwQ 专注于访问最相关的网站
      • ASearcher-Web-QwQ 总结了网站的所有相关信息
        • 所有候选答案都被智能体列出并仔细分析
      • 当尝试在论文 U3.1&U3.2 中搜索相关事实时,智能体明确引用了关键信息
        • 当搜索结果没有直接指向期望的目标时,例如,当使用“Olga Tapia (U3.2) Hafnia alvei (U1) animal studies”进行搜索以查找与 Olga Tapia 论文相关的动物时,智能体没有得到明确的信息,但能够通过与其他论文 U3.1 建立联系来推断出正确答案
      • 在找到正确答案“Mice”之后,智能体在报告最终答案之前花费了额外的轮次来确认先前的结论
    • 总之,ASearcher 成功训练了一个展现出复杂行为的搜索智能体,这些行为体现了搜索智能:
      • 不确定性感知推理 (Uncertainty-aware reasoning): 智能体详尽地列出并检查所有不确定实体的可能性
      • 精确的关键信息提取 (Precise Key Information Extraction): 智能体能够从海量、嘈杂的网络内容中识别关键信息
      • 跨文档推理 (Cross-document Inference): 智能体能够通过建立多个文档之间的联系来推断关键结论
      • 严格确认 (Rigorous Confirmation): 智能体通过额外的工具调用来验证先前结论的正确性

NLP——Agentic-Design-Patterns-阅读笔记

  • 参考链接:
    • 原始书籍地址:Agentic Design Patterns,20250911
    • 中文版 PDF 地址:智能体设计模式
    • 中文在线阅读地址:智能体设计模式(在线阅读)
    • 英文版 PDF 地址:github.com/sarwarbeing-ai/Agentic_Design_Patterns

简单介绍

  • 本书发布日期是 20250911,作者是 Antonio Gulli

前置讨论


第一章:

NLP——Does-RL-Incentivize-Reasoning-Capacity

注:本文包含 AI 辅助创作

  • 参考链接:
    • 原始论文:Does Reinforcement Learning Really Incentivize Reasoning Capacity in LLMs Beyond the Base Model?, Leap Lab of THU & SJTU, 20250418-20251124
    • GitHub 项目地址:limit-of-RLVR.github.io

Paper Summary

  • 论文内容总结:
    • 论文发布以来,在业内广受认可,非常值得一读
    • 论文系统地研究了当前 RLVR 方法对 LLM 推理能力边界的影响
    • 论文的研究结果表明
      • 当前的 RLVR 很少激发根本性的新推理模式;
      • RLVR 训练模型的推理能力仍然受限于其 Base Model 的能力
      • 当前的 RLVR 方法尚未完全实现 RL 通过探索和利用来激发 LLM 新推理能力的潜力
      • 注:这种局限性可能源于论文第 5 节讨论的在巨大语言空间中缺乏有效的探索策略
    • 在高级抽象中进行探索、细粒度的信用分配以及多轮智能体-环境互动可能缓解这个问题
    • 本研究的结论不一定保真,因为论文的研究有些设定问题:
      • 作者已经尽量评估尽可能多的强大的、公开可用的纯 RLVR 模型,但是仍然有问题
      • 目前能力最强的模型和训练流程仍然是私有的,所以作者无法分析内部的细节(论文的分析需要这些细节)
      • 目前的技术发展很快,其实已经有一些文章对论文的结论提出了一些挑战
        • 论文的作者最终版本更新的论文中,比较谦逊,已经意识到了这些实际限制
  • RLVR 近期在提升 LLM 的推理性能方面取得了显著成功,尤其是在数学和编程任务中
    • 人们普遍认为,与传统 RL 帮助智能体探索和学习新策略类似,RLVR 能够使 LLMs 持续自我改进,从而获得超越对应 Base Model 能力的新型推理能力
  • 在本研究中,论文通过对 RLVR 训练的 LLMs 在不同的模型家族、 RL 算法和数学/代码/视觉推理基准测试中进行系统性的推理能力边界探测,并采用大 \(k\) 值下的 pass@\(k\) 作为评估指标,对 RLVR 的当前状态(the current state of RLVR) 进行了批判性审视
  • 虽然 RLVR 提高了采样正确路径的效率,但论文惊奇地发现,当前的训练 极少(rarely) 能激发出根本性的新推理模式
    • 论文观察到,尽管 RLVR 训练的模型在较小的 \(k\) 值(例如 \(k\)=1)下优于其 Base Model ,但在 \(k\) 值较大时, Base Model 反而能达到更高的 pass@\(k\) 分数
  • Moreover,论文发现 LLMs 的推理能力边界常常随着 RLVR 训练的进行而变窄(narrows)
  • 进一步的覆盖率和困惑度(perplexity)分析表明,RLVR 模型生成的推理路径已经包含在 Base Model 的采样分布中
    • 这表明它们的推理能力源自 Base Model 并 受限于(bounded by) Base Model
  • 从这个视角出发,将 Base Model 视为一个上界,论文的定量分析表明:
    • 六种流行的 RLVR 算法表现相似,并且远未达到充分利用 Base Model 潜力的最优状态
  • In Contrast,论文发现蒸馏(distillation)能够从教师模型中引入新的推理模式,并真正扩展模型的推理能力
  • Taken together,论文的研究结果表明,当前的 RLVR 方法尚未完全实现 RL 激发 LLMs 真正新颖推理能力的潜力
    • 这突显了改进 RL 范式的必要性,例如有效的探索机制、更审慎和大规模的数据管理、细粒度的过程信号以及多轮智能体交互,以释放这种潜力

Introduction and Discussion

  • 专注于推理的大型语言模型(reasoning-centric LLMs)的发展极大地推动了 LLM 能力的前沿
    • 例如 OpenAI-o1 (2024)、DeepSeek-R1 (2025) 和 Kimi-1.5 (2025),
    • 特别是在解决涉及数学和编程的复杂逻辑任务方面
  • 与传统依赖于人工标注指令(instruction-tuned)的方法(2023; 2024)相比,这一飞跃背后的关键驱动力是大规模的 RLVR (2024; 2025)
    • RLVR 从一个预训练的 Base Model 或经过长链思维(chain of thought,CoT)数据微调的模型开始,基于简单的、可自动计算的奖励通过 RL 对其进行优化
    • 这些奖励取决于模型的输出在数学问题上是否匹配真实解,或在代码问题上是否通过单元测试,从而无需人工标注即可实现规模化
    • RLVR 框架因其简单性和实际有效性而备受关注
  • 在传统的 RL 设置中,例如游戏(如 Atari,Go),智能体通常通过自我改进自主发现新策略并超越甚至达到人类水平 (2015; 2017)
    • 受此成功启发,人们普遍认为 RLVR 同样能使 LLMs 自主发展出新的推理模式,包括枚举、自我反思和迭代优化,从而超越其 Base Model 的能力 (2025)
  • Consequently,RLVR 被视为实现 LLMs 持续自我进化、可能使论文更接近更强大智能的一条有希望的途径 (2025)
    • However,尽管取得了经验上的成功,当前 RLVR 的根本有效性仍未得到充分检验
    • 这引出了一个根本性问题:当前 RLVR 是否真正使 LLMs 获得了新的推理能力,类似于传统 RL 通过探索发现新策略,还是仅仅利用了 Base Model 中已有的推理模式?
  • 为了严格回答这个问题,论文首先必须评估 Base Model 和 RLVR 训练模型的推理能力边界
    • 传统的评估指标依赖于贪心解码(greedy decoding)或核采样(nucleus sampling)(2020) 的平均分,这反映了平均情况下的行为
    • However,这些指标可能会低估模型的真实潜力,尤其是在尝试次数有限的情况下模型在难题上失败时,尽管它有能力通过更多采样解决这些问题
  • 为了克服这一限制,论文采用 pass@\(k\) 指标 (2024),即如果 \(k\) 个采样输出中任意一个是正确的,则认为问题已解决
    • 通过允许多次尝试,pass@\(k\) 揭示了模型是否具备解决问题的潜力
    • 数据集的平均 pass@\(k\) 分数因此反映了模型在 \(k\) 次尝试内可能解决的问题比例,为其推理边界提供了更稳健的视角
      • 这为 RLVR 训练是否能产生根本性的超越能力、使模型能够解决 Base Model 无法解决的问题提供了严格检验
  • 使用 pass@\(k\) 指标,论文在多个基准测试中进行了广泛的实验,涵盖了多个 LLM 家族、模型大小和 RLVR 算法,以比较 Base Model 与其 RLVR 训练的对应模型
  • 图 1 内容:
    • Left:当前 RLVR 对 LLM 推理能力的影响
      • 搜索树(search tree)通过对给定问题从 Base Model 和 RLVR 训练模型中重复采样生成
      • 灰色表示模型不太可能采样的路径,而 黑色 表示模型可能采样的路径
      • 绿色表示具有正奖励的正确路径
      • 论文的关键发现是,RLVR 模型中的所有推理路径都已存在于 Base Model 中
      • 对于某些问题,如问题 A,RLVR 训练使分布偏向奖励路径,提高了采样效率
        • However,这是以减少推理能力范围为代价的:
          • 对于其他问题如问题 B, Base Model 包含正确路径,而 RLVR 模型则没有
    • Right:随着 RLVR 训练的进行,平均性能(即 pass@1)提高,但可解问题(solvable problem)的覆盖率(即 pass@256)下降,表明 LLM 的推理边界在缩小

Preliminaries

  • 本节首先概述 RLVR 的基础知识,然后介绍用于评估推理边界的 pass@\(k\) 指标,并解释为什么它比最佳采样(best-of-\(N\))等替代方案更受青睐

RLVR(Reinforcement Learning with Verifiable Rewards)

Verifiable Rewards
  • 设 \(\pi_{\theta}\) 为一个具有参数 \(\theta\) 的 LLM,它在自然语言 Prompt \(x\) 的条件下生成一个 Token 序列 \(\mathbf{y}=(y_{1},\ldots,y_{T})\)
  • 一个确定性的 ** Verifier** \(\mathcal{V}\) 返回一个二元奖励:
    $$ r=\mathcal{V}(x,\mathbf{y})\in\{0,1\}$$
    • 当且仅当模型的最终答案完全正确时 \(r=1\)
  • 也可以添加格式奖励以鼓励模型明确地将推理过程与最终答案分开
  • RL 的目标是学习一个策略以最大化期望奖励:
    $$ J(\theta)=\mathbb{E}_{x\sim\mathcal{D} }\left[\mathbb{E}_{\mathbf{y}\sim\pi_{\theta}(\cdot|x)}[r]\right] $$
    • 其中 \(\mathcal{D}\) 是 Prompt 的分布
RLVR Algorithms
  • 近端策略优化(Proximal Policy Optimization,PPO)(2017) 提出使用以下裁剪替代目标(clipped surrogate)来最大化目标函数:
    $$\mathcal{L}_{\text{CLIP} }=\mathbb{E}\left[\min(r_{t}(\theta)A_{t},\text{clip}(r_{t}(\theta),1-\epsilon,1+\epsilon)A_{t})\right],$$
    • 其中 \(r_{t}(\theta)=\frac{\pi_{\theta}(y_{t}|x,\mathbf{y}_{ < t})}{\pi_{\theta_{\text{old} } }(y_{t}|x,\mathbf{y}_{ < t})}\),\(A_{t}\) 是由价值网络 \(V_{\phi}\) 估计的优势(advantage)
  • 可选地应用 KL 散度项(KL divergence term),以约束模型偏离原始策略的程度
  • 更多算法介绍见 C.5 节
Policy Gradient
  • PPO 及其变体属于 RL 的策略梯度类(policy gradient class)(1992; 1998)
  • 这些方法仅从 On-policy samples 中学习,即由当前 LLM 生成的样本
  • 在可验证奖励的背景下,训练目标通常是 最大化正确答案样本的对数似然,并最小化错误答案样本的似然
Zero RL Training
  • Zero RL Training 将 RL 直接应用于 Base Model ,无需任何 SFT (2025)
  • 为了清晰研究 RLVR 的效果
    • 对所有数学任务
      • 遵循 Zero-RL 设置,使用预训练模型作为起始模型
    • 对于 Coding 和视觉推理(Visual Reasoning)任务
      • 使用微调模型作为起始模型,比较微调模型与其 RLVR 训练的对应模型
    • 补充:对于 Coding 和视觉推理(Visual Reasoning)任务,开源工作通常使用指令微调模型作为起点
      • 主要是由于使用纯 Zero-RL 设置存在训练不稳定性和有限的有效性
      • 遵循此惯例,论文比较微调模型与其 RLVR 训练的对应模型,以专注于 RLVR 的效果
  • 图 2 : Base Model 及其 RLVR 训练对应模型在多个数学基准测试上的 Pass@\(k\) 曲线
    • 当 \(k\) 较小时, RL 训练的模型优于其基础版本
    • However,当 \(k\) 增加到数十或数百时, Base Model 持续赶上并超越 RL 训练的模型
    • GSM8K 和 AMC23 的更多结果见图 10

Metrics for LLM Reasoning Capacity Boundary

Pass@\(k\) Metrics
  • 准确测量 Base 和 RL 模型的推理能力边界具有挑战性,因为贪心解码或核采样的平均值 (2020) 等方法仅反映平均情况下的性能
  • 为了准确测量推理能力边界,论文将代码生成中常用的 pass@\(k\) 指标 (2021) 扩展到所有具有可验证奖励的任务
  • 给定一个问题,论文从模型采样 \(k\) 个输出
    • 如果至少有一个样本通过验证,则该问题的 pass@\(k\) 值为 1;否则为 0
    • 问题:这里的模型采样可能会重复吗?
  • 数据集的平均 pass@\(k\) 值反映了模型在 \(k\) 次尝试内可以解决的数据集中问题比例,为 LLMs 的推理能力覆盖范围提供了严格评估
  • 论文采用一种无偏、低方差的估计器(unbiased, low-variance estimator)来计算 pass@\(k\),详见 A.2 节
Comparison with Best-of-\(N\) and Majority Voting
  • Best-of-\(N\) (2021) 和 Majority Voting 是选择正确答案的实用方法,但它们可能忽略了模型的全部推理潜力
  • In Contrast,论文使用 pass@\(k\) 不是为了评估实际效用 ,而是为了探究推理能力的边界
    • 如果模型在任意 \(k\) 个样本中产生了一个正确解,论文将该问题视为在其潜在范围内
    • Thus,如果 RL 增强了推理能力, RL 训练的模型应该比 Base Model 在更多此类问题上成功
  • 如果 Verifier 或投票未选择正确答案,像 Best-of-\(N\) 或多数投票这样的方法可能会错过这些成功
Random Guessing Issue
  • 对于 Coding 任务,使用编译器和预定义的单元测试用例作为 Verifier ,pass@\(k\) 值可以准确反映模型是否能解决问题
  • 在 Mathematics 中,“猜测”问题可能随着 \(k\) 的增加而变得显著,即模型可能生成不正确的 CoT 但仍偶然得出正确答案
  • 为了解决这个问题,论文对模型输出的一个子集手动检查 CoT 的正确性 ,详见 3.1 节
  • 通过结合数学上手动检查的结果和 Coding 的结果,论文严格评估了 LLM 推理能力的范围
  • 另一个注意事项是(Another caveat is that),如果 \(k\) 值极大,即使是 Token 字典(Dictionary)上的均匀采样也会偶然发现正确的推理路径
    • 尽管这在当今的时间和计算资源预算下是不可行的
  • Crucially,论文发现 Base Model 在实际的 \(k\) 值(\(k=128\) 或 1024)下已经能产生正确的输出,这完全在实用资源限制内
    • 理解:这里也是最早本人的担忧,这里作者相当于给了比较合适的回答了,但依然是论文的一个核心讨论点,因为采样次数足够多,任何模型都能成功

RLVR’s Effect on Reasoning Capacity Boundary

  • 前文建立了推理边界评估指标
  • 本节现在通过广泛的实验对基础和 RLVR 模型进行全面评估
  • 论文的分析按任务类别组织,涵盖三个代表性领域:数学、代码生成和视觉推理
  • 整体实验设置总结在表 1 中(表 1 :评估 RLVR 对 LLMs 推理边界影响的实验设置)
  • 评估协议(Evaluation Protocol)
    • 对于 Base Model 和 RLVR 模型的采样过程,论文使用温度 temperature=0.6 和 top-\(p\) 值 0.95,允许最大生成 16,384 个 Token
      • 论文在图 17 中还展示了不同温度设置的效果
    • 对于 Base Model 的评估,一种常见做法是在 Prompt 中包含少量示例(few-shot examples)以引导输出 (2024; 2024; 2024)
      • However,为了确保公平和无偏见的比较,论文特意避免为 Base Model 使用少量 Prompt (few-shot prompts),以消除上下文示例可能对推理造成的任何潜在混杂影响
    • 为了评估 Base Model 和 RLVR 模型,论文使用与 RLVR 训练相同的零样本 Prompt (zero-shot prompt),或基准测试提供的默认 Prompt ,确保两种模型之间设置一致
      • Interestingly,尽管 Base Model 在没有少量指导的情况下经常产生未格式化或无意义的 Response ,但论文观察到,只要有足够的采样,它们仍然能够生成正确格式化的输出并成功解决复杂问题
      • 训练和评估的 Prompt 模板在附录 D 节中提供

RLVR for Mathematical Reasoning

Models and Benchmarks
  • 在数学问题中,模型需要生成一个推理过程(即 CoT)以及最终答案
  • 为了确保结论的稳健性,论文实验了多个 LLM 家族,主要是 Qwen2.5 (7B/14B/32B 基础变体) (2024) 以及额外的 LLaMA-3.1-8B (2024)
  • 论文采用由 SimpleRLZoo (2025) 发布的 RLVR 模型,这些模型使用 GRPO 在 GSM8K 和 MATH 训练集上训练 Zero RL 模型,仅使用正确性奖励,排除任何基于格式的奖励
  • 论文在不同难度的基准测试上比较 Base 和 Zero RL 模型的 pass@\(k\) 曲线:
    • GSM8K (2021)、MATH500 (2021)、Minerva (2022)、Olympiad (2024)、AIME24 和 AMC23
  • Additionally,论文还包括 RLVR 模型 Oat-Zero-7B 和 DAPO-32B (2025a; 2025)
    • 这两个模型的特点是在具有挑战性的 AIME24 基准测试上表现出色
The Effect of RLVR: Increased Likelihood of Correct Samples, Decreased Coverage of Solvable Problems(增加正确样本的可能性,减少可解问题的覆盖范围)
  • 如图 2 所示,论文一致地观察到小 \(k\) 值和大 \(k\) 值之间的对比趋势
    • 当 \(k\) 较小时(例如 \(k=1\),相当于平均准确率), RL 训练的模型优于其基础对应模型
      • 这与 RL 提升性能的常见观察相符,表明 RLVR 使模型采样正确 Response 的可能性显著增加
    • 随着 \(k\) 增加,曲线变得更陡峭,在所有基准测试中, Base Model 持续赶上并最终超越 RL 训练的模型
      • 表明 Base 模型对可解问题的覆盖范围更广
      • 例如,在 Minerva 基准测试上使用 32B 大小模型时, Base Model 在 \(k=128\) 时比 RL 训练的模型高出约 9%,这意味着它可以在验证集中解决大约多 9% 的问题
  • 论文进一步检查了使用 Oat-Zero 和 DAPO 训练的 RL 模型
    • 如图 11 所示,尽管 RL 模型最初表现出强劲性能,比 Base Model 高出近 30%,但最终被 Base Model 超越
  • 基于这些结果,论文得出结论:RLVR 在低 \(k\) 时增加了采样正确 Response 的可能性,但缩小了模型的整体覆盖范围
  • 论文在 4.1 节进一步分析了这种现象的根本原因
CoT Case Analysis
  • 论文在图 20 和图 21 中展示了从 Base Model 中采样的正确 CoT,这些是从 AIME24 最难问题的 2048 次采样中手动选择的
  • Base Model 的 Response 往往是较长的 CoT 并表现出反思行为,突显了 Base Model 内在的强大推理能力
Validityof Chain-of-Thought
  • 对于数学问题,常见的评估仅基于最终答案的正确性,存在 hacking 风险
  • 为了使用 pass@\(k\) 准确反映推理能力边界,重要的是评估有多少已解决的问题是源于采样到真正正确的 CoT,而非幸运猜测
  • 遵循 (2024),论文手动检查了 GSM8K 数据集中最具挑战性的可解问题(平均准确率低于 5% 但高于 0%)中导致(led to)正确答案的所有 CoT
    • Base Model 回答了 25 个这样的问题,其中 24 个包含 至少一个(at least one) 正确的 CoT
    • Similarly, RL 训练的模型回答了 25 个问题,其中 23 个包含 至少一个 正确的 CoT
  • 论文还手动检查了具有挑战性的 AIME24 基准测试中平均准确率低于 5% 的问题的 CoT(详情见 C.2 节)
    • Base Model 回答了 7 个这样的问题,其中 5 个(共 6 个,排除一个因跳过推理步骤而正确性模糊的情况)包含 至少一个 正确的 CoT
    • 类似地, RL 训练的模型回答了 6 个问题,其中 4 个包含 至少一个 正确的 CoT
  • 这些结果表明, Base Model 可以采样有效的推理路径来解决问题
    • 理解:这里是挑选最可能因为随机猜对答案(而 CoT 是错的)的问题进行人工 check,看起来 check 结果也是符合预期的(Base Model 回答对的情况跟 RL 模型差不多或更好)

RLVR for Code Generation

Models and Benchmarks
  • 论文采用了开源的、经过 RLVR 训练的模型 CodeR1-Zero-Quen2.5-7B (2025)
    • 该模型基于 Quen2.5-7B-Instruct-1M (2025b),在 12K 个 LeetCode 和 TACO 样本上训练了 832 步
  • For Evaluation,模型在 LiveCodeBench v5 上进行评估(assessed)
    • 该 LiveCodeBench v5 基准包含从 2024 年 8 月到 2025 年 1 月的 279 个问题 (2025),同时还使用了 HumanEval+ 和 MBPP+ (2023)
  • 论文还评估了最强大的开源 RLVR 训练代码 LLM DeepCoder-14B (2025),它基于 DeepSeek-R1-Distill-Quen-14B 构建
    • 这两个模型的 Response 长度均为 32k
    • 由于其高昂的计算成本,论文仅在 LiveCodeBench 上对它们进行评估,作为代表性基准
The Effect of RLVR
  • 由于通过猜测几乎不可能通过所有单元测试,因此 pass@(k) 可以可靠地衡量模型的推理边界
  • 如图 3、图 12 和图 4(左)所示,RLVR 在三个代码生成基准上的影响趋势与在数学基准上观察到的趋势高度一致

RLVR for Visual Reasoning

Models and Benchmarks
  • 在视觉推理任务中,模型必须共同解释视觉和文本输入以解决复杂的推理问题
  • 自 LLM 推理兴起以来,这已在多模态社区中获得极大关注 (2025a; 2025; 2025)
  • 在我们的实验中,我们选择视觉情境下的数学问题作为代表性任务
  • 我们使用 EasyR1 框架 (2025) 在 Geometry3K (2021) 上训练 Quen2.5-VL-7B (2025),并在经过筛选的 MathVista-TestMini (2024) 和 MathVision-TestMini (2024) 上评估其视觉推理能力,其中移除了多项选择题
The Effect of RLVR
  • 如图 4(右)所示,RLVR 对视觉推理的影响与在数学和代码基准上观察到的结果高度一致
  • 这表明,即使在多模态任务中,原始模型对可解问题也具有更广泛的覆盖范围
Validity of Chain-of-Thought
  • Similarly,作者手动检查了最具挑战性的问题子集,即平均准确率低于 5% 的问题
    • 作者发现,对于原始模型和 RL 模型,8 个问题中有 7 个问题至少包含一条正确的思维链
  • 这些结果支持了思维链的有效性

Deep Analysis

  • 本节对当前 RLVR 训练的效果进行了更深入的分析
  • 另外,论文也强调了蒸馏技术与 RLVR 的显著不同特征
  • In Addition,论文设计了对照实验来考察不同 RL 算法和设计选择的影响

Reasoning Paths Already Present in Base Models

Accuracy Distribution Analysis
  • 第 3 节的实验揭示了一个令人惊讶的趋势: Base Model 比 RLVR 训练后的模型覆盖了更广范围的可解问题
  • 为了更好地理解这一点,论文分析了 RLVR 训练前后准确率分布的变化
    • 如图 5 所示,RLVR 增加了接近 1.0 的高准确率频次,并减少了低准确率(例如 0.1, 0.2)的频次
    • However,与这一趋势偏离的是在准确率为 0 处的频次增加(这表明 RLVR 导致了更多不可解的问题)
    • 这也解释了 RLVR 在平均分数上的提升,这种提升并非源于解决新问题,而是源于在 Base Model 已经可解的问题上提高了采样效率
  • 更多准确率直方图参见图14
Solvable-Problem Coverage Analysis
  • 为了进一步研究,论文在 AIME24 和 MATH500 上比较了 Base Model 及其对应的 RL 训练版本的可解问题集合
  • 论文发现,存在许多 Base Model 能解决而 RLVR 模型失败的情况,而 RLVR 成功但 Base Model 失败的案例极少,如表 2 所示
  • 详细情况见第 C.7 节
    • 如表 5 所示,RL 训练模型解决的可解问题集合几乎是 Base Model 可解问题集合的一个子集
    • 如表 6 所示, Coding 任务中也观察到了类似的趋势
  • 这引发了一个自然的问题:RL 训练模型生成的所有推理路径是否已经存在于其 Base Model 的输出分布中?
Perplexity Analysis
  • 上文中我们提出了 RL 训练模型生成的所有推理路径是否已经存在于其 Base Model 的输出分布中? 这个问题
  • 为了回答这个问题,论文使用了 困惑度 (perplexity, PPL) 这一指标
    • 给定一个模型 \(m\)、一个问题 \(x\) 和一个 Response \(\mathbf{Y}=(y_{1},\ldots,y_{T})\)(可以由同一模型、另一模型或人类生成),PPL 定义为序列的负对数似然平均的指数形式:
      $$
      \texttt{PPL}_{m}(\mathbf{Y}|x)=\exp\left(-\frac{1}{T}\sum_{t=1}^{T}\log P(y_{t}|x,y_{1},\ldots,y_{t-1})\right),
      $$
    • 它反映了模型在给定 Prompt \(x\) 的条件下预测给定 Response \(\mathbf{Y}\) 的能力
    • 更低的困惑度表明模型生成此 Response 的可能性更高
  • 论文从 AIME24 中随机抽取两个问题,并分别使用 Qwen2.5-7B-Base 和 SimpleRL-Qwen2.5-7B-Base 为每个问题生成 16 个 Response ,分别记为 \(\mathbf{Y}_{\text{Base} }\) 和 \(\mathbf{Y}_{\text{RL} }\)
  • 论文还让 OpenAI-o1 (2024) 生成了 8 个 Response ,记为 \(\mathbf{Y}_{\text{GT} }\)
  • 如图 6 所示,\(\textrm{PPL}_{\text{Base} }(\mathbf{Y}_{\text{RL} }|x)\) 的分布与 \(\textrm{PPL}_{\text{Base} }(\mathbf{Y}_{\text{Base} }|x)\) 分布的下部紧密匹配,对应于 Base Model 倾向于生成的 Response
  • 这表明 RL 训练模型的 Response 极有可能被 Base Model 生成。在第 C.4 节中,论文展示了 \(\textrm{PPL}_{\text{Base} }(\mathbf{Y}_{\text{RL} }|x)\) 随着 RL 训练的进行逐渐降低,表明 RLVR 主要是在 Base Model 先验内部锐化了分布,而不是扩展超出其范围
Summary
  • 结合上述分析,论文得出三个关键观察
    • First,RLVR 模型解决的问题 Base Model 也能解决;观察到的平均分数提升源于在这些已经可解的问题上进行更有效的采样,而不是学会了解决新问题
    • Second,在 RLVR 训练后,模型通常表现出比其 Base Model 更窄的推理覆盖率
    • Third,RLVR 模型利用的所有推理路径已经存在于 Base Model 的采样分布中
  • 这些发现表明 RLVR 并未引入根本性的新推理能力,训练模型的推理能力仍然受限于其 Base Model

Distillation Expands the Reasoning Boundary

  • 除了直接 RL 训练之外,提升小型 Base Model 推理能力的另一个有效方法是从强大的推理模型进行蒸馏 (2025)
    • 蒸馏过程类似于训练后阶段的 Instruction-Following Fine-tuning
    • 蒸馏使用的训练数据不是使用简短的 Instruction-Response 对,而是由教师模型生成的长链式推理轨迹组成
  • 鉴于当前 RLVR 在扩展推理能力方面的局限性,很自然地要问蒸馏是否表现出类似的行为
    • 一个代表性模型是 DeepSeek-R1-Distill-Qwen-7B,它是在 Qwen2.5-Math-7B 上,使用 DeepSeek-R1 蒸馏的
  • 论文将其与 Base Model Qwen2.5-Math-7B 及其 RL 训练对应物 Qwen2.5-Math-7B-Oat-Zero 进行比较,并加入 Qwen2.5-Math-7B-Instruct 作为额外基线
  • 如图7所示,蒸馏模型的 pass@\(k\) 曲线始终显著高于 Base Model
  • 这表明,与本质上受 Base Model 推理能力限制的 RL 不同,蒸馏引入了从更强的教师模型学习到的新推理模式
    • As a result,蒸馏模型能够超越 Base Model 的推理边界

Effects of Different RL Algorithms

  • As discussed previously,RL 的主要效果是提高采样效率,而不是扩展模型的推理能力
  • 为了量化这一点,论文提出了采样效率差距 (Sampling Efficiency Gap) (\(\Delta_{\text{SE} }\))
    • 定义为 RL 训练模型的 pass@1 与 Base Model 的 pass@\(k\) 之间的差值(在论文的评估中使用 \(k=256\))
    • \(\Delta_{\text{SE} }\) 越低越好
  • 在这里,论文进行了干净的实验来研究不同 RL 算法在提高采样效率方面的效果
Experiment Setup
  • 为了公平比较,论文使用 VeRL 框架 (2024) 重新实现了流行的 RL 算法,包括 PPO (2017)、GRPO (2024)、Reinforce++ (2025)、RLOO (2024)、ReMax (2024) 和 DAPO (2025)
  • 遵循 DAPO (2025) 和 Oat-Zero (2025) 的做法,论文移除了 KL 项以避免限制模型学习
  • 在训练期间,论文使用 AdamW 优化器 (2017),恒定学习率为 \(10^{-6}\)
  • 对于 rollout,论文使用 Prompt Batch Size 为 256,每个 Prompt 生成 8 个 Response
  • 最大 rollout 长度设置为 8,192 个 Token ,采样温度设置为 1.0
  • 论文使用的 PPO Mini-Batch Size 为 256
  • 为了评估 RLVR 下的领域内和领域外泛化能力,论文将 Omni-MATH 的一个子集 Omni-MATH-Rule(包含可验证问题)分成训练集(2,000 个样本)和领域内测试集(821 个样本),并使用 MATH500 作为领域外基准
Results
  • 如图 8(顶部)所示,尽管不同的 RL 算法在 pass@1 和 pass@256 上表现出微小的差异,但这些差异并非根本性的
  • 不同的 RL 算法产生略微不同的 \(\Delta_{\text{SE} }\) 值(例如,在领域内测试集上,从 GRPO 的 43.9 到 RLOO 最佳值 42.6 之间)
  • Furthermore,论文观察到 \(\Delta_{\text{SE} }\) 在不同算法中始终保持在 40 分以上,突出现有 RL 方法距离实现最优采样效率仍然很远
  • 这表明可能需要新的 RL 算法或全新的范式来接近上界
  • 更多观察结果见第 C.5 节

Effects of RL Training

Asymptotic Effects
  • 基于第 4.3 节的设置,论文研究了训练步数对模型渐近性能的影响
  • 如图 1(右)所示,随着 RL 训练的进行,训练集上的 pass@1 从 26.1 持续提升到 42.5
  • However,随着 RLVR 训练的进行,pass@256 逐渐下降,表明推理边界在缩小
每次 Prompt 的 Rollout 数量 \(n\) 的影响 (Effect of Number of Rollouts \(n\))
  • 训练超参数 \(n\)(每个 Prompt 的 Response 数量)可以通过在训练期间实现更广泛的探索来影响 pass@\(k\)
    • 论文将 \(n\) 从 8 增加到 32
    • 如图 16 所示,pass@\(k\) 比 \(n=8\) 时略有改善,但 RL 训练模型最终仍然被 Base Model 超越
      • 注:在 Math500 上,n=32 的始终不如 n=8 的;但实际上 n=32 实际上只训练了 220 steps(并没有跟 n=8 的对齐 steps)
      • KL 散度的训练 Rollout Number 配置是 8
  • 论文将扩大 RLVR 训练是否最终能超越 Base Model 的问题留给未来研究
Effect of KL Loss
  • 为了控制模型偏差,一些先前的工作添加了 KL 惩罚项
  • 论文通过应用系数为 0.001 的 KL 项来进行消融实验
  • 如图 16 所示,带有 KL 正则化的模型在不使用 KL 的 GRPO 基础上实现了相似的 pass@1,但 pass@128 低得多

Effects of Entropy

  • 随着 RL 训练的进行,模型的输出熵通常会降低 (2025),这可能由于输出多样性减少而导致推理边界缩小
  • 为了研究这个因素,论文提高了 RLVR 训练模型的生成温度,以匹配 Base Model 在 \(T=0.6\) 时的输出熵
  • 如图 18 所示,尽管 RLVR 模型在更高温度下相比其自身在 \(T=0.6\) 时的表现,pass@\(k\) 略有改善,但在整个 pass@\(k\) 范围内仍然表现不如 Base Model
  • 这表明,虽然熵的降低导致了推理边界的缩小,但这并不是唯一的原因

Effects of Model Size Scaling

  • Scaling 在当代 LLM 的能力中扮演着核心角色
    • 随着模型规模的增加,(论文)所得出的结论是否继续成立仍然是一个重要问题
  • 对于许多大型模型,分离(isolating) RLVR 的影响是不可行的(即难以拿到 RLVR 过程前后的模型)
    • For Example
      • 对于 GPT-o1,其 Base Model 并非公开可访问
      • Qwen3-235B (2025) 通过多个阶段进行训练,包括 RLVR 和长上下文 CoT 监督微调,这使得无法单独分离 RLVR 的影响
      • 对于 Deepseek-R1-Zero,由于没有公开托管的 API,论文被迫自行托管模型,但在最大序列长度为 32k 的情况下,吞吐量被限制在每秒约 50 个 Token ,使得 pass@\(k\) 评估目前不可行
    • 作为一个更可行的替代方案,论文选择了 Magistral-Medium-2506 API 进行初步实验
      • 该模型使用纯 RL 训练,以 Mistral-Medium-3-2505 作为 starting model(起始模型,2025)
        • 尽管模型规模未公开,但 Magistral-Medium 的性能与 Deepseek-R1 相当,在推理能力方面定位接近前沿
  • 论文按照原论文的做法,使用最大 40k 的上下文长度查询模型
    • 论文再次观察到,RLVR 在低 \(k\) 值时提供了显著的增益,但在更高的 \(k\) 值下改善很小或没有改善
    • Specifically,在 \(k=1\) 时,与他的 Base Version 相比,RLVR 增强的模型在 AIME24 上多解决了大约 7 个问题,在 AIME25 上多解决了大约 8 个问题
    • However,随着 \(k\) 的增加,性能差距稳步缩小
  • 这些观察结果表明,即使对于当前高度强大、接近前沿的推理模型,论文的结论仍然成立
  • 随着更多计算(例如预训练规模预算)投入到 RL 训练中,这一趋势是否会持续下去,仍然是 LLM 推理未来的一个关键问题

Discussion

  • 在第 3 节和第 4 节中,论文确定了 RLVR 在提升 LLM 推理能力方面的关键局限性
  • 在本节中,论文探讨可能解释为什么 RLVR 仍然受限于 Base Model 推理能力的潜在因素

Discussion 1: 传统 RL 与 LLM 的 RLVR 之间的关键区别在于巨大的动作空间和预训练先验

  • Key Differences Between Traditional RL and RLVR for LLMs are Vast Action Space and Pretrained Priors
  • 传统 RL,如 AlphaGo Zero 和 DQN 系列 (2017, 2015, 2023),可以在围棋和 Atari 游戏等环境中没有显式上界(without an explicit upper bound)地持续改进策略性能
  • 传统 RL 与 LLM 的 RLVR 之间存在两个关键区别
    • First,语言模型中的动作空间比围棋或 Atari 游戏的动作空间指数级更大 (2023)
      • RL 算法最初并非设计用于处理如此巨大的动作空间,如果从零开始训练,几乎不可能有效探索奖励信号
    • Therefore, The Second Distinction is LLM 的 RLVR 从一个具有有用先验的预训练 Base Model 开始,而 Atari 和 GO 游戏中的传统 RL 通常是从零开始
    • 这种预训练先验指导 LLM 生成合理的 Response ,使得探索过程显著更容易,并且策略可以获得正向奖励反馈

Discussion 2: 在这个巨大动作空间中,先验是一把双刃剑

  • Priors as a Double-Edged Sword in This Vast Action Space
  • 由于 Response 的采样受到预训练先验的引导,策略可能难以探索超出先验已经提供内容的新推理模式
  • Specifically,在如此复杂且高度组合的空间中,通过朴素的 Token-level 采样探索(naive token-level sampling exploration)生成的大多数 Response 都受到 Base Model 先验的限制
    • 任何偏离先验的样本都极有可能产生无效或无意义的输出,从而导致负的结果奖励 (Negative outcome reward)
  • 如第 2.1 节所讨论的,策略梯度算法旨在最大化在先验内获得正奖励的 Response 的对数似然,同时最小化在先验外获得负奖励的 Response 的似然
    • As a result,训练后的策略倾向于产生已经存在于先验中的 Response ,将其推理能力限制在 Base Model 的边界内
  • 从这个角度看,从蒸馏模型开始训练 RL 模型可能暂时提供一个有益的解决方案,因为蒸馏有助于注入更好的先验
    • 理解:但蒸馏也会大幅度改变模型之前的分布,从而导致模型在其他方面的能力受到影响

Possible Future Work

  • 如上所述,巨大动作空间中的低效探索机制以及对二元结果奖励的依赖,可能是当前 RLVR 设置中所观察到局限性的根本原因
  • 为了从根本上应对这些挑战,以下几个方向可能值得探索:
    • 在高级抽象中进行高效探索策略 (Efficient exploration strategies in high-level abstraction)
      • 高级别的探索机制,例如在程序级抽象空间中进行自我演化的 AlphaEvolve (2025),可能对于驾驭巨大的动作空间至关重要
      • 此类策略可以促进发现先验外的推理模式和以前未见的知识结构
    • 通过课程学习扩展数据规模 (Data scale via curriculum)
      • 课程学习可以从训练较简单的子问题开始,使模型提高采样效率并获得必要的元技能
      • 通过在处理更难问题之前提高简单任务的成功率,这种课程可以分层减少探索空间,并在具有挑战性的父任务上使性能从接近零提升到非零,从而使 RLVR 能够获得有意义的奖励 (2025, 2025)
      • 尽管当前 RLVR 训练数据中偶尔会出现这种层次关系的痕迹,并且最近的工作中已经观察到了它们的效果 (2025),但要实现其全部潜力,将需要一个更加审慎、大规模的数据-RL 迭代流程,确保对元技能以及简单与困难问题之间适当关系的充分覆盖
    • 过程奖励和细粒度信用分配 (Process reward and fine-grained credit assignment)
      • 与纯粹的二元结果奖励相比,结合中间信号来指导推理轨迹可能会显著提高探索效率,并将探索引导向更有希望的解决方案路径
    • Agentic RL (理解:即基于经验探索的 RL)
      • 当前的 RLVR 推理仅限于单轮 Response ,而基于反馈的迭代细化对于 IMO 级别的推理至关重要 (2025)
      • 当前的 RLVR 推理也缺乏通过使用搜索工具或进行实验来主动收集新信息的能力
      • 一个多轮智能体 RL 范式,具有与环境反馈的更丰富交互,可以让模型生成新颖的经验并从中学习
      • 这个新兴的智能体框架被描述为“经验时代(era of experience)”的开端 (2025) Silver, D. and Sutton, R. S. Welcome to the era of experience. Google AI, 2025

Related Work

  • 论文在此总结了关于 RLVR 分析的关键相关工作,并在附录 B 中提供了更全面的讨论
  • 尽管最近的 RLVR 方法取得了令人印象深刻的经验结果 (2025, 2024),但其对推理的根本影响仍未得到充分探索
    • 一些研究 (2025, 2025, 2025) 表明,RLVR 模型中的反思行为源于 Base Model ,而不是通过 RL 学到的
    • Dang 等人 (2025) 观察到 RLVR 训练后 pass@\(k\) 性能下降,但他们的分析范围有限
      • More Importantly,他们没有探索 Base Model 与 RL 模型之间的关系
    • Deepseek-Math (2024) 也观察到了类似的趋势,但其研究仅限于单个指令微调模型和两个数学基准
  • In Contrast,论文的工作系统地调查了(systematically investigates)广泛的模型、任务和 RL 算法,以准确评估当前 RLVR 方法和模型的效果
  • 论文进一步提供了深入的分析,包括准确率分布、推理覆盖率、困惑度趋势以及与蒸馏模型的比较,提供了对 RLVR 能力和局限性的全面理解

附录 A:Implementation Details

A.1 RLVR Algorithms

  • 为了减少内存和计算开销,人们提出了几种无需 Critic 的变体
    • GRPO (2024) 通过同一问题的一组 Response 内的归一化奖励来估计优势值:
      $$ A_i = \frac{r_i - \text{mean}(\mathbf{r})}{\text{std}(\mathbf{r})}$$
      • 其中 \(\mathbf{r} = \{r_1, \ldots, r_G\}\) 表示一组 \(G\) 个采样 Response 的奖励集合
    • RLOO (2024) 则在每个批次 \(\mathcal{B}\) 内采用留一法(leave-one-out)基线
      • 其优势值定义为
        $$ A_i = r_i - \frac{1}{|\mathcal{B}|-1} \sum_{j \neq i} r_j$$

A.2 Low-Variance pass@k Estimation

  • 直接使用每个问题仅 \(k\) 个采样输出来计算 pass@\(k\) 可能会导致高方差
  • 为了缓解这个问题,论文遵循 Chen 等人 (2021) 提出的无偏估计方法
  • Specifically,对于评估数据集 \(\mathcal{D}\) 中的每个问题 \(x_i\),论文生成 \(n\) 个样本 (\(n \geq k\)),并将正确样本的数量记为 \(c_i\)
  • 数据集中 pass@\(k\) 的无偏估计量由下式给出:
    $$
    \text{pass@}k := \mathbb{E}_{x_i \sim \mathcal{D} } \left[1 - \frac{\binom{n-c_i}{k} }{\binom{n}{k} } \right]
    $$
    • 通过这个公式,我们可以轻松地以低方差估计所有 \(k \leq n\) 的 pass@\(k\) 值
  • 在论文的实验中,将 \(n\) 设置为 pass@\(k\) 曲线中最大的(即最右边的) \(k\) 值,通常是 128、256 或 1024
    • 例如,在图2中
      • 论文对 MATH500、Minerva 和 GSM8K 使用 \(n=128\)
      • 对 AMC23 和 AIME24 使用 \(n=1024\)
      • 对于 Olympiad 基准测试,由于 Base Model 能力相对较低
        • 论文为 Qwen 模型设置 \(n=128\)
        • 为 LLaMA-3.1-8B 设置 \(n=1024\)
    • 问题:这里其实说明在评估最大的 \(k\) 时, \(k\) 和 \(n\) 是相同的,此时方差应该不小

附录 B:More Related Works

Reinforcement Learning for LLM Reasoning

  • 自从 LLM 出现以来,Post-Training 阶段已被证明对于增强问题解决和推理能力至关重要 (2022)
  • Post-Training 阶段通常分为三个主要类别:
    • 使用人工整理或蒸馏数据进行监督微调 (2023),supervised fine-tuning using human-curated or distilled data
    • 自我改进迭代 (2022; 2023),self-improvement iteration
    • RL (2022)
  • Previously,人们使用奖励模型或 Response 对之间的偏好进行奖励建模 (2022; 2023)
  • Recently,RLVR 作为一种提高 LLM 在数学和编程等领域推理能力的方法,获得了显著的关注 (2024; 2024)
    • 一个鼓舞人心的里程碑工作是 OpenAI 的 o1 模型 (2024)
      • 这是首批大规模应用 RL 进行推理的模型之一,在发布时达到了当时的先进水平(achieving state-of-the-art results)
  • Following this,Deepseek-R1 (2025) 成为首个性能匹配或超越 o1 的开放权重模型
    • R1 引入的一个重要创新是 “Zero” 设置,即直接对 Base LLM 应用 RL ,绕过任何中间的监督调优
    • 这种方法启发了一波旨在复制或扩展 R1 方法并改进 RL 算法的开源努力 (2025; 2025a; 2025; 2025; 2025a; 2025)
  • 与此同时(In Parallel), RL 在多模态领域也获得了关注,推动了多模态推理(multimodal reasoning)的进步 (2025a; 2025; 2025)

Analysis of RLVR

  • 尽管在 RLVR 领域有许多优秀的开源工作和算法设计,但关于 RLVR 对 LLM 推理能力的根本影响及其从 Base Model 开始的局限性,仍然缺乏深入的理解
    • 几项研究 (2025a; 2025b; 2025) 强调,在 R1 类模型中观察到的反思行为实际上源于 Base Model ,而不是由 RLVR 训练引入的
    • Dang等人 (2025) 观察到了与论文的发现类似的现象:Pass@k 性能在 RL 后迅速恶化且无法恢复,但这仅限于一个有限的实验设置(在 GSM8K 上使用 Qwen-2.5-0.5B 模型)
    • More Importantly,他们没有探究 Base Model 与 RL 模型之间的关系
  • In Contrast,论文的论文通过系统和严谨的实验表明,不仅是反思行为,所有推理路径都早已嵌入在 Base Model 中
    • 论文进一步证明,RLVR 并未引出超越 Base Model 的新推理能力

附录 C:Detailed Experimental Results

C.1 More Results on Mathematics and Coding

  • 图 11:在AIME24上评估 Oat-Zero-7B 和 DAPO-32B,并与各自的 Base Model 进行比较
  • 图10:SimpleRLZoo 在 GSM8K 和 AMC23 上的更多结果

C.2 Validity of Chain-of-Thought on AIME24

  • 论文手动检查了最具挑战性的 AIME24 基准测试中的思维链
  • To Begin,论文引入一种过滤机制,旨在消除容易猜测的问题
    • Specifically,论文 Prompt Qwen2.5-7B-Base 模型直接回答问题,不使用思维链推理,并多次采样答案
    • 如果一个问题能够以低但非零的概率(例如,< 5%)被正确回答,论文将其视为可猜测并移除
    • 那些能以高概率直接正确回答的问题则保留,因为它们很可能更容易,并且可以通过有效的思维链解决
  • Base Model 和 RL 模型在这个经过过滤的 AIME24 数据集上的 pass@\(k\) 曲线在图 13 中,显示出与之前结果相似的趋势
  • 尽管这种过滤方法是启发式的,但它被证明是有效的
  • 将其应用于 AIME24(共 30 个问题)后,得到一个包含 18 个问题的子集
  • 然后论文 Prompt 模型使用思维链推理来回答这些过滤后的问题
  • 接着,论文手动检查了所有导致难题(平均正确率低于5%)得出正确答案的思维链
    • Base Model 回答了 7 个此类问题,其中 5/6 的问题包含至少一个正确的思维链(排除一个因跳过推理步骤而正确性模糊的情况)
    • Similarity,经过 RL 训练的模型回答了 6 个问题,其中 4 个包含至少一个正确的思维链
  • 这些结果表明,即使对于AIME24中最具挑战性的难题, Base Model 也能采样出有效的推理路径来解决问题

C.3 Accuracy Distribution Visualization

  • 图14:在使用 SimpleRLZoo 模型进行 RLVR 训练前后的准确率直方图

C.4 Perplexity Analysis

  • 为了分析困惑度在 RLVR 训练过程中如何演变,论文在第 4.3 节提到的 RL 训练过程中评估了三个 RLVR 检查点:早期、中期和最终(early, middle, and final)
  • 对于每个检查点,论文针对每个问题采样 32 个 Response ,计算 32 个困惑度值的中位数,并在表格中报告前 10 个问题的平均值
  • 正如预期的那样,论文观察到:
    • 随着 RL 训练的进行,\(\text{PPL}_{\text{Base} }(\boldsymbol{\mathbf{Y} }_{\text{RL} }|x)\) 逐渐降低
    • 这表明 RLVR 主要是锐化了 Base Model 先验分布内的分布,而不是扩展到其之外
  • 图15:RL训练期间的困惑度演变

C.5 Different RLVR Algorithms

  • 论文在图 8 中报告了关于不同 RLVR 算法的几个额外观察结果
  • First,DAPO 在所有三个数据集上都取得了略高的 pass@1 分数;
    • However,其动态采样策略在训练期间每批次所需的样本量比其他算法多大约 \(3 \sim 6\) 倍
    • Moreover,其在 \(k=256\) 时的性能显著下降
  • Second,RLOO 和 Reinforce++ 在整个 \(k\) 范围(从1到256)内表现一致良好,同时保持了高效的训练成本,在效果和效率之间取得了良好的平衡
  • Third,ReMax 在 pass@1 和 pass@256 上都表现出较低的性能
    • 论文推测(hypothesize)这是由于它使用了贪婪 Response 的奖励作为优势基线,而在 RLVR 设置中奖励是二元的(0 或 1)且高度可变
  • 这很可能导致训练期间梯度更新不稳定
  • 表 4:图 1(右)中不同 RL 训练步骤在 pass@1 和 pass@256 的详细数值

C.6 Effects of KL and Rollout Number

  • 图 16:关于 KL 损失和 Rollout Number \(n\) 的消融研究
    • 对于将 \(n\) 从8增加到32的情况,论文保持 Prompt 批次大小不变,这导致了每个训练步骤的计算量增加
    • 由于资源限制,论文在此设置下仅训练了220步,导致 pass@1 较低,因为模型尚未收敛
    • 尽管如此,\(n=32\) 的模型实现了更高的 pass@128,突显了较大的 Rollout Number 在提高较大 \(k\) 值时的 pass@\(k\) 性能方面的积极影响
    • 注:KL 散度的训练 Rollout Number 配置是 8
  • 表 5:AIME24 中可解决问题(从0开始)的索引
    • 可以观察到近似的子集关系:RL模型解决的大多数问题也都能被 Base Model 解决
  • 表 6:LiveCodeBench(范围从400到450,从0开始)中可解决问题的索引

C.7 Solvable Problem Coverage Analysis

  • 表2 统计了问题按四类情形划分的占比:
    • (1)两个模型均至少成功求解一次该问题
    • (2)仅基准模型成功求解
    • (3)仅RLVR模型成功求解
    • (4)在 \(k\) 次采样中,两个模型均未成功求解该问题
  • 结果表明,存在大量“基准模型可求解、但 RLVR 模型求解失败”的情形(情形 2),而 “RLVR 模型可求解、但基准模型求解失败” 的情形(情形 3)则极为罕见
  • 即便在情形 (3) 的少数案例中(例如在 MATH500 数据集里占比 1%,约对应 5 个问题),当采样次数提升至 1024 次时,基准模型也能完成所有这类问题的求解
  • 上述结果印证了我们的结论:RLVR模型很少能求解基准模型无法解决的问题,且通常会导致任务覆盖范围下降

C.8 Temperature and Entropy Analysis

  • 图17:论文发现当温度超过 1.0 时, Base Model 的性能会下降,因为它倾向于生成更随机、更不连贯的 Token
    • In Contrast,RL 模型的性能在不同温度设置下保持相对稳定
    • Therefore,论文在主要实验中使用 \(T=0.6\),因为它允许两个模型都展示其最佳的推理性能
  • 图18:输出熵匹配的 Base Model 与 RLVR 模型比较
    • 论文使用温度 \(T=0.6\) 评估 Base Model (Qwen2.5-7B) 在每个数据集上的表现,并在每个图的标题中报告其输出熵 \(E_{\text{base} }\)
    • 为了进行公平比较,论文增加 RLVR 模型 (SimpleRLZoo) 的温度,直到其输出熵近似匹配 \(E_{\text{base} }\)
    • For Example,在 AMC23 上,论文设置 \(T=0.9\) 以实现 \(E_{\text{RL} }=0.47\)
    • 论文还将 RLVR 在 \(T=0.6\) 时的结果作为额外基线,其熵更低(e.g., 在 AMC23 上为 0.22,在 MATH500 上为 0.33)

C.9 Training Dynamics

  • 图19:训练过程中的训练奖励、 Response 长度和生成熵曲线,对应于第 4 节的实验

附录 C.10 CoT Case Analysis

  • 图 20:Owen2.5-Base-7B 正确 Response - 案例 1
  • 图 21:Owen2.5-Base-7B 正确 Response - 案例 2

附录 D:Prompt Templates

  • 论文提供了实验中用于训练和评估的 Prompt 模板
  • 用于 SimpleRL 训练和评估的 Prompt 如图 22 所示
  • 用于 Oat-Zero 的 Prompt 如图 23 所示
  • 对于 Code-R1 训练,采用图 24 中的 Prompt
  • 对于 Code-R1 评估,论文遵循原始代码库,并采用基准测试的默认模板(核心:LiveCodeBench 需要添加 Prompt “```python” 作为结尾),包括 LiveCodeBench Prompt (图25)、HumanEval+ 和 MBPP+ Prompt (图26)
  • 用于 EasyR1 训练和评估的 Prompt 如图 27 所示
  • 对于使用 VeRL 训练的 RL 模型,如第 4.3 节和第 4.4 节所讨论的,训练和评估 Prompt 如图 28 所示
  • 对于在 AIME24/25 上评估 Mistral 和 Magistral 模型, Prompt 如图 29 所示
    • 为确保公平比较, Base Model 在评估时使用与其对应的 RL 训练模型相同的 Prompt

附录 E:Broader Impacts

  • 论文的方法的潜在负面社会影响与通常与通用 LLM 推理技术相关的那些影响一致
  • 论文强调在 LLM 系统中遵守公平和安全部署原则的重要性

NLP——技术报告解读-DeepSeek-V3.2

注:本文包含 AI 辅助创作

  • 参考链接:
    • 原始论文(已过期):DeepSeek-V3.2: Pushing the Frontier of Open Large Language Models, DeepSeek, 20251202
    • 原始论文(arXiv):DeepSeek-V3.2: Pushing the Frontier of Open Large Language Models, DeepSeek, 20251202
    • 参考博客:DeepSeek-V3.2 技术报告深度解析:架构演进、RL 扩展与 Agent 合成数据
    • 对 Unbiased KL Estimate 的理解:DeepSeek-V3.2中无偏 KL估计(Unbiased KL Estimate)的一些想法 - Keith Jiang的文章 - 知乎

Paper Summary

  • DeepSeek-V3.2:在高效计算与卓越推理和智能体性能之间取得平衡的模型
  • DeepSeek-V3.2 关键技术:
    • (1) DeepSeek 稀疏注意力 (DeepSeek Sparse Attention, DSA): 论文引入了 DSA,这是一种高效的注意力机制,能在保持长上下文场景下模型性能的同时,显著降低计算复杂度
    • (2) 可扩展的强化学习框架 (Scalable Reinforcement Learning Framework): 通过实施一个鲁棒的强化学习协议并扩展后训练计算量,DeepSeek-V3.2 的性能与 GPT-5 相当
      • DeepSeek-V3.2-Speciale(DeepSeek-V3.2 的高计算量变体) 超越了 GPT-5,并且其推理能力与 Gemini-3.0-Pro 持平,在 2025 年国际数学奥林匹克 (International Mathematical Olympiad, IMO) 和国际信息学奥林匹克 (International Olympiad in Informatics, IOI) 中均取得了金牌表现
    • (3) 大规模智能体任务合成流程 (Large-Scale Agentic Task Synthesis Pipeline): 为了将推理能力整合到工具使用场景中,论文开发了一种新颖的合成流程,系统地大规模生成训练数据。这种方法促进了可扩展的智能体后训练,在复杂、交互式环境中显著提升了模型的泛化能力和遵循指令的鲁棒性
  • 图 1:DeepSeek-V3.2 及其同类模型的基准测试
    • 对于 HMMT 2025,论文报告的是二月份的比赛结果,与基线一致
    • 对于 HLE,论文报告的是纯文本子集

Introduction and Discussion

  • 推理模型的发布标志着 LLM 演进中的一个关键转折点,在可验证领域的整体性能的显著飞跃
  • 自这一里程碑以来,LLM 的能力迅速发展;但在过去几个月中出现了明显的分化
    • 虽然开源社区持续取得进展,但闭源专有模型 (Anthropic; DeepMind; OpenAI, 2025) 的性能提升轨迹以明显更快的速度在加速
    • 闭源和开源模型之间的性能差距不仅没有缩小,反而似乎在扩大,专有系统在复杂任务中表现出日益卓越的能力
  • 作者分析确定了限制开源模型在复杂任务中能力的三个关键不足
    • 在架构上,主要依赖普通注意力 (vanilla attention) (2017) 机制严重限制了长序列的效率
      • 这种低效性对可扩展部署和有效后训练都构成了重大障碍
    • 在资源分配方面,开源模型在后训练阶段的计算投入不足,限制了其在困难任务上的表现
    • 在 AI 智能体 (AI agents) 的背景下,与专有模型相比,开源模型在泛化能力和指令遵循能力方面表现出明显的滞后 (EvalSys, 2025; 2025; 2025),这阻碍了其在实际部署中的有效性
  • 为了解决这些关键限制,论文做了如下改进:
    • 第一:引入 DSA,一种旨在显著降低计算复杂度的高效注意力机制
      • 该架构有效解决了效率瓶颈,即使在长上下文场景下也能保持模型性能
    • 第二:开发了一种稳定且可扩展的 RL 协议,允许在后训练阶段进行显著的计算扩展
      • 该框架分配的后训练计算预算超过了预训练成本的 \(10%\),从而解锁了高级能力
    • 第三,提出了一种新颖的流程,以促进工具使用场景中可泛化的推理
      • 首先,实施一个冷启动 (cold-start) 阶段,利用 DeepSeek-V3 (DeepSeek-AI, 2024) 的方法论将推理和工具使用统一在单个轨迹内
      • 随后,论文推进到大规模智能体任务合成,生成了超过 1,800 个不同的环境和 85,000 个复杂的 Prompt
      • 这种广泛的合成数据驱动了 RL 过程,显著增强了模型在智能体上下文中的泛化能力和指令遵循能力
  • 小结:
    • DeepSeek-V3.2 在多个推理基准测试中与 Kimi-k2-thinking 和 GPT-5 取得了相近的性能
    • DeepSeek-V3.2 显著提升了开源模型的智能体能力,在之前工作(EvalSys,2025; 2025; 2025)引入的长尾智能体任务上表现出卓越的熟练度
    • DeepSeek-V3.2 成为智能体场景中一个极具成本效益的替代方案,在显著降低成本的同时,大大缩小了开源模型与前沿专有模型之间的性能差距
    • 特别地:为了推动开源模型在推理领域的前沿,论文放宽了长度约束以开发 DeepSeek-V3.2-Speciale
      • DeepSeek-V3.2-Speciale 达到了与领先闭源系统 Gemini-3.0-Pro (DeepMind) 相当的性能
      • 在 IOI 2025、ICPC World Final 2025、IMO 2025 和 CMO 2025 中均表现出金牌水平的性能
    • 注:论文评估了 CMO 2025 的英文版。IMO 2025 和 CMO 2025 的问题以及推理代码可在 github.com/deepseek-ai/DeepSeek-Math-V2 找到

DeepSeek-V3.2 Architecture

DeepSeek Sparse Attention

  • DeepSeek-V3.2 的架构与 DeepSeek-V3.2-Exp 完全相同
  • 与 DeepSeek-V3.1 的最后一个版本 DeepSeek-V3.1-Terminus 相比,DeepSeek-V3.2 唯一的架构修改是通过持续训练(Continuous Training)引入了 DeepSeek 稀疏注意力 (DeepSeek Sparse Attention, DSA)
  • DSA 原型 (Prototype of DSA)
    • DSA 的原型主要由两个部分组成:一个 Lightning Indexer 和一个细粒度 Token 选择机制 (fine-grained token selection mechanism)
  • Lightning Indexer
    • 计算查询 Token \(\mathbf{h}_{t}\in\mathbb{R}^{d}\) 与前一个 Token \(\mathbf{h}_{s}\in\mathbb{R}^{d}\) 之间的索引分数 \(I_{t,s}\),确定哪些 Token 将被查询 Token 选择:
      $$I_{t,s}=\sum_{j=1}^{H^{l} }w_{t,j}^{I}\cdot\text{ReLU}\left(\mathbf{q}_{t,j}^{I} \cdot\mathbf{k}_{s}^{I}\right), \tag{1}$$
      • \(H^{l}\) 表示 Indexer 头 (indexer heads) 的数量;
      • \(\mathbf{q}_{t,j}^{I}\in\mathbb{R}^{d^{l} }\) 和 \(w_{t,j}^{I}\in\mathbb{R}\) 来源于查询 Token \(\mathbf{h}_{t}\);
      • \(\mathbf{k}_{s}^{I}\in\mathbb{R}^{d^{l} }\) 来源于前一个 Token \(\mathbf{h}_{s}\)
    • 出于吞吐量考虑,论文选择 ReLU 作为激活函数
    • 鉴于 Lightning Indexer 具有少量头部并且可以在 FPS 中实现,其计算效率非常显著
  • 细粒度 Token 选择机制 (fine-grained token selection mechanism)
    • 给定每个查询 Token \(\mathbf{h}_{t}\) 的索引分数 \(\{I_{t,s}\}\),fine-grained token selection mechanism 仅检索与最高 k 个索引分数对应的键值条目 \(\{\mathbf{c}_{s}\}\)
    • 然后,通过在查询 Token \(\mathbf{h}_{t}\) 和稀疏选择的键值条目 \(\{\mathbf{c}_{s}\}\) 之间应用注意力机制来计算注意力输出 \(\mathbf{u}_{t}\):
      $$\mathbf{u}_{t}=\text{Attn}(\mathbf{h}_{t},\left\{\mathbf{c}_{s}\mid I_{t,s}\in \text{Top-k}(I_{t,:})\right\}). \tag{2}$$
  • 在 MLA 下实例化 DSA (Instantiate DSA Under MLA)
    • 出于从 DeepSeek-V3.1-Terminus 进行持续训练的考虑,论文为 DeepSeek-V3.2 基于 MLA (DeepSeek-AI, 2024) 实例化了 DSA
    • 在 kernel 层面,为了提高计算效率,每个键值条目必须在多个查询之间共享 (2025)
    • 基于 MLA1 的 MQA (Multi-Query Attention) 模式 (Shazeer, 2019) 实现了 DSA,其中每个潜在向量 (MLA 的键值条目) 将在查询 Token 的所有查询头之间共享
    • 基于 MLA 的 DSA 架构如图 2 所示
    • 详情见:DeepSeek-V3.2 的开源实现以明确指定细节 和 论文附录
Continued Pre-Training
  • 从一个上下文长度已扩展到 128K 的 DeepSeek-V3.1-Terminus base checkpoint 开始,进行持续预训练,随后进行后训练(最终得到 DeepSeek-V3.2)
  • DeepSeek-V3.2 的持续预训练包括两个训练阶段
    • 对于这两个阶段,训练数据的分布与用于 DeepSeek-V3.1-Terminus 的 128K 长上下文扩展数据完全一致
  • 密集预热阶段 (Dense Warm-up Stage) : 使用一个简短的预热阶段来初始化 Lightning Indexer (预热)
    • 在此阶段,论文保持密集注意力,并冻结除 Lightning Indexer 外的所有模型参数
    • 为了使 Indexer 输出与主要注意力分布对齐,对于第 \(t\) 个查询 Token
      • 先通过对所有注意力头求和来聚合主要注意力分数
      • 然后,沿序列维度对该和进行 L1 归一化以产生目标分布 \(p_{t,:}\in\mathbb{R}^{t}\)
    • 基于 \(p_{t,:}\),论文将 KL 散度损失设置为 Indexer 的训练目标:
      $$\mathcal{L}^{l}=\sum_{t}\mathbf{D}_{\text{KL} }\big{(}p_{t,:}\big{|}\text{Softmax }(I_{t,:})\big{)}. \tag{3}$$
    • 对于预热,使用 \(10^{-3}\) 的学习率
    • 只对 Indexer 训练 \(1000\) 步,每步包含 \(16\) 个 128K Token 的序列,总计 2.1B Token
  • 稀疏训练阶段 (Sparse Training Stage) : Indexer 预热之后,引入细粒度 Token 选择机制,并优化所有模型参数以使模型适应 DSA 的稀疏模式
    • 在此阶段,论文仍然保持 Indexer 输出与主要注意力分布的对齐,但仅考虑被选择的 Token 集合 \(\mathcal{S}_{t}=\{s|I_{t,s}\in\text{Top-k}(I_{t,:})\}\):
      $$\mathcal{L}^{l}=\sum_{t}\mathbf{D}_{\text{KL} }\big{(}p_{t,\mathcal{S}_{t} }\big{|}\text{Softmax}(I_{t,\mathcal{S}_{t} })\big{)}. \tag{4}$$
  • 特别注意:作者将 Indexer 输入从计算图中分离 (detach) 出来进行单独优化
    • Indexer 的训练信号仅来自 \(\mathcal{L}^{l}\),而主要模型的优化仅根据语言建模损失进行
    • 在这个稀疏训练阶段,论文使用 \(7.3\times 10^{-6}\) 的学习率,并为每个查询 Token 选择 \(2048\) 个键值 Token
    • 对主要模型和 Indexer 都训练了 \(15000\) 步,每步包含 \(480\) 个 128K Token 的序列,总计 9437 亿 Token
  • 图 2: DeepSeek-V3.2 的注意力架构,其中 DSA 在 MLA 下实例化
    • 绿色部分说明了 DSA 如何根据 Indexer 选择 top-k 的键值条目

Post-Training

  • 持续预训练(continued pre-training)后再执行后训练
  • DeepSeek-V3.2 的后训练也采用与稀疏持续预训练阶段相同的方式使用稀疏注意力
  • DeepSeek-V3.2 保持与 DeepSeek-V3.2-Exp 相同的后训练流程,其中包括专家蒸馏和混合强化学习训练
  • 专家蒸馏(Specialist Distillation)
    • 对于每项任务,首先开发一个专门针对该特定领域的专用模型
      • 所有专家模型都从同一个预训练的 DeepSeek-V3.2 基础 Checkpoint 进行微调
    • 除了写作任务和通用问答外,论文的框架还涵盖六个专业领域:
      • 数学、编程、通用逻辑推理、通用智能体任务、智能体编码和智能体搜索
      • 所有这些领域都同时支持 Thinking 模式和非 Thinking 模式
    • 每个专家都通过大规模 RL 计算进行训练
    • 使用不同的模型来生成长链 Thinking 推理( Thinking 模式)和直接响应生成(非 Thinking 模式)的训练数据
      • 专家模型用来为最终 Checkpoint 生成特定领域的数据
      • 实验结果表明,在蒸馏数据上训练的模型达到的性能水平仅略低于领域特定专家,并且通过后续的 RL 训练可以有效地消除性能差距
  • 混合 RL 训练(Mixed RL Training)
    • 对于 DeepSeek-V3.2,论文仍然采用 GRPO (DeepSeek-AI, 2025; 2024) 作为 RL 训练算法
    • 与 DeepSeek-V3.2-Exp 一样,将推理、智能体和对齐训练合并到一个 RL 阶段
    • 这种方法有效地平衡了不同领域的性能,同时避免了通常与多阶段训练范式相关的灾难性遗忘问题
    • 对于推理和智能体任务,论文采用基于规则的结果奖励、长度惩罚和语言一致性奖励
    • 对于通用任务,论文采用生成式奖励模型,其中每个 Prompt 都有其自己的评估准则(Rubrics RM?)

      For general tasks, we employ a generative reward model where each prompt has its own rubrics for evaluation

  • DeepSeek-V3.2 与 DeepSeek-V3.2-Speciale
    • DeepSeek-V3.2 整合了从专家蒸馏出的推理、智能体和对齐数据,并经过数千步的持续 RL 训练以到达最终 Checkpoint
    • 为了研究扩展 Thinking 的潜力,开发了一个实验性变体,DeepSeek-V3.2-Speciale
      • 该模型仅在 RL 期间长度惩罚降低的情况下,专门在推理数据上进行训练
      • 作者还整合了来自 DeepSeekMath-V2 (2025) 的数据集和奖励方法,以增强数学证明方面的能力
  • 作者重点强调:在第 3.1 节中介绍如何创建一个稳定的方案来扩大 RL 计算规模,以及在第 3.2 节中介绍如何将 Thinking 整合到智能体任务中的努力
  • 图 3:DeepSeek-V3.1-Terminus 和 DeepSeek-V3.2 在 H800 集群上的推理成本

Scaling GRPO

  • 首先回顾 GRPO 的目标
  • GRPO 通过最大化以下关于从旧策略 \(\pi_{\text{old} }\) 采样得到的一组响应 \(\{o_{1},\cdots,o_{G}\}\) 的目标函数来优化策略模型 \(\pi_{\theta}\),给定每个问题 \(q\):
    $$
    \mathcal{J}_{\text{GRPO} }(\theta) =\mathbb{E}_{q\sim P(Q),\{o_i\}_{i=1}^{G}\sim\pi_{\text{old} }(\cdot|q)}\Bigg[\frac{1}{G}\sum_{i=1}^{G}\frac{1}{|o_i|}\sum_{t=1}^{|o_i|}
    \min \left(r_{i,t}(\theta)\hat{A}_{i,t},\text{clip}\left(r_{i,t}(\theta),1-\varepsilon,1+\varepsilon\right)\hat{A}_{i,t}\right)-\beta\mathbb{D}_{\text{KL} }\left(\pi_{\theta}(o_{i,t})\parallel\pi_{\text{ref} }(o_{i,t})\right)\Bigg],
    $$
    • \(r_{i,t}(\theta)\) 是当前策略与旧策略之间的重要性采样比率:
      $$
      r_{i,t}(\theta)=\frac{\pi_{\theta}(o_{i,t}|q,o_{i,<t})}{\pi_{\text{old} }(o_{i,t}|q,o_{i,<t})}
      $$
    • \(\varepsilon\) 和 \(\beta\) 是分别控制剪切范围和 KL 惩罚强度的超参数
    • \(\hat{A}_{i,t}\) 是 \(o_{i,t}\) 的优势,通过对组内的结果奖励进行归一化来估计
      • 使用一组奖励模型为组中的每个输出 \(o_i\) 评一个结果奖励 \(R_i\),分别得到 \(G\) 个奖励 \(R=\{R_1,\cdots,R_G\}\)
      • \(o_{i,t}\) 的优势通过从输出 \(o_i\) 的奖励中减去组的平均奖励来计算,即
        $$ \hat{A}_{i,t}=R_i-\text{mean}(R)$$
        • 特别注意:这里作者没有除以分母!
  • 论文接下来介绍了基于 GRPO 算法的额外更新策略,这些策略可以稳定 RL 的扩展
无偏 KL 估计(Unbiased KL Estimate):有趣的做法
  • 给定 \(o_{i,t}\) 是从旧策略 \(\pi_{\text{old} }(\cdot|q,o_{i,< t})\) 中采样的,这里校正 k3 估计器 (Schulman, 2020) 以使用当前策略 \(\pi_{\theta}\) 和旧策略 \(\pi_{\text{old} }\) 之间的重要性采样比率来获得无偏 KL 估计
    $$
    \mathbb{D}_{\text{KL} }\big(\pi_{\theta}(o_{i,t})\parallel\pi_{\text{ref} }(o_{i,t})\big)=\frac{\pi_{\theta}(o_{i,t}|q,o_{i,<t})}{\pi_{\text{old} }(o_{i,t}|q,o_{i,<t})}\left(\frac{\pi_{\text{ref} }(o_{i,t}|q,o_{i,<t})}{\pi_{\theta}(o_{i,t}|q,o_{i,<t})}-\log\frac{\pi_{\text{ref} }(o_{i,t}|q,o_{i,<t})}{\pi_{\theta}(o_{i,t}|q,o_{i,<t})}-1\right).
    $$
  • 作为此调整的直接结果,该 KL 估计器的梯度变得无偏,从而消除了系统性估计误差,促进了稳定的收敛
  • 这与原始的 k3 估计器形成鲜明对比,特别是当采样到的 Token 在当前策略下的概率远低于参考策略时,即 \(\pi_{\theta}\ll\pi_{\text{ref} }\)
    • 在这种情况下,k3 估计器的梯度会分配不成比例的大且无界的权重来最大化这些 Token 的似然,从而导致噪声梯度更新,这些更新累积起来会降低后续迭代中的样本质量并导致不稳定的训练动态
  • 在实践中,论文发现不同领域受益于不同强度的 KL 正则化
  • 对于某些领域,例如数学 ,应用相对较弱的 KL 惩罚甚至完全省略它都可以获得改进的性能
  • 详细推到证明见附录
Off-Policy Sequence Masking
  • 为了提高 RL 系统的效率,通常生成大量的 rollout 数据,随后将其分割成多个小批次用于若干次梯度更新步骤
    • 但这种做法本质上引入了离策略行为
  • 此外,用于高效数据生成的推理框架通常经过高度优化,其实现细节可能与训练框架不同
    • 这种训练-推理的不一致性进一步加剧了离策略的程度
  • 为了稳定训练并提高对离策略更新的容忍度,论文掩码那些引入显著策略分歧的负序列,其衡量标准是数据采样策略 \(\pi_{\text{old} }\) 与当前策略 \(\pi_{\theta}\) 之间的 KL 散度
  • 论文在 GRPO 损失中引入一个二元掩码 \(M\):
    $$
    \mathcal{J}_{\text{GRPO} }(\theta)=\mathbb{E}_{q\sim P(Q),\{o_i\}_{i=1}^{G}\sim\pi_{\text{old} }(\cdot|q)}\Bigg[\frac{1}{G}\sum_{i=1}^{G}\frac{1}{|o_i|}\sum_{t=1}^{|o_i|}
    \min \left(r_{i,t}(\theta)\hat{A}_{i,t},\text{clip}\left(r_{i,t}(\theta),1-\varepsilon,1+\varepsilon\right)\hat{A}_{i,t}\right)M_{i,t}-\beta\mathbb{D}_{\text{KL} }\left(\pi_{\theta}(o_{i,t})\parallel\pi_{\text{ref} }(o_{i,t})\right)\Bigg],
    $$
  • 其中
    $$
    M_{i,t}=\begin{cases}
    0 & \hat{A}_{i,t}<0,\frac{1}{|o_i|}\sum_{t=1}^{|o_i|}\log\frac{\pi_{\text{old} }(o_{i,t}|q,o_{i,<t})}{\pi_{\theta}(o_{i,t}|q,o_{i,<t})}>\delta\
    1 & \text{otherwise},
    \end{cases}
    $$
  • \(\delta\) 是一个控制策略分歧阈值的超参数
  • 注意:这里的 \(\pi_{\text{old} }\) 表示推理框架直接返回的采样概率,因此旧策略与当前策略之间的 KL 散度考虑了上述两种离策略来源
  • 同样值得注意的是,论文只掩码具有负优势的序列
  • 直观地说,模型从自身错误中学习受益最大,而高度离策略的负样本可能是有害的,可能误导或破坏优化过程的稳定性
  • 论文通过经验观察到,这种离策略序列掩码操作改善了在某些原本会表现出不稳定性的训练场景中的稳定性
  • 理解:
    • 这个做法很常见,主要是当 \(A < 0\) 时,原始 PPO 的 Clip 机制无法限制 \(\frac{\pi_\theta}{\pi_{\theta_\text{old}}}\) 很大的情况
Keep Routing
  • MoE 模型通过在推理期间仅激活专家模块的子集来提高计算效率
  • 但推理和训练框架之间的差异,加上策略更新,可能导致即使对于相同的输入,在推理和训练期间也产生不一致的专家路由
    • 这种不一致性会引起活跃参数子空间的突然变化,从而破坏优化的稳定性并加剧离策略问题
  • 缓解这个问题的方案:
    • 作者保留了在推理框架中采样期间使用的专家路由路径 ,并在训练期间强制执行相同的路由路径 ,确保优化相同的专家参数
    • 作者发现这种保持路由操作对于 MoE 模型的 RL 训练稳定性至关重要,并且自 DeepSeek-V3-0324 以来已在论文 RL 训练流程中采用
Keep Sampling Mask(解决因 top-p 和 top-k 等导致的训推不一致问题)
  • Top-p 和 top-k 采样是广泛使用的采样策略,用于提高 LLM 生成的响应质量
  • 在 RL 训练中采用这些策略也是有益的,因为它避免了采样极低概率的 Token
    • 理解1:这就避免了使用这些 Token 用作优化目标,而这部分 Token 的重要性权重往往可能较大(波动较大)?
    • 理解2:这还可以使得模型发布以后的 Inference 参数和训练参数(top-p, top-k 等能对齐),理论上可以保证模型训练的目标就是最优化真实场景的 Inference 策略
      • 注:平时训练时,RL 优化目标其实和真实目标有点对不齐(但影响应该还好)
  • 这种截断保持了样本质量,但它引入了 \(\pi_{\text{old} }\) 和 \(\pi_{\theta}\) 之间动作空间的不匹配
    • 这违反了重要性采样的原则并使训练不稳定
  • 解决这个问题的方案:
    • top-k:在从 \(\pi_{\text{old} }\) 采样期间保留截断掩码,并在训练期间将它们应用于 \(\pi_{\theta}\)
      • 确保两种策略共享相同的动作子空间
    • top-p:将 top-p 采样与保持采样掩码策略结合使用:
      • 可以有效保持 RL 训练期间的语言一致性
    • 理解:mask 的方式是(top-k 和 top-p 的 mask 方式都是 mask 词表中被 top-k 和 top-p drop 掉的部分):
      • 在推理时记录采样时(计算 Softmax 前)被 drop 掉的 token
      • 在训练引擎上,计算概率时 mask 掉这部分 token(mask 方式也是在计算 Softmax 前进行 mask,将 atten_score 置为 负无穷)
    • 对 mask 的理解:
      • 本质是防止训推不一致问题
      • 梯度视角的理解: 这部分 token 推理时不参与决策,训练时就不要回传梯度
        • 对部分 token 在计算 Softmax 前进行 mask 的本质是这部分 token 在 Softmax 处的梯度为 0,其 hidden_states 在 Softmax 这里不会被梯度影响(实际梯度接近 0)

Thinking in Tool-Use

Thinking Context Management
  • DeepSeek-R1 已经证明,融入 Thinking 过程可以显著增强模型解决复杂问题的能力
    • 基于这一见解,作者的目标是将 Thinking 能力整合到工具调用场景中
  • 作者观察到,复制 DeepSeek-R1 的策略会导致显著的 Token 效率低下
    • 注:DeepSeek-R1 的策略是在第二轮消息到达时丢弃推理内容
    • 这种方法迫使模型在每次后续工具调用时为整个问题冗余地重新推理
  • 为了缓解这个问题,作者开发了如图 4 所示的、为工具调用场景严格定制的上下文管理:
    • 仅当对话中引入新的用户消息时,才会丢弃历史推理内容
      • 如果仅追加与工具相关的消息(例如,工具输出),则推理内容在整个交互过程中保留
    • 当推理痕迹被移除时,工具调用及其结果的历史记录仍保留在上下文中
  • 特别需要注意:某些智能体框架,例如 Roo Code 或 Terminus,通过用户消息模拟工具交互
    • 由于上述上下文管理规则,这些框架可能无法完全受益于论文增强的推理持久性
    • 因此,作者建议在此类架构中使用非 Thinking 模型以获得最佳性能
  • 图 4:工具调用场景中的 Thinking 保留机制
Cold-Start
  • 鉴于已有推理数据(非智能体)和非推理智能体数据的可用性,整合这两种能力的一个直接策略是通过精心设计的 Prompting
  • 论文假设模型具备足够的能力来准确遵循明确的指令,从而能够在推理过程中无缝整合工具执行
  • 为了演示冷启动机制的运作(operation),论文选择性地采样训练数据,如附录表 6-8 所示
    • 需要注意的是,不同的任务 Prompt 与不同的系统 Prompt 相关联
  • 表 6-8 展示了一个对应于竞赛编程(competitive programming) Prompt 的示例
    • 表 6 展示了论文推理数据的一个示例,其中使用系统 Prompt 明确要求模型在最终答案之前进行推理,并使用特殊标签 <think></think> 来标记推理路径
    • 表 7 展示了非推理智能体数据的 Prompt ,其中系统 Prompt 包含工具调用的指导
    • 表 8 展示了论文设计的系统 Prompt ,用于指导模型在其推理过程中整合多个工具调用
  • 通过这种方式,尽管工具使用模式中的推理可能缺乏鲁棒性 ,但模型偶尔能够生成期望的轨迹 ,从而为后续的强化学习阶段提供基础
Large-Scale Agentic Tasks
  • 多样化的 RL 任务对于增强模型的鲁棒性至关重要
  • 对于搜索、代码工程和代码解释等任务,论文使用现实世界的工具,包括实际的网络搜索 API、编码工具和 Jupyter Notebooks
    • 虽然这些 RL 环境是真实的,但所使用的 Prompt 要么从互联网来源提取,要么是合成生成的,而不是从真实的用户交互中获取
  • 对于其他任务,环境和 Prompt 都是合成的
  • 论文使用的智能体任务如表 1 所述
    • 表 1:不同智能体任务的描述,包括任务数量、环境类型(真实或合成)和 Prompt 来源(提取或合成)
Search Agent
  • 论文采用基于 DeepSeek-V3.2 的多智能体管道来生成多样化、高质量的训练数据
    • 从大规模网络语料库中跨不同领域采样信息丰富的长尾实体
    • (一个)问题构建智能体 使用可配置深度和广度参数的搜索工具探索每个实体,将发现的信息整合成问答对
    • 具有异构配置(不同 Checkpoint 、系统 Prompt 等)的 (多个)答案生成智能体 为每个提出的 QA 对生成不同的候选响应
    • 具有搜索能力的 一个验证智能体 通过多次轮询验证所有答案,只保留真实答案正确且所有候选答案均可验证为错误的样本
    • 这些数据涵盖多种语言、领域和难度级别
  • 为了补充这些可验证的样本并更好地反映现实世界的使用情况
    • 第一:用来自现有有帮助 RL 数据集的过滤实例来增强数据集,对于这些数据集,搜索工具提供了 measurable benefits
    • 第二:开发跨多个质量维度的详细评估准则(rubrics),并采用生成式奖励模型根据这些准则对响应进行评分
    • 这种混合方法使得能够同时针对事实可靠性和实际帮助性进行优化
Code Agent
  • 论文通过从 GitHub 挖掘数百万个 issue-Pull Request (PR) pairs,为软件问题解决构建了大规模、可执行的环境
  • 该数据集使用启发式规则和 LLM-based 判断进行了严格过滤,以确保高质量,要求每个条目包含合理的问题描述、相关的 Gold Patch 以及用于验证的测试补丁
  • 论文使用由 DeepSeek-V3.2 驱动的自动化环境设置智能体来为这些 pairs 构建可执行环境
    • 该智能体处理包安装、依赖项解决和测试执行
    • 测试结果以标准的 JUnit 格式输出,确保跨编程语言和测试框架的一致解析
  • 只有当应用 Gold Patch 后,满足下面的条件,才认为环境成功构建
    • non-zero count of false-to-positive(F2P)test cases(表明问题已修复)
      • 即 F2P 数量不为 0:即至少存在一个测试用例曾经失败的,使用 Gold Patch 后成功了
    • zero count of pass-to-fail(P2F)test cases(表明没有 regressions)
      • P2F 数量为 0:即没有测试用例曾经成功,使用 Gold Patch 后,失败了
  • 使用此管道,论文成功构建了数万个可重现的问题解决环境,涵盖多种编程语言,包括 Python、Java、JavaScript、TypeScript、C、C++、Go 和 PHP
Code Interpreter Agent
  • 利用 Jupyter Notebook 作为代码解释器来解决复杂的推理任务
  • 作者策划了一组涵盖数学、逻辑和数据科学的多样化问题,每个问题都需要模型利用代码执行能力来得出 Solution
通用智能体(General Agent)【这里的流程还需要再明确】
  • 为了在 RL 中扩大智能体环境和任务规模,作者用了一个自动环境合成智能体,它合成了 1827 个面向任务的环境

    • 这些任务难以解决但易于验证
    • 合成工作流程主要包括环境和工具集构建、任务合成以及 Solution 生成
  • 具体来说,工作流程如下

    • 1)给定一个任务类别(例如,规划旅行行程)和一个配备 bash 和搜索工具的沙盒,智能体首先使用这些工具从互联网生成或检索相关数据,并将它们存储在沙盒数据库中
    • 2)智能体合成一组特定于任务的工具 ,每个工具都实现为一个函数
    • 3)为了创建既具有挑战性又可自动验证的任务 ,智能体做如下工作:
      • 首先:基于当前数据库 propose 一个简单任务,同时抽取这个任务的 Python 实现 Solution Function 和 Verification function
        • 对 Solution function 的要求:
          • 第一:这里的 Solution function 仅限于调用工具函数或执行逻辑计算,不能调用其他函数或直接访问数据库 ,确保只能通过工具接口(interface)解决问题
          • 第二:这个 Solution function 产生的结果必须由 Verification function 验证
        • 如果以上 Solution function 验证未通过,智能体将修改 Solution function 或 Verification function ,直到它产生的 Solution function 输出通过 Verification function 验证
      • 然后:智能体迭代地增加任务难度 ,并更新相应的 Solution function 和 Verification function
        • 在此迭代过程中,如果当前工具集不足以解决任务,智能体将扩展工具集
          • 问题:扩展的依据是什么?何时扩展?
      • 问题:是针对同一个问题,逐步提升任务难度?还是针对不同难度的问题,先解决简单问题,再解决复杂问题?
  • 遵循此工作流程,获得了数千个 <环境, 工具, 任务, 验证器>(<environment, tools, task, verifier>) 元组

    • 理解:这里的 <environment, tools, task, verifier> 是匹配对齐的,在这个环境 envirnoment 下,用这些工具 tools 能解决的任务 task 和 可以验证该 任务是否成功的验证器 verifier
  • 然后使用 DeepSeek-V3.2 在该数据集上执行 RL,并仅保留 pass@100 非 0 的实例,最终得到 1827 个环境及其相应的任务(共 4417 个)

  • 下面展示了一个合成的行程规划示例

  • 示例说明:此示例强调,虽然为满足所有约束的行程计划搜索大型组合空间具有挑战性,但检查给定的候选 Solution 是否满足这些约束则相对简单

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    **合成任务示例:行程规划(An Example of Synthesized Task: Trip Planning)**
    我正在计划从杭州开始的三天旅行,需要帮助创建 2025 年 10 月 1 日至 10 月 3 日的行程。
    一些重要要求:在整个旅行中,我不想重复任何城市、酒店、景点或餐厅。
    另外,请确保你推荐的每家酒店、餐厅和景点实际上都位于我当天将要入住的城市。
    关于第二天还有一件事——我正在试图精明地控制预算。如果我最终预订了每晚 800 元人民币或更贵的豪华酒店,那么我需要更加谨慎地控制其他开支:
    我在两家餐厅(午餐和晚餐)的总消费应保持在 350 元人民币以下,两家餐厅的评分至少应为 4.0 星,并且下午景点的门票需要低于 120 元人民币。
    如果第 2 天的酒店属于中高端范围(500-800 元人民币),那么我有更多的灵活性——我只需要确保我选择的至少一家餐厅评分在 4.0 或更高,并且景点门票应低于 180 元人民币。
    对于更经济实惠的酒店(200-500 元人民币范围),我只需要确保至少一家餐厅的评分在 3.2 或以上。你能帮我制定这个行程吗?

    **提交结果格式(Submit Result Format)**
    ```json
    [
    {"time": "2025-10-01", "city": "city_name", "hotel": "hotel_name", "afternoon_restaurant": "restaurant_name", "afternoon_attraction": "attraction_name", "evening_restaurant": "restaurant_name"},
    {"time": "2025-10-02", "city": "city_name", "hotel": "hotel_name", "afternoon_restaurant": "restaurant_name", "afternoon_attraction": "attraction_name", "evening_restaurant": "restaurant_name"},
    {"time": "2025-10-03", "city": "city_name", "hotel": "hotel_name", "afternoon_restaurant": "restaurant_name", "afternoon_attraction": "attraction_name", "evening_restaurant": "restaurant_name"}
    ]

    行程规划工具集(Tool Set for Trip Planning)

    函数名称 描述
    get_all_attractions_by_city(city) 获取给定城市的所有景点
    get_all_cities() 从数据库获取所有城市
    get_all_hotels_by_city(city) 获取给定城市的所有酒店
    get_all_restaurants_by_city(city) 获取给定城市的所有餐厅
    get_city_by_attraction(attraction) 获取给定景点名称的城市
    get_city_by_hotel(hotel) 获取给定酒店名称的城市
    get_city_by_restaurant(restaurant) 获取给定餐厅名称的城市
    get_city_transport(city) 获取给定城市的所有市内交通选项
    get_infos_by_attraction(info_keywords, attraction) 获取给定景点的指定信息
    get_infos_by_city(info_keywords, city) 获取给定城市的指定信息
    get_infos_by_hotel(info_keywords, hotel) 获取给定酒店的指定信息
    get_infos_by_restaurant(info_keywords, restaurant) 获取给定餐厅的指定信息
    get_inter_city_transport(from_city, to_city) 获取给定城市对之间的所有交通方式
    get_weather_by_city_date(city, date) 获取给定城市-日期对的天气
    submit_result(answer_text) 提交最终答案内容

Evaluation

Main Results

  • 作者在多个 Benchmark 上进行了评估,包括:
    • MMLU-Pro (2024)
    • GPQA Diamond (2023)
    • Human Last Exam (HLE) Text-only (2025)
    • LiveCodeBench (2024.08-2025.04)
    • Codeforces
    • Aider-Polyglot
    • AIME 2025
    • HMMT Feb 2025
    • HMMT Nov 2025 (2025)
    • IMOAnswerBench (2025)
    • Terminal Bench 2.0
    • SWE-Verified (OpenAI, 2024b)
    • SWE Multilingual (2025)
    • BrowseComp (2025)
    • BrowseCompZh (2025)
    • \(\tau^{2}\)-bench (2025)
    • MCP-Universe (2025)
    • MCP-Mark (EvalSys, 2025)
    • Tool-Decathlon (2025)
  • 评估说明及结果:
    • 工具使用基准使用标准函数调用格式进行评估,其中模型配置为思考模式
    • MCP-Universe (2025) 和 MCP-Mark (EvalSys, 2025),使用内部环境评估所有模型
      • 因为搜索和 playwright 环境可能与官方设置略有不同
    • 论文中,将温度设置为 1.0,上下文窗口设置为 128K tokens
    • 对于数学相关任务,如 AIME, HMMT, IMOAnswerBench 和 HLE(理解:其实 HLE 中不全是数学):
      • 论文使用以下模板进行评估:"{question}\n Please reason step by step, and put your final answer within \boxed{}"
        • 理解:这是一个业内目前常用的 Thinking 模板
      • 注:对于 HLE,论文还使用官方模板评估了 DeepSeek-V3.2-Thinking,得分为 23.9
  • 在推理任务上(reasoning tasks):
    • DeepSeek-V3.2 与 GPT-5-high 表现相当,略逊于 Gemini-3.0-Pro
    • 与 K2-Thinking 相比,DeepSeek-V3.2 以显著更少的输出 token 获得了相似的分数,如表 3 所示
    • 这些性能提升可归因于分配给 RL 训练的计算资源增加
      • 在最近几个月,作者观察到性能的持续改进与 RL 训练预算的延长相关,该预算已超过预训练成本的 \(10%\)
      • 作者假设额外的计算预算分配可以进一步增强推理能力
      • 论文呈现的 DeepSeek-V3.2 性能受到长度约束奖励模型的限制;在移除该限制后,论文观察到模型性能的进一步提升,详见第 4.2 节
  • 在代码智能体任务中(code agent evaluations):
    • DeepSeek-V3.2 在 SWE-bench Verified 和 Terminal Bench 2.0 上均显著优于开源 LLM
      • 展示了 DeepSeek-V3.2 在现实世界编码工作流程中的潜力
    • 关于 Terminal Bench 2.0 的特别说明
      • (如前所述)作者为 “思考模式(thinking mode)” 设计的上下文管理策略目前与 Terminus 不兼容;
      • 因此,报告的 46.4 分是使用 Claude Code 框架实现的
      • 作者也使用 Terminus 在非思考模式(non-thinking mode)下评估了 DeepSeek-V3.2,得分为 39.3
    • 对于 SWE-bench Verified,主要得分是使用 DeepSeek 的内部框架获得的
      • 在其他设置(包括 Claude Code 和 RooCode 框架,以及非思考模式)下的鲁棒性测试产生了一致的结果,范围在 72 到 74 之间
  • 对于搜索智能体评估(search agent evaluation)
    • 论文使用标准的商业搜索 API 评估论文的模型
    • 由于 DeepSeek-V3.2 最大仅支持 128K 的上下文长度,大约 \(20%\) 以上的测试用例超过此限制
      • 为了解决这个问题,作者采用了一种上下文管理方法来获得最终分数
      • 注:不使用上下文管理的分数是 51.4
    • 更多细节在第 4.4 节提供
  • 在工具使用基准上(tool-use benchmarks):
    • DeepSeek-V3.2 显著缩小了 open-source 与 closed-source LLM 之间的性能差距,但仍低于 frontier 模型
    • 对于 \(\tau^{2}\)-bench
      • 作者使用模型本身作为 User Agent,获得的最终类别分数为 63.8 (Airline), 81.1 (Retail), and 96.2 (Telecom)
    • 对于 MCP 基准
      • 作者使用函数调用格式,并将工具输出放在标记为 ‘tool’ 角色的消息中,而不是 ‘user’ 角色
      • 在论文的测试中,作者观察到 DeepSeek-V3.2 经常进行冗余的自我验证,生成了过长的轨迹
        • 这种倾向通常导致上下文长度超过 128K 的限制,特别是在诸如 MCP-Mark GitHub 和 Playwright 评估等任务中
          • 因此,这种现象阻碍了 DeepSeek-V3.2 的最终性能
        • 但集成上下文管理策略可以进一步提高性能
          • 论文将此确定为未来工作的方向和对用户的实用考虑
        • 即使 DeepSeek-V3.2 存在此问题,它仍然显著优于现有的开源模型
      • Notably,由于这些基准中使用的环境和工具集在 RL 训练期间未遇到过 ,观察到的改进证明了 DeepSeek-V3.2 将其推理策略泛化到领域外智能体场景的能力
        • 非思考模型在智能体场景中的评估见附录表 9

Results of DeepSeek-V3.2-Speciale

  • 表 3 表明,DeepSeek-V3.2-Speciale 通过利用增加的推理 token 获得了卓越的性能,在多个基准上超越了 SOTA Gemini-3.0-Pro
  • Remarkably,如表 4 所示
    • DeepSeek-V3.2-Speciale 这个通用模型在 2025 年国际信息学奥林匹克竞赛(IOI)和 ICPC 世界总决赛(ICPC WF)中达到了金牌级别的性能,而无需针对性的训练
    • Furthermore,通过结合 Shao 等人 (2025) 的技术,DeepSeek-V3.2-Speciale 模型在复杂的证明任务中表现出色,达到了 2025 年国际数学奥林匹克竞赛(IMO)和中国数学奥林匹克竞赛(CMO)的金牌门槛\(^5\)
    • 详细的评估协议在附录 D 中提供
  • However,DeepSeek-V3.2-Speciale 的 token 效率仍然显著低于 Gemini-3.0-Pro
    • 为了降低部署成本和延迟,作者在官方 DeepSeek-V3.2 的训练中施加了更严格的 token 约束,旨在优化性能与成本之间的权衡
    • 作者认为 token 效率仍然是未来研究的一个关键领域

Synthesis Agentic Tasks

  • 在本节中,作者进行消融实验来研究合成智能体任务的效果
  • 论文关注两个问题
    • 第一:合成任务对强化学习来说是否足够具有挑战性?
    • 第二:这些合成任务的泛化能力如何,即它们能否迁移到不同的下游任务或现实世界环境?
  • 为了回答第一个问题,作者从通用合成智能体任务中随机抽取 50 个实例,并评估用于合成的模型和 frontier closed-source LLM
  • 如表 5 所示,DeepSeek-V3.2-Exp 的准确率仅为 12%,而 frontier closed-source 模型的准确率最多为 62%
    • 这些结果表明,合成数据包含了对 DeepSeek-V3.2-Exp 和 frontier closed-source 模型都具有挑战性的智能体任务
  • 为了研究合成数据上的 RL 能否泛化到不同的任务或现实世界环境
    • 作者对 DeepSeek-V3.2 的 SFT Checkpoint(记为 DeepSeek-V3.2-SFT)应用 RL
  • 为了排除长 Thinking 链和其他 RL 数据的影响
    • 作者仅在非思考模式下对合成智能体任务进行 RL
  • 作者将上述模型与 DeepSeek-V3.2-SFT 和 DeepSeek-V3.2-Exp 进行比较
    • 其中 DeepSeek-V3.2-Exp 仅在搜索和代码环境中进行了 RL 训练(即不包含 合成数据)
    • DeepSeek-V3.2-SFT 则未经过任何 RL 训练
  • 如图 5 所示,在合成数据上进行大规模 RL 在 Tau2Bench、MCP-Mark 和 MCP-Universe 基准上相比 DeepSeek-V3.2-SFT 带来了显著的改进
    • 相比之下,将 RL 限制在代码和搜索场景并未改善这些基准上的性能,进一步凸显了合成数据的潜力

Context Management of Search Agent

  • 即使使用扩展的上下文窗口(如 128k),智能体工作流,特别是在基于搜索的场景中,也经常会遇到最大长度限制,从而过早地截断推理过程
    • 这个瓶颈抑制了测试时计算潜力的充分发挥
  • 为了解决这个问题,当 token 使用量超过上下文窗口长度的 80% 时,作者引入了上下文管理,采用简单的策略在测试时扩展 token 预算
  • 这些策略包括:
    • (1) 总结 (Summary) :总结溢出的轨迹并重新启动 rollout;
    • (2) 丢弃-75% (Discard-75%) :丢弃轨迹中前 75% 的工具调用历史以释放空间;
    • (3) 全部丢弃 (Discard-all) :通过丢弃之前所有工具调用历史来重置上下文(类似于新的上下文工具 Anthropic (2025a))
  • 为了比较,论文还实现了一个并行扩展基线:
    • 并行最少步骤 (Parallel-fewest-step) :采样 N 个独立的轨迹并选择步骤最少的轨迹
  • 论文在 BrowseComp 基准 (2025) 上评估这些策略
  • 如图 6 所示:
    • 在不同的计算预算下,上下文管理通过允许模型扩展测试时计算、提供更多空间来执行额外的执行步骤,从而带来显著的性能提升
    • Summary 将平均步骤从 140 扩展到 364,将性能从 53.4 提高到 60.2;但其整体效率相对较低
    • 尽管 Discard-all 很简单,但它在效率和可扩展性方面都表现良好,达到了 67.6 分,与并行扩展相当,同时使用的步骤显著更少
  • In summary:
    • 测试时计算可以通过上下文管理串行扩展,也可以并行扩展,两者都能有效扩展模型的问题解决能力
    • 但不同的策略表现出不同的效率和可扩展性
      • Thus,在对模型性能进行基准测试时,考虑实际的计算成本至关重要
      • Meanwhile,寻找串行和并行扩展的最佳组合以最大化效率和可扩展性,仍然是未来工作的一个关键方向

Conclusion, Limitation, and Future Work

  • 论文介绍了 DeepSeek-V3.2,有效弥合计算效率与高级推理能力之间差距
  • DeepSeek-V3.2 使用 DSA 解决了关键的计算复杂性,同时没有牺牲长上下文性能
  • (通过增加计算预算)DeepSeek-V3.2 在推理基准上实现了与 GPT-5 相当的性能
  • 论文的大规模智能体任务合成 Pipeline 的集成显著提高了工具使用熟练度,为具有开放 LLM 的鲁棒和可泛化的人工智能智能体开启了新的可能性
  • 高计算变体 DeepSeek-V3.2-Speciale,通过在 IMO 和 IOI 中获得的金牌成就得到了验证,为开放 LLM 树立了一个里程碑
  • 尽管取得了这些成就,与诸如 Gemini-3.0-Pro 这样的 frontier closed-source 模型相比,作者承认存在某些局限性
    • 第一:由于总训练 FLOPs 较少,DeepSeek-V3.2 的世界知识的广度仍然落后于领先的专有模型
      • 论文计划在未来的迭代中通过扩大预训练计算来解决这一知识差距
    • 第二:token 效率仍然是一个挑战;
      • DeepSeek-V3.2 通常需要更长的生成轨迹(即更多 token)来匹配像 Gemini-3.0-Pro 这样的模型的输出质量
      • 未来的工作将侧重于优化模型推理链的智能密度以提高效率
    • 第三,解决复杂任务的能力仍然不如前沿模型,作者将进一步改进论文的基础模型和后训练方案

附录 A: MLA 的 MHA 与 MQA 模式

  • 图 7:MLA 的 MHA 和 MQA 模式示意图
    • 对于 DeepSeek-V3.1-Terminus,训练和前填充时使用 MHA 模式,解码时使用 MQA 模式
    • 图 7 展示了 MLA 的两个方面(MHA 和 MQA 模式)以及它们之间的转换

附录 B:冷启动模板

  • 表 6: 推理数据系统 Prompt 示例。系统 Prompt 要求模型在 <think></think> 标签中输出推理过程
  • 表 7:[工具描述] 和 [工具调用格式] 将被替换为具体的工具和论文设计的工具调用格式
  • 表 8:模型在 Thinking 过程中执行工具调用

附录 C:non-thinking mode DeepSeek-V3.2 智能体能力评估

  • 表 9:DeepSeek-V3.2 非思考模式与思考模式对比
    • 表中的终端测试台分数使用 Claude Code 框架评估
    • 使用 Terminus 框架的非思考模式终端测试台 2.0 分数为 39.3
  • 非思考模式的性能略逊于思考模式,但仍然具有竞争力

附录 D:IOI、ICPC 世界总决赛、IMO 及 CMO 的评估方法

  • 对于所有竞赛:
    • 模型的最大生成长度设置为 128k
    • 不使用任何工具或互联网访问,测试严格遵守竞赛的时间和尝试限制
  • 对于 IOI 评估
    • 作者根据官方竞赛规则设计了提交策略,规则允许每道题最多提交 50 次,并根据在所有子任务中获得的最高分对每次提交进行评分
    • 具体来说:
      • 首先为每道题采样 500 个候选 Solution,然后应用一个多阶段过滤流程
      • 在初始阶段,剔除未能通过提供的样例测试用例或超出长度限制的无效提交
      • 随后,使用 DeepSeek-V3.2-Exp 模型来识别并剔除那些模型明确表示无法或拒绝解决问题的样本
      • 从剩余的有效候选方案中,论文选择具有最长 Thinking 轨迹的 50 个样本进行最终提交
  • 对于 ICPC 评估
    • 作者采用了相同的过滤方法,但初始采样规模较小
    • 论文为每道题生成 32 个候选 Solution ,并应用相同的过滤标准来选择提交
  • 在 IMO 和 CMO 任务中
    • 作者采用 generate-verify-refine 的循环
    • 模型迭代地改进其 Solution ,直到获得完美的自我评估或达到最大修订上限,此过程与 Shao 等人 (2025) 的方法相同

附录:Unbiased KL Estimate 的推导

  • 部分推导逻辑也可以参考博客:DeepSeek-V3.2中无偏 KL估计(Unbiased KL Estimate)的一些想法 - Keith Jiang的文章 - 知乎
  • 本节核心目标是说明为何 DeepSeek-V3.2 在策略梯度中将 KL 散度项乘以重要性权重(importance weight),从而实现对 KL 梯度的无偏估计
    • 注1:在绝对的 On-policy 的更新中,其实 \(\pi_\theta = \pi_{\theta_\text{old}}\),这个重要性权重值为 1,加不加都行
    • 注2:本节中主要是针对 Off-policy 更新的步骤中,需要对 GRPO 的 KL 散度添加重要性权重校准

Background :带 KL 约束的强化学习目标

  • 考虑 LLM 强化学习中的一般目标函数:
    $$
    J_{\text{RL} }(\theta; x) = \mathbb{E}_{y \sim \pi_\theta(\cdot|x)} \left[ r(x, y) \right] - \beta \cdot D_{\mathrm{KL} }\left[ \pi_\theta(\cdot|x) \parallel \pi_{\theta_0}(\cdot|x) \right]
    $$
  • 其中:
    • \(x\) 是输入(如 prompt)
    • \(y = (y_1, \dots, y_T)\) 是模型生成的 token 序列
    • \(r(x, y)\) 是 reward
    • \(\pi_{\theta_0}\) 是参考策略(通常为初始策略或 SFT 模型)
    • \(\beta\) 是 KL 正则化系数

自回归模型下的 KL 散度展开

  • 由于语言模型是自回归的,有:
    $$
    \pi_\theta(y|x) = \prod_{t=1}^T \pi_\theta(y_t|x, y_{ < t})
    $$
  • 因此 KL 散度可写为:
    $$
    \begin{align}
    D_{\mathrm{KL} }[\pi_\theta(y|x) \parallel \pi_{\theta_0}(y|x)]
    &= \mathbb{E}_{y \sim \pi_\theta(\cdot|x)} \left[ \sum_{t=1}^T \log \frac{\pi_\theta(y_t|x, y_{ < t})}{\pi_{\theta_0}(y_t|x, y_{ < t})} \right] \\
    &= \sum_{t=1}^T \mathbb{E}_{y \sim \pi_\theta(\cdot|x)} \left[ \log \frac{\pi_\theta(y_t|x, y_{ < t})}{\pi_{\theta_0}(y_t|x, y_{ < t})} \right]
    \end{align}
    $$
    • 注:上式最后一步通过 交换期望与求和顺序 得到
  • 接下来我们先关注第 \(t\) 项
    • 注意到内部只依赖于 \(y_{\le t}\),而期望是对整个序列 \(y\) 的,所以可以利用全概率公式(联合概率密度分解成 \(< t\) 的部分和 \(t\) 本身),于是可以将期望分解为:
      $$
      \mathbb{E}_{y \sim \pi_\theta(\cdot|x)}\left[ \log \frac{\pi_\theta(y_t|x, y_{ < t})}{\pi_{\theta_0}(y_t|x, y_{ < t})} \right]
      = \mathbb{E}_{y_{ < t} \sim \pi_\theta(\cdot|x)} \left[ \mathbb{E}_{y_t \sim \pi_\theta(\cdot|x, y_{ < t})} \left[ \log \frac{\pi_\theta(y_t|x, y_{ < t})}{\pi_{\theta_0}(y_t|x, y_{ < t})} \right] \right]
      $$
    • 上面中括号里面的内容可以转换成 KL 散度的形式:
      $$
      \mathbb{E}_{y_t \sim \pi_\theta(\cdot|x, y_{ < t})} \left[ \log \frac{\pi_\theta(y_t|x, y_{ < t})}{\pi_{\theta_0}(y_t|x, y_{ < t})} \right] = D_{\mathrm{KL} }\big( \pi_\theta(\cdot|x, y_{ < t}) \parallel \pi_{\theta_0}(\cdot|x, y_{ < t}) \big)
      $$
    • 于是第 \(t\) 项变为:
      $$
      \text{Term}_t = \mathbb{E}_{y_{ < t} \sim \pi_\theta(\cdot|x)} \left[ D_{\mathrm{KL} }\big( \pi_\theta(\cdot|x, y_{ < t}) \parallel \pi_{\theta_0}(\cdot|x, y_{ < t}) \big) \right]
      $$
  • 最终得到:
    $$
    \begin{align}
    D_{\mathrm{KL} }[\pi_\theta(y|x) \parallel \pi_{\theta_0}(y|x)]
    &= \sum_{t=1}^T \mathbb{E}_{y_{ < t} \sim \pi_\theta(\cdot|x)} \left[ D_{\mathrm{KL} }\big( \pi_\theta(\cdot|x, y_{ < t}) \parallel \pi_{\theta_0}(\cdot|x, y_{ < t}) \big) \right] \\
    &= \mathbb{E}_{y_{ < t} \sim \color{red}{\pi_\theta}(\cdot|x)} \left[ \sum_{t=1}^T D_{\mathrm{KL} }\big( \pi_\theta(\cdot|x, y_{ < t}) \parallel \pi_{\theta_0}(\cdot|x, y_{ < t}) \big) \right]
    \end{align}
    $$
    • 注:上面最后一步是交换期望与求和顺序得到的

将 KL 项放入采样期望内(关键步骤)

  • 回顾原 RL 目标为:
    $$
    J_{\text{RL} }(\theta;x) = \mathbb{E}_{y\sim\pi_\theta}[r(x,y)] - \beta \cdot \mathbb{E}_{y\sim\pi_\theta} \left[ \sum_{t=1}^T D_{\mathrm{KL} }\big( \pi_\theta(\cdot|x, y_{ < t}) \parallel \pi_{\text{ref} }(\cdot|x, y_{ < t}) \big) \right]
    $$
    • 注:这里对 \( D_{\mathrm{KL} }\big( \pi_\theta(\cdot|x, y_{ < t}) \parallel \pi_{\text{ref} }(\cdot|x, y_{ < t}) \big)\) 求期望的做法已经在前面推导过
  • 将奖励和 KL 散度合并为单个期望得到最原始的 RL 目标应该是:
    $$
    J_{\text{RL} }(\theta;x) = \mathbb{E}_{y\sim\pi_\theta} \left[ r(x,y) - \beta \sum_{t=1}^T D_{\mathrm{KL} }\big( \pi_\theta(\cdot|x, y_{ < t}) \parallel \pi_{\text{ref} }(\cdot|x, y_{ < t}) \big) \right]
    $$
  • 在实际训练中(如 PPO、GRPO),我们无法直接从当前策略 \(\pi_\theta\) 采样(因为参数正在更新),而是从旧策略 \(\pi_{\theta_{\text{old} } }\) 采样轨迹 \(\{o_i\}_{i=1}^G\)
    • 此时,目标函数一般需通过重要性采样重写,对于任意函数 \(f(y)\),有重要性采样如下:
      $$
      \mathbb{E}_{y \sim \pi_\theta(\cdot|x)}[f(y)]
      = \mathbb{E}_{y \sim \pi_{\theta_{\text{old} } }(\cdot|x)} \left[ \frac{\pi_\theta(y|x)}{\pi_{\theta_{\text{old} } }(y|x)} f(y) \right]
      $$
  • 现在用 \(\pi_{\theta_{\text{old} } }\) 采样,对 \(J_{\text{RL} }(\theta;x)\) 中的期望估计应用重要性采样有:
    $$
    \begin{align}
    J_{\text{RL} }(\theta;x)
    &= \mathbb{E}_{y\sim\pi_{\theta_{\text{old} } } } \left[ \frac{\pi_\theta(y|x)}{\pi_{\theta_{\text{old} } }(y|x)} \left( r(x,y) - \beta \sum_{t=1}^T D_{\mathrm{KL} }\big( \pi_\theta(\cdot|x, y_{ < t}) \parallel \pi_{\text{ref} }(\cdot|x, y_{ < t}) \big) \right) \right]
    \end{align}
    $$
    • 特别注意:这里的 KL 本身依赖于 \(\pi_\theta\)(这一点容易遗忘),重要性权重也依赖 \(\pi_\theta\)
    • 这一步在这里看起来推导很顺利,但是其实非常关键,这里直接回答了之前的一些问题,有了这一步之后,如博客 The critical implementation detail of KL loss in GRPO, Hongyu Zang 中提出的问题就不存在了
  • 至此,可以看出:
    • 当 \(y \sim \pi_{\theta_\text{old}}\) 采样时,重要性权重需要同时对奖励 \(r(x,y)\) 和 KL 散度 \(\sum_{t=1}^T D_{\mathrm{KL} }\big( \pi_\theta(\cdot|x, y_{ < t}) \parallel \pi_{\text{ref} }(\cdot|x, y_{ < t}) \big)\) 进行修正才对
    • 注:之前的实现一般仅对奖励使用重要性权重修正, 而忽略了 KL 散度

Token-level 分别加权的讨论

  • 上述的结果还是按照序列粒度评估的,实际上单独考虑 KL 散度时(不考虑奖励时),其实可以按照 Token-level 来考量
  • 对自回归模型,重要性权重可分解为 token-level 的形式:
    $$
    \frac{\pi_\theta(y|x)}{\pi_{\theta_{\text{old} } }(y|x)} = \prod_{t=1}^T \frac{\pi_\theta(y_t|x, y_{ < t})}{\pi_{\theta_{\text{old} } }(y_t|x, y_{ < t})}
    $$
    • 注意:这里是序列级别加权的,即整个序列看成是一个整体,即 期望里面的 KL 散度先算出来,再统一乘以外面的 Sequence-level 重要性权重
  • 在 RLHF 中, PPO/GRPO 实践时,常采用 token-level importance weight,即 每一步单独加权(而非整句相同重要性权重)
    • 注:数学上,其实这里的 Token-level 重要性权重本是不能拆开的,必须乘起来才能做到在数学上等价于序列级别的奖励和 KL 整体目标
    • 这种从 Sequence-level 到 Token-level 的转换,是为了降低方差,同时 Token-level 的方式可以看做 Sequence-level 重要性采样的一阶近似,更多讨论见论文和本人其他讨论博客:(GSPO)Group Sequence Policy Optimization, 20250728, Qwen(本人解读博客:NLP——LLM对齐微调-GSPO) 和 (MiniRL)Stabilizing Reinforcement Learning with LLMs: Formulation and Practices, 20251201, Qwen(本人解读博客:NLP——LLM对齐微调-MiniRL

补充分析:k3 估计下的 Token-Level 无偏 KL 估计(DeepSeek-V3.2 的做法)

  • 跟上述讨论一样,DeepSeek-V3.2 将 KL 项按照 token 分解,并对每个 token 的 KL 分别使用对应的重要性权重
  • 回忆 k3 估计(一种 KL 的无偏估计器):
    $$
    \begin{align}
    D_{\mathrm{KL} }[\pi_\theta \parallel \pi_{\text{ref} }] &\approx \frac{\pi_{\text{ref} }(a)}{\pi_\theta(a)} - \log \frac{\pi_{\text{ref} }(a)}{\pi_\theta(a)} - 1 \\
    &= \text{k3}
    \end{align}
    $$
    • 补充 k3 本身的性质:对以上 k3 估计求 \(a \sim \pi_\theta\) 下的期望,满足
      $$ \mathbb{E}_{a \sim \pi_\theta}[\text{k3}] = D_{\mathrm{KL} }[\pi_\theta \parallel \pi_{\text{ref} }]$$
  • 但在 GRPO 中,样本是从 \(\pi_{\theta_{\text{old} } }\) 采的,所以要估计(使用重要性采样):
    $$
    \mathbb{E}_{a \sim \pi_\theta} [\text{k3}] = \mathbb{E}_{a \sim \pi_{\theta_{\text{old} } } } \left[ \frac{\pi_\theta(a)}{\pi_{\theta_{\text{old} } }(a)} \text{k3} \right]
    $$
    • 注:若直接用 \(\pi_{\theta_{\text{old} } }\) 采样而不加权,则估计有偏;
  • 真正的无偏估计应为:
    $$
    \begin{align}
    \widehat{D}_{\mathrm{KL} }^{\text{unbiased} }
    &= \frac{\pi_\theta(a)}{\pi_{\theta_{\text{old} } }(a)} \left( \frac{\pi_{\text{ref} }(a)}{\pi_\theta(a)} - \log \frac{\pi_{\text{ref} }(a)}{\pi_\theta(a)} - 1 \right) \\
    &= \frac{\pi_{\text{ref} }(a)}{\pi_{\theta_{\text{old} } }(a)} - \frac{\pi_\theta(a)}{\pi_{\theta_{\text{old} } }(a)} \log \frac{\pi_{\text{ref} }(a)}{\pi_\theta(a)} - \frac{\pi_\theta(a)}{\pi_{\theta_{\text{old} } }(a)}
    \end{align}
    $$
  • DeepSeek 论文中公式与上面等价(DeepSeek 中直接使用了 Token-level 的加权形式),其形式保留原始 k3 形式并乘以重要性权重:
    $$
    D_{\mathrm{KL} }[\pi_\theta \parallel \pi_{\text{ref} }]
    \approx \frac{\pi_\theta(o_{i,t} | q, o_{i,<t})}{\pi_{\theta_{\text{old} } }(o_{i,t} | q, o_{i,<t})} \left(\frac{\pi_{\text{ref} }(o_{i,t} | q, o_{i,<t})}{\pi_\theta(o_{i,t} | q, o_{i,<t})} - \log \frac{\pi_{\text{ref} }(o_{i,t} | q, o_{i,<t})}{\pi_\theta(o_{i,t} | q, o_{i,<t})} - 1 \right)
    $$
    • 这就是 DeepSeek-V3.2 文章中提到的 Unbiased KL Estimate
    • 这里的约等于应该是有两层含义:
      • k3 估计是无偏的,但是仍然是一种估计,而不是等于
      • Sequence-level 重要性加权 KL 到 Token-level 重要性加权 KL 的近似
个人思考:无偏性反向证明
  • 上面是正向推导形式,为了方便理解,我们其实也可以反向证明无偏性
  • 记重要性权重为:
    $$
    r_{i,t} = \frac{\pi_\theta(o_{i,t} | q, o_{i,<t})}{\pi_{\theta_{\text{old} } }(o_{i,t} | q, o_{i,<t})}
    $$
  • 则有:
    $$
    \mathcal{L}_{\text{KL} }^{\text{unbiased} }
    = r_{i,t} \left( \frac{\pi_{\text{ref} } }{\pi_\theta} - \log \frac{\pi_{\text{ref} } }{\pi_\theta} - 1 \right)
    $$
  • 其期望满足(下面第一步的转换是将期望概率乘进去消掉重要性权重的分母,然后将分子作为概率提出来作为期望):
    $$
    \begin{align}
    \mathbb{E}_{o_{i,t} \sim \pi_{\theta_{\text{old} } } } \left[ \mathcal{L}_{\text{KL} }^{\text{unbiased} } \right]
    &= \mathbb{E}_{o_{i,t} \sim \pi_\theta} \left[ \frac{\pi_{\text{ref} } }{\pi_\theta} - \log \frac{\pi_{\text{ref} } }{\pi_\theta} - 1 \right] \\
    &= \mathbb{E}_{o_{i,t} \sim \pi_\theta} \left[ \text{k3} \right] \\
    &= D_{\mathrm{KL} }[\pi_\theta \parallel \pi_{\text{ref} }] \\
    \end{align}
    $$
    • 因此,DeepSeek-V3.2 文章中提到的 Unbiased KL Estimate 估计形式是无偏的

一些思考

  • DeepSeek-V3.2 的 Unbiased KL Estimate 的核心思想是:
    • 将 KL 散度项视为 reward 的一部分,并对其应用与 policy gradient 相同的重要性采样权重,从而保证 KL 梯度的无偏性
  • 最终,在 GRPO 目标函数中,KL 项变为:
    $$
    -\beta \cdot \frac{1}{G} \sum_{i=1}^G \frac{1}{ o_i } \sum_{t=1}^{ o_i }
    \underbrace{\color{red}{\frac{\pi_\theta(o_{i,t} | q, o_{i,<t})}{\pi_{\theta_{\text{old} } }(o_{i,t} | q, o_{i,<t})}} \left(\frac{\pi_{\text{ref} }(o_{i,t} | q, o_{i,<t})}{\pi_\theta(o_{i,t} | q, o_{i,<t})} - \log \frac{\pi_{\text{ref} }(o_{i,t} | q, o_{i,<t})}{\pi_\theta(o_{i,t} | q, o_{i,<t})} - 1\right)}_{\text{Unbiased KL Estimate} }
    $$
    • 注:这里新添加的 \(\color{red}{\frac{\pi_\theta(o_{i,t} | q, o_{i,< t})}{\pi_{\theta_{\text{old} } }(o_{i,t} | q, o_{i,< t})}}\) 本身就是 PPO 重要性采样的 ratio,所以这里计算时可以复用这个系数 ratio
    • 这使得整个目标函数的梯度在使用旧策略采样时仍保持对真实 KL 的无偏估计,提升了训练稳定性与效果
    • 注:再次强调,在绝对的 On-policy 的更新中,其实 \(\pi_\theta = \pi_{\theta_\text{old}}\),这个重要性权重可以忽略,类似说明其他博客也有提到
    • 这种做法比之前的一些丢弃 KL 散度的方法更好,但是否比改变形式的方法更好?
  • 理解:其实除了 k3 外,如果使用 k2 也会出现类似的问题,也需要类似修正
  • 其他补充:其实之前的博客也讨论过类似的问题:The critical implementation detail of KL loss in GRPO, Hongyu Zang
    • 博客中还提出了一些解决方案,其中一个方案(方案三)就跟 DeepSeek-V3.2 的方案思想类似
      • 博客中的方案三也是对 KL 散度使用 \(\frac{\pi_{\theta}}{\pi_{\theta_\text{old}}}\) 来进行修正
      • 但博客中提到的方案三是直接将 KL 添加到 Reward 中(类似传统 RLHF 中的做法一样),而 DeepSeek-V3.2 的 Unbiased KL Estimate 仍然是独立的一个 KL Loss
      • 博客相当于 DeepSeek-V3.2 工作的一半,提出了本文前面 “将 KL 项放入采样期望内” 的这一步,没有进一步推导回到独立的 KL Loss
      • 特别说明:如果进一步推导可以发现,在 GRPO 中,使用 kl in reward 是不合适的,因为这会导致 kl(本身的方差就大)会影响真实的 ORM 信号,比如因为正确样本中某个 Token 的 kl 过大,而打压正确样本,这个可能不是我们想要的(最好是整体样本鼓励,但打压某个 kl 较大的 Token 会更合适)
1…323334…67
Joe Zhou

Joe Zhou

Stay Hungry. Stay Foolish.

662 posts
53 tags
GitHub E-Mail
© 2026 Joe Zhou
Powered by Hexo
|
Theme — NexT.Gemini v5.1.4