NLP——DeepScaleR

注:本文包含 AI 辅助创作


Blog Summary

  • 核心内容:
    • 作者的目标是在揭示强化学习对 LLM 的扩展效应,并使其为每个人所用(作者特别推崇开源)
    • DeepScaleR-1.5B-Preview 以 43.1% 的 Pass@1 准确率超越了 o1-preview
  • RL 的魔力正在显现!论文推出了 DeepScaleR-1.5B-Preview,这是一个基于 Deepseek-R1-Distilled-Qwen-1.5B,使用简单的 RL 进行微调的语言模型
  • DeepScaleR-1.5B-Preview 在 AIME2024 上取得了 43.1% 的 Pass@1 准确率(相比基础模型提升了14.3%),仅凭 1.5B 参数就超越了 OpenAI 的 o1-preview 的性能
  • 论文已将数据集、代码和训练日志开源,以便每个人都能在通过RL扩展智能的道路上取得进展
  • DeepScaleR-1.5B-Preview 整体评估效果如下:
    模型 AIME 2024 MATH 500 AMC 2023 Minerva Math Olympiad Bench 平均
    DeepScaleR-1.5B-Preview 43.1 87.8 73.6 30.2 50.0 57.0
    DeepSeek-R1-Distill-Qwen-1.5B 28.8 82.8 62.9 26.5 43.3 48.9
    O1-Preview 40.0 81.4 - - - -
  • 图1: DeepScaleR在AIME2024上的Pass@1准确率随训练进展的变化。在第 1040 步和第 1520 步,上下文长度分别扩展到 16K 和 24K
  • 在这篇博客中,论文将逐步揭示利用 RL 将小型模型转变为强大推理模型的秘诀
  • DeepScaleR-1.5B-Preview 在 40K 高质量数学问题上进行了训练,耗时 3,800 个 A100 GPU 小时(约4500美元),在多个竞赛级数学基准测试上超越了 OpenAI 的 o1-preview

Introduction: 迈向 LLM 强化学习的民主化(Towards Democratizing RL for LLMs)

  • Deepseek-R1 的近期开源发布(一个可与 OpenAI 的 o1 相媲美的模型)标志着在推理模型民主化方面迈出了重要一步
  • 但其确切的训练配方、超参数和底层系统仍然不可用
  • 在这项工作中,论文朝着实现一个完全开放配方的、可扩展的推理模型强化学习迈出了重要一步
  • 扩展强化学习的最大挑战之一是高昂的计算成本
    • 例如,论文发现直接复制 DeepSeek-R1 的实验(上下文长度 \(\ge\)32K,约 8000 步)至少需要 70,000 个 A100 GPU 小时(即使对于一个 1.5B 的模型也是如此)
  • 为了解决这个问题,论文利用了一个蒸馏模型,并引入了一种新颖的 RL 迭代延长方案,将计算需求减少到仅 3,800 个 A100 GPU 小时(减少了 18.42 倍),同时实现了仅凭 1.5B 模型就超越 OpenAI 的 o1-preview 的性能
  • 论文的工作表明,通过强化学习开发定制化推理模型既可以扩展,又具有成本效益
  • 在接下来的博客中,论文将介绍论文的数据集整理和训练方法,展示评估结果,并分享从论文的发现中获得的关键见解

DeepScaleR’s Recipe

Dataset Curation

  • 对于论文的训练数据集,论文整理了 1984-2023 年的 AIME 问题和 2023 年之前的 AMC 问题,以及来自 Omni-MATH 和 Still 数据集的问题
    • 这些数据集包含了来自各种国家和国际数学竞赛的问题
  • 论文的数据处理流程包括三个关键步骤:
    • 1)提取答案 :对于 AMC 和 AIME 等数据集,论文使用 gemini-1.5-pro-002 从官方 AoPS 解决方案中提取答案
    • 2)删除冗余问题 :论文使用基于 sentence-transformers/all-MiniLM-L6-v2 嵌入的 RAG 来消除重复的问题
      • 为了防止数据污染,论文还检查了训练集和测试集之间的重叠
    • 3)过滤无法评分的问题 :一些数据集,如 Omni-MATH,包含无法使用 sympy 评估并需要 LLM judge 的问题
      • 由于使用 LLM judge 可能会减慢训练速度并引入嘈杂的奖励信号,论文应用了一个额外的过滤步骤来删除这些无法评分的问题
  • 经过去重和过滤后,论文的最终训练数据集包含大约 40,000 个唯一的问题-答案对
    • 论文将在未来的运行中扩展论文的数据集

Reward Function

  • 正如 Deepseek-R1 所倡导的,论文采用结果奖励模型(ORM)而不是过程奖励模型(PRM)来避免奖励作弊。简而言之,论文的奖励函数返回:
    • 1 :如果 LLM 的答案通过了基本的 LaTeX/Sympy 检查
    • 0 :如果 LLM 的答案错误或格式不正确(例如缺少<think></think>分隔符)

Iterative Context Lengthening: Think Shorter, then Longer

  • 图2: DeepScaleR的平均响应长度和训练奖励随训练进展的变化。曲线显示了100个窗口大小的移动平均值
  • 在推理任务中扩展强化学习的一个关键挑战是选择最佳的上下文窗口进行训练
    • 推理工作负载的计算量非常大,因为它们生成的输出比标准任务长得多,从而减慢了轨迹采样和策略梯度更新
    • 将上下文窗口大小加倍至少会使训练计算量增加 2 倍
  • 这引入了一个根本性的权衡:
    • 更长的上下文为模型提供了更多的思考空间,但会显著减慢训练速度;
    • 更短的上下文可以加速训练,但可能会限制模型解决需要长上下文的更难问题的能力
    • 因此,在效率和准确性之间取得适当的平衡至关重要
  • 简而言之,论文采用 Deepseek 的 GRPO 算法的训练配方遵循两个步骤:
    • 1)首先,论文使用8K最大上下文进行强化学习训练,以实现更有效的推理和高效的训练
    • 2)接着,论文将训练扩展到16K和24K上下文,使模型能够解决更具挑战性、之前未解决的问题

引导有效的 CoT(Bootstrapping effective CoT)with 8K context

  • 在启动论文的完整训练运行之前,论文在 AIME2024 上评估了 Deepseek-R1-Distilled-Qwen-1.5B 并分析了轨迹统计
  • 平均而言,错误的响应包含的 token 数量是正确响应的三倍(20,346 vs. 6,395)
    • 这表明更长的响应往往会导致错误的结果
    • 因此,立即使用长上下文窗口进行训练可能是低效的,因为大多数 token 实际上被浪费了
    • 此外,论文在评估日志中观察到,长响应表现出重复的模式,表明它们对有效的思维链(CoT)推理没有实质性贡献
  • 鉴于这一见解,论文以 8K 上下文启动训练,在 AIME2024 上取得了 22.9% 的初始准确率,仅比原始模型低 6%
    • 这种策略被证明是有效的:在训练过程中,平均训练奖励从 46% 增加到 58%,而平均响应长度从 5,500 减少到 3,500 个 token(见图2)
  • 更重要的是,将输出限制在 8K token 使模型能够更有效地利用上下文
  • 如表所示,论文的模型为正确和错误答案生成的响应都显著缩短,同时在AIME准确率上超过了基础模型 5%(仅使用了三分之一的 token)
    基础模型 DeepScaleR-1.5b-8k 变化
    AIME Pass@1 28.9% 33.9% +5%
    正确响应的平均 token 数 6396.0 3661.2 -2734.8
    错误响应的平均 token 数 20346.3 6976.8 -13369.5
    总体平均 token 数 16335.6 5850.9 −10484.7

Extending to 16K context at the turning point

  • 在大约 1,000 步之后,论文的 8K 运行出现了一个有趣的变化:响应长度开始再次增加
    • 但这导致了收益递减,准确率趋于平稳并最终下降
    • 与此同时,响应截断率从 4.2% 上升到 6.5%,表明有更多响应在上下文限制处被截断
  • 图3: 在 1000 步之后,8K 运行的响应长度再次上升,但训练奖励最终下降
  • 图4: 在 8K 上下文运行中,1000 步之后响应长度截断率上升
  • 这些结果表明,模型试图通过“思考更长时间”来提高训练奖励。但当它生成更长的响应时,越来越多地遇到 8K 上下文窗口的上限,从而限制了进一步的改进
  • 认识到这是一个自然的过渡点,论文决定“打开笼子,让鸟儿飞翔(set the cage free and let the bird fly.)”
    • 论文取了第 1,040 步的检查点(此时响应长度开始呈上升趋势),并以 16K 上下文窗口重新启动训练
    • 这种两阶段方法比从一开始就以 16K 进行训练要高效得多:8K 的引导将平均响应长度保持在 3,000 个token,而不是 9,000 个,使这一阶段的训练速度至少快2倍。在此切换之后,论文观察到训练奖励、响应长度和AIME准确率稳步提高。在额外的500步之后,平均响应长度从3500增加到5500个token,AIME2024的Pass@1准确率达到38%

Surpassing O1-preview with the 24K magic

  • 在 16K 上下文上再训练 500 步后,论文注意到性能开始趋于平稳(平均训练奖励收敛在 62.5%)
    • AIME 24 Pass@1准确率在 38% 左右徘徊,响应长度再次开始下降
    • 同时,最大响应截断率逐渐上升到 2%
  • 为了向 o1 级别的性能发起最后的冲刺,论文决定施展 “24k 魔法”(将上下文窗口增加到 24K)
    • 论文取 16K 运行在第 480 步的检查点,并以 24K 上下文窗口重新启动训练运行
    • 有了扩展的上下文窗口,模型终于得以突破
    • 大约 50 步后,论文的模型终于超过了 40% 的 AIME 准确率,并在第 200 步达到 43%
    • 24K的魔法完全生效了!
  • 总的来说,论文的训练运行大约包含 1,750 步
    • 初始的 8K 阶段在 8 个 A100 GPU 上训练
    • 16K 和 24K 阶段将训练扩展到 32 个 A100 GPU
    • 总共:训练耗时约 3,800 个 A100 GPU 小时,相当于在 32 个 A100 上运行约5天,计算成本约为 4500 美元

Evaluation

  • 论文在竞赛级数学基准上评估了论文的模型,包括 AIME 2024、AMC 2023、MATH-500、Minerva Math 和 OlympiadBench
  • 以下报告的是 Pass@1 准确率,每个问题平均 16 个样本。论文运行以验证分数的基线已加下划线
    模型 AIME 2024 MATH 500 AMC 2023 Minerva Math OlympiadBench 平均
    Qwen-2.5-Math-7B-Instruct 13.3 79.8 50.6 34.6 40.7 43.8
    rStar-Math-7B 26.7 78.4 47.5 - 47.1 -
    Eurus-2-7B-PRIME 26.7 79.2 57.8 38.6 42.1 48.9
    Qwen2.5-7B-SimpleRL 26.7 82.4 62.5 39.7 43.3 50.9
    DeepSeek-R1-Distill-Qwen-1.5B 28.8 82.8 62.9 26.5 43.3 48.9
    Still-1.5B 32.5 84.4 66.7 29.0 45.4 51.6
    DeepScaleR-1.5B-Preview 43.1 87.8 73.6 30.2 50.0 57.0
    O1-Preview 40.0 81.4 - - - -
  • 图5: AIME 准确率与模型大小,DeepScaleR实现了性能和尺寸之间最帕累托最优的组合
  • 论文将 DeepScaleR 与论文使用的基础 DeepSeek 模型以及近期探索用于推理任务的强化学习的学术作品进行了比较
    • DeepScaleR 在所有基准测试上都显著优于基础模型,在 AIME2024 上取得了 14.4% 的绝对增益,整体提升了 8.1%
    • DeepScaleR 超越了近期如 rSTAR、Prime 和 SimpleRL 等学术作品,这些作品都是从 7B 模型微调而来
    • 如图5所示,DeepScaleR 仅凭 1.5B 参数就达到了 o1-preview 级别的性能(这是一个显著的效率提升)

Key Takeaways

  • 强化学习扩展也适用于小型模型(RL scaling can manifest in small models as well)
    • Deepseek-R1 表明,直接在小型模型上应用强化学习不如蒸馏有效
    • 他们的消融实验显示,对 Qwen-32B 进行强化学习在 AIME 上达到 47%,而仅蒸馏就能达到 72.6%
    • 一个常见的误解是强化学习扩展只对大模型有益,但通过从大模型蒸馏出的高质量 SFT 数据,小型模型也可以通过强化学习更有效地学习推理
    • 论文的结果证实了这一点:强化学习扩展将 AIME 准确率从 28.9% 提高到了 43.1%!这些发现表明,SFT 或 RL 单独都不够
      • 相反,通过结合高质量的 SFT 蒸馏和强化学习扩展 ,我们才能真正释放 LLM 的推理潜力
  • 迭代延长实现了更有效的长度扩展(Iterative lengthening enables more effective length scaling)