强化学习的各种方法还可比吗?

《Part I: Tricks or Traps? A Deep Dive into RL for LLM Reasoning》 它揭示了当前“用强化学习提升大模型推理能力”这个领域充满了各种看似高深但又相互矛盾的技术,让实践者感到困惑。作者没有提出更复杂的新算法,而是返璞归真,在一个统一、开源的框架下对现有流行技术(所谓的“tricks”)进行了系统性的独立评估。他们最大的发现是,一个仅包含两种基本技术的极简组合“Lite PPO”,在提升基础模型(非对齐模型)的推理能力上,其性能竟然稳定超过了那些集成了五六种复杂技术的GRPO和DAPO等主流算法。这启发我们,在应用强化学习时,不应盲目堆砌技术,而应深入理解每个技术的核心作用,并根据具体场景(如模型类型、数据难度)做出明智选择,有时候“少即是多”。 当前研究领域的“混乱现象”及其背后的可能原因。例如,有的研究(GRPO)说“组级归一化”好,有的(REINFORCE++)则认为“批次级归一化”更优;有的算法在归一化时使用方差,有的却建议去掉方差以避免“难度偏见”。这种矛盾让从业者无所适从。作者认为,造成这种现象的根本原因在于各研究的实验设置、训练数据和初始模型千差万别,导致结论缺乏可比性。因此,本章启发我们,在评估或应用一个新技术时,必须高度关注其“实验背景”,并提出了一个关键问题引导后续研究:现有技术各自适用于什么场景?是否存在一个简单普适的组合来稳定地优化模型策略? 实验设计 统一框架: 所有实验都在一个开源的ROLL框架下进行,避免了因不同实现方式带来的差异。 多维度模型: 实验覆盖了不同尺寸(Qwen3-4B, 8B)和不同类型(Base基础模型 vs. Aligned对齐模型)的模型。这使得结论更具普适性,能够揭示技术对不同模型的敏感度。 分级数据: 使用了开源数据集,并创新性地将其划分为“简单”、“中等”、“困难”三个等级。这使得分析技术在不同难度任务下的表现成为可能,增加了研究的深度。 通过初步的基线实验,他们还发现了一个有趣的现象:对齐模型虽然起点高,但通过强化学习提升有限;而基础模型潜力巨大,更适合作为评估RL技术效果的“试金石”。 分析 4.1 归一化 (Normalization): 归一化的核心作用是稳定梯度,但如何归一化大有讲究。 启发1 (组级 vs. 批次级): “组级归一化”通常更稳定,因为它只在同一问题的多个答案间比较,不易受全局数据分布影响。而“批次级归一化”在奖励分布倾斜时容易崩溃,但若奖励范围拉大(如从{0, 1}变为{-1, 1}),它又能恢复效果。这表明归一化方法对奖励机制非常敏感。 启发2 (标准差的作用): 在简单任务中,模型输出的答案奖励可能高度一致(全对或全错),导致奖励的“标准差(std)”趋近于零。此时若用标准差去做分母进行归一化,会导致优势值被无限放大,引发梯度爆炸。因此,在这种场景下,去掉标准差项,仅用均值做中心化,反而能让训练更稳定。 启发3 (鲁棒的组合方式): 作者最终发现了一个更稳健的组合:使用“组级”的均值来计算奖励的相对好坏,同时使用“批次级”的标准差来进行缩放。这种“局部均值、全局标准差”的混合模式,既利用了组内比较的精确性,又通过全局标准差避免了因局部标准差过小而引发的不稳定问题。 4.2 更高上限的裁剪 (Clip-Higher): 这是对PPO中裁剪机制的改进。 启发4 (适用场景): 提高裁剪上限(如从0.2到0.28)主要对对齐模型(instruct model)有效。因为对齐模型本身推理能力较强,放宽更新限制能鼓励它探索更多样的解题路径,缓解“熵坍塌”(模型思维固化)。而基础模型由于探索能力本就较弱,放宽限制也难有作为,甚至会起反作用。 启发5 (语言学视角): 标准的裁剪会过度压制“therefore”、“if”等逻辑连接词的生成概率,因为这些词往往是开启新推理路径的关键,其概率变化较大。而提高裁剪上限则给予了模型更多使用这些连接词的自由,让推理结构更多样化。这揭示了超参数背后对模型生成内容风格的深远影响。 启发6 (参数的“缩放定律”): 对于小模型(4B),裁剪上限越高,性能似乎越好,呈现出一种“缩放”关系。但对于大模型(8B),这种关系消失了,存在一个最佳值(如0.28)。这提醒我们超参数的设置并非能简单地随模型尺寸线性缩放。 4.3 损失聚合 (Loss Aggregation): 启发7 (Token级 vs. 序列级): 这两种聚合方式的选择也依赖于模型类型。Token级损失(每个token贡献等同)更适合基础模型,因为它能确保模型从每个token中学到东西,这对于从零开始学习推理至关重要。而序列级损失(每个完整答案贡献等同)更适合对齐模型,因为它能更好地保持高质量答案的整体逻辑连贯性,避免因个别token的优化而破坏整体结构。 4.4 超长过滤 (Overlong Filtering): ...

August 12, 2025 · 小茄墩

DAPO:大规模开源 LLM 强化学习系统

《DAPO: an Open-Source LLM Reinforcement Learning System at Scale》 摘要 推理规模化使大语言模型具备了前所未有的推理能力,其中强化学习是引发复杂推理的核心技术。然而,最先进的推理大语言模型的关键技术细节往往被隐藏(如 OpenAI 的博客和 DeepSeek R1 技术报告),因此社区仍然难以复现他们的强化学习训练结果。我们提出了解耦裁剪和动态采样策略优化(Decoupled Clip and Dynamic sAmpling Policy Optimization,DAPO)算法,并完全开源了一个最先进的大规模强化学习系统,该系统使用 Qwen2.5-32B 基础模型在 AIME 2024 上达到了 50 分。与之前隐藏训练细节的工作不同,我们介绍了算法的四个关键技术,使大规模 LLM 强化学习取得成功。此外,我们开源了基于 verl 框架构建的训练代码,以及精心策划和处理的数据集。我们开源系统的这些组件增强了可复现性,并支持未来大规模 LLM 强化学习的研究。 1 引言 测试时扩展(如 OpenAI 的 O1 和 DeepSeek 的 R1 )为大语言模型(LLM)[3-7] 带来了深刻的范式转变。测试时扩展支持更长的思维链推理,并诱导复杂的推理行为,使模型在 AIME 和 Codeforces 等竞争性数学和编程任务中表现卓越。 推动这一革命的核心技术是大规模强化学习(RL),它引发了诸如自我验证和迭代强化等复杂推理行为。然而,可扩展 RL 训练的实际算法和方法仍然是个谜,在现有推理模型的技术报告中被隐藏。在本文中,我们揭示了大规模 RL 训练中的重大障碍,并开源了一个可扩展的 RL 系统,包括完全开源的算法、训练代码和数据集,提供了具有行业级 RL 结果的民主化解决方案。 我们以 Qwen2.5-32B [12] 作为 RL 的预训练模型进行实验。在我们初始的 GRPO 运行中,在 AIME 上仅实现了 30 分——远低于 DeepSeek 的 RL(47 分)。深入分析表明,朴素的 GRPO 基线存在几个关键问题,如熵崩塌、奖励噪声和训练不稳定性。更广泛的社区在复现 DeepSeek 的结果时遇到了类似的挑战 ,这表明 R1 论文中可能省略了开发行业级、大规模且可复现的 RL 系统所需的关键训练细节。 ...

March 18, 2025 · 小茄墩

Approximating KL Divergence: k1 k2 k3是什么

http://joschu.net/blog/kl-approx.html $$ K L[q, p]=\sum_x q(x) \log \frac{q(x)}{p(x)}=E_{x \sim q}\left[\log \frac{q(x)}{p(x)}\right] $$ 它解释了一个我在各种代码中使用过的技巧,我将 $K L[q, p]$ 近似为 $\frac{1}{2} (\log p(x) - \log q(x))^2$ 的样本平均值,对于来自 $q$ 的样本 $x$,而不是更标准的 $\log \frac{q(x)}{p(x)}$。 这篇文章将解释为什么这个表达式是 KL 的一个好的(虽然有偏差的)估计器,以及如何在保持其低方差的同时使其无偏差。 我们计算 $KL$ 的选项取决于我们对 $p$ 和 $q$ 有什么样的访问权限。 在这里,我们将假设我们可以计算任何 $x$ 的概率(或概率密度)$p(x)$ 和 $q(x)$,但我们无法解析地计算 $x$ 上的总和。 为什么我们不能解析地计算它呢? 精确计算它需要太多的计算或内存。 没有闭合形式的表达式。 我们可以通过仅存储对数概率(log-prob)来简化代码,而无需存储整个分布。如果KL散度仅用作诊断工具,这会是一个合理的选择,就像在强化学习中经常出现的情况一样。 估计总和或积分的最常见策略是使用蒙特卡洛估计。给定样本 $x_1, x_2, \dots \sim q$,我们如何构建一个好的估计? 一个好的估计量是无偏的(它具有正确的均值)并且具有低方差。我们知道一个无偏估计量(在来自 $q$ 的样本下)是 $\log \frac{q(x)}{p(x)}$。然而,它具有高方差,因为它对于一半的样本是负的,而KL散度始终是正的。让我们将这个朴素估计量称为 $k_1 = \log \frac{q(x)}{p(x)} = - \log r$,其中我们定义了比率 $r=\log \frac{p(x)}{q(x)}$,它将在后续计算中频繁出现。 ...

February 27, 2025 · 小茄墩