近期阅读了Sebastian Raschka的最新blogUnderstanding Reasoning LLMs,觉得很有价值,特此翻译。
在人工智能领域,推理能力是大语言模型(LLM)的一大挑战。本文将深入探讨构建推理型大语言模型的四种主要方法,并揭示如何增强其推理能力。希望这些内容能为读者提供有价值的洞见,帮助您在这一快速发展的领域中梳理相关文献和热点话题。
2024 年及未来的趋势:LLM 的专项化发展
2024 年,大语言模型领域见证了越来越多的专项化趋势。除了预训练和微调外,我们看到了从检索增强生成(RAG)到代码助手的各种专用应用的兴起。预计这一趋势将在 2025 年加速,领域和应用特定的优化(即“专项化”)将受到更大关注。
!大语言模型开发阶段
_图注:1-3 阶段是开发大语言模型的常见步骤,第 4 阶段则是针对特定用例进行专项化。_
推理模型的开发正是这些专项化方向之一。经过优化,推理模型能够在需要中间步骤(即逐步解决问题)的复杂任务中表现出色,如解谜、高级数学问题和编程挑战。然而,这种专项化并不会取代其他大语言模型的应用。将模型转化为推理模型会带来一些局限性,我将在后文详细讨论。
本文将包括以下内容:解释“推理模型”的定义,讨论其优缺点,简要介绍 DeepSeek R1 的训练流程,详细阐述构建和改进推理模型的四种主要方法,分享对 DeepSeek V3 和 R1 发布后大语言模型领域发展的看法,并为预算有限的开发者提供构建推理模型的实用建议。
希望本文能为您带来有关推理型大语言模型的深刻洞见,并启发您在这一领域探索更多可能性!
什么是“推理模型”?
如果您从事人工智能或机器学习领域,可能对一些模糊且备受争议的定义并不陌生。“推理模型”这一术语也不例外。未来或许会有论文给出正式定义,但随后可能又被下一篇文章重新定义,循环往复。
在本文中,我将“推理”定义为回答需要多步骤生成和中间推导的问题。例如,“法国的首都是哪里?”这样的事实性问答并不涉及推理。而像“如果一列火车以每小时 60 英里的速度行驶 3 小时,它行驶了多远?”这样的问题则需要简单推理,比如识别距离、速度和时间之间的关系,然后得出答案。
!普通模型与推理模型的对比
_图注:普通大语言模型可能仅提供简短答案(如左侧所示),而推理模型通常包含中间步骤,揭示部分思考过程。(注意,许多未专门为推理任务开发的大语言模型也能在回答中提供中间推理步骤。)_
现代大语言模型大多具备基础推理能力,可以回答类似火车行驶距离的问题。因此,提到推理模型时,通常指的是在更复杂的推理任务(如解谜、猜谜和数学证明)中表现卓越的大语言模型。
此外,目前大多数被称为推理模型的大语言模型会在回答中包含思考过程。关于大语言模型是否真的“思考”以及如何“思考”,则是另一个话题。
推理模型中的中间步骤可能以两种方式呈现:一是明确包含在回答中;二是某些推理模型(如 OpenAI 的 o1)在后台运行多次迭代,中间步骤对用户不可见。
!推理的两种层次
_图注:“推理”在两个层次上体现:1)通过多个中间步骤处理输入并生成回答;2)在回复中向用户展示部分推理过程。_
何时需要使用推理模型?
在定义了推理模型之后,我们可以进入更有趣的部分:如何构建和优化大语言模型以应对推理任务。但在深入技术细节之前,重要的是先思考推理模型究竟在哪些场景中是必要的。
何时需要推理模型? 推理模型专门用于复杂任务,如解决谜题、高级数学问题和复杂的编程挑战。然而,对于较简单的任务,如文本摘要、翻译或基于知识的问答,推理模型并非必需。事实上,将推理模型用于所有任务可能既低效又昂贵。例如,推理模型通常使用成本更高,回答更冗长,有时还可能因“过度思考”而更容易出错。这里适用一个简单原则:针对不同任务选择合适的大语言模型。
推理模型的主要优势和局限性如下图所示:
!推理模型的优缺点
_图注:推理模型的主要优势与局限性。_
DeepSeek R1 训练流程简介
在讨论构建和改进推理模型的四种主要方法之前,我想先简要介绍 DeepSeek R1 的训练流程,相关内容可参考 DeepSeek R1 技术报告。这份报告既是一个有趣的案例研究,也为开发推理型大语言模型提供了蓝图。
DeepSeek 并未发布单一的 R1 推理模型,而是推出了三个不同的变体:DeepSeek-R1-Zero、DeepSeek-R1 和 DeepSeek-R1-Distill。
依据技术报告中的描述,我总结了这些模型的开发过程,如下图所示:
!DeepSeek 三种推理模型开发流程
_图注:DeepSeek R1 技术报告中讨论的三种推理模型的开发流程。_
接下来,我们简要介绍流程图所示的内容。更多细节将在下一节讨论四种主要构建和改进推理模型的方法时展开。
- DeepSeek-R1-Zero:基于 2024 年 12 月发布的 671B 参数预训练模型 DeepSeek-V3。研究团队使用强化学习(RL)进行训练,采用两种奖励机制。这种方法被称为“冷启动”训练,因为它未包含通常在人类反馈强化学习(RLHF)中常见的监督微调(SFT)步骤。
- DeepSeek-R1:DeepSeek 的旗舰推理模型,基于 DeepSeek-R1-Zero 构建。团队通过额外的 SFT 阶段和进一步的 RL 训练对其进行优化,改进了“冷启动”的 R1-Zero 模型。
- DeepSeek-R1-Distill:使用前述步骤生成的 SFT 数据,DeepSeek 团队对 Qwen 和 Llama 模型进行微调,增强其推理能力。虽然并非传统意义上的知识蒸馏,但这一过程涉及使用 DeepSeek-R1 671B 模型的输出数据训练较小的模型(如 Llama 8B 和 70B,以及 Qwen 1.5B 至 30B)。
构建和改进推理模型的四种主要方法
本节将介绍当前用于增强大语言模型推理能力并构建专用推理模型(如 DeepSeek-R1、OpenAI 的 o1 和 o3 等)的关键技术。
注:o1 和 o3 的具体工作机制在 OpenAI 之外尚未公开,但传言它们结合了推理和训练技术。
1. 推理时扩展(Inference-time Scaling)
提升大语言模型推理能力的一种方法是推理时扩展。这一术语可能有多种含义,但在本文语境中,它指的是在推理过程中增加计算资源以提高输出质量。
一个简单的比喻是,人类面对复杂问题时,给予更多思考时间往往能产生更好的回答。就像学生在考试中,如果有更多时间思考,通常能更好地解答复杂的数学题。同样,我们可以应用一些技术,鼓励大语言模型在生成答案时“多思考”。(当然,大语言模型是否真的“思考”是一个不同的话题。)
推理时扩展的一种方法是巧妙的提示工程。一个典型的例子是思维链(Chain-of-Thought, CoT)提示,在输入提示中加入“一步步思考”之类的语句,鼓励模型生成中间推理步骤,而非直接跳到最终答案。这通常(但并非总是)能在复杂问题上带来更准确的结果。(需要注意的是,对于简单的知识性问题,如“法国的首都是哪里?”,使用这种策略并无意义,这也是判断是否需要推理模型的一个实用经验法则。)
!思维链提示示例
_图注:来自 2022 年论文《Large Language Models are Zero-Shot Reasoners》(https://arxiv.org/abs/2205.11916)的经典 CoT 提示示例。_
上述 CoT 方法可以看作是推理时扩展的一种形式,因为它通过生成更多输出 token 增加了推理成本。
另一种方法是使用投票和搜索策略。一个简单的例子是多数投票,即让大语言模型生成多个答案,然后通过多数投票选择正确答案。类似地,我们可以使用束搜索(Beam Search)和其他搜索算法生成更优质的回答。
我强烈建议阅读论文《Scaling LLM Test-Time Compute Optimally can be More Effective than Scaling Model Parameters》。该论文通过实验证明,优化推理时的计算资源比增加模型参数更有效。
DeepSeek R1 技术报告将常见的推理时扩展方法(如基于过程奖励模型和蒙特卡洛树搜索的方法,这些是用于改进模型推理能力的技术)归为“未成功尝试”,表明 DeepSeek 并未明确使用这些技术,R1 模型只是自然倾向于生成更长的回答,相比 V3 基础模型隐式地实现了推理时扩展。
但是,明确的推理时扩展通常在应用层而非模型本身内部实现,因此 DeepSeek 可能仍在应用中使用此类技术。我认为 OpenAI 的 o1 和 o3 模型使用了推理时扩展,这也解释了它们相较于 GPT-4o 等模型成本较高的原因。
2. 纯强化学习(Pure Reinforcement Learning, RL)
DeepSeek R1 论文的一个重要发现是,他们发现推理能力可以通过纯强化学习(RL)作为一种行为自然浮现。让我们详细探讨这意味着什么。
如上所述,DeepSeek 开发了三种 R1 模型。第一个是 DeepSeek-R1-Zero,基于 2024 年 12 月发布的标准预训练模型 DeepSeek-V3。与典型的强化学习(RL)流程不同,DeepSeek-R1-Zero 完全通过强化学习训练,不包含初始的监督微调(SFT)阶段。
尽管如此,这一 RL 过程与常用的 RLHF 方法类似,通常用于调优大语言模型。但 DeepSeek-R1-Zero 的主要区别是跳过了指令调优的 SFT 阶段,因此他们称之为“纯”RL。(尽管在 LLM 背景下,RL 与传统 RL 有很大不同,这是另一个话题。)
在奖励机制上,他们未使用基于人类偏好的奖励模型,而是采用了两种奖励类型:准确性奖励和格式奖励。
- 准确性奖励:利用 LeetCode 编译器验证编程答案,并通过确定性系统评估数学回答。
- 格式奖励:依靠一个 LLM 评判模型,确保回答遵循预期格式,例如将推理步骤置于 标签内。
这种方法足以让模型发展出基础推理技能。研究人员发现一个“顿悟”时刻,模型开始在回答中生成推理轨迹,尽管并未明确训练它这样做,如下图所示。
!顿悟时刻
_图注:DeepSeek R1 技术报告(https://arxiv.org/abs/2501.12948)中展示的“顿悟”时刻。_
虽然 R1-Zero 并非顶尖推理模型,但它通过生成中间“思考”步骤展现了推理能力,证明了使用纯 RL 开发推理模型是可行的,DeepSeek 团队是首个展示这一方法的研究团队。
3. 监督微调与强化学习结合(SFT + RL)
接下来,我们来看 DeepSeek 的旗舰推理模型 DeepSeek-R1 的开发过程,它为构建推理模型提供了蓝图。该模型在 DeepSeek-R1-Zero 基础上,通过额外的监督微调(SFT)和强化学习(RL)提升了推理性能。
值得注意的是,在 RL 之前加入 SFT 阶段是常见做法,如标准 RLHF 流程所示。OpenAI 的 o1 很可能也采用了类似方法。
如图所示,DeepSeek 团队使用 DeepSeek-R1-Zero 生成所谓的“冷启动”SFT 数据。“冷启动”一词指的是这些数据由未经过任何监督微调训练的 DeepSeek-R1-Zero 生成。
基于这些冷启动 SFT 数据,DeepSeek 通过指令微调训练模型,随后进行另一轮 RL 阶段。这一 RL 阶段保留了 DeepSeek-R1-Zero 中使用的准确性和格式奖励,但新增了一致性奖励,防止模型在回答中混杂多种语言。
在 RL 阶段之后,又进行了一轮 SFT 数据收集,使用最新模型检查点生成 60 万条思维链(CoT)SFT 样本,同时使用 DeepSeek-V3 基础模型生成额外 20 万条基于知识的 SFT 样本。这些样本用于指令微调 DeepSeek-V3 基础模型,随后进行最后一轮 RL。
最终模型 DeepSeek-R1 相比于 DeepSeek-R1-Zero 在性能上有了显著提升,得益于额外的 SFT 和 RL 阶段,如下表所示。
!性能对比
_图注:DeepSeek R1 技术报告(https://arxiv.org/abs/2501.12948)中的基准对比。_
4. 纯监督微调与蒸馏(Pure SFT and Distillation)
到目前为止,我们已介绍了构建和改进推理模型的三种关键方法:
1. 推理时扩展,不需要额外训练即可提升推理能力,但会增加推理成本。
2. 纯强化学习,如 DeepSeek-R1-Zero 所示,证明推理能力可作为一种学习行为浮现,无需监督微调。
3. 监督微调加强化学习,造就了 DeepSeek 的旗舰推理模型 DeepSeek-R1。
还有哪些方法?模型“蒸馏”。
令人惊讶的是,DeepSeek 还发布了通过“蒸馏”过程训练的较小模型。但在这种情况下,蒸馏不一定遵循传统的知识蒸馏方法。传统知识蒸馏是指较小的学生模型同时基于较大教师模型的 logits 和目标数据集进行训练。
在这种情况下,蒸馏指的是对较小的大语言模型(如 Llama 8B 和 70B,以及 Qwen 2.5 模型 0.5B 至 32B)进行指令微调,使用的 SFT 数据集由较大的模型(如 DeepSeek-V3 和 DeepSeek-R1 的中间检查点)生成。事实上,用于此蒸馏过程的 SFT 数据与训练 DeepSeek-R1 时使用的数据集相同。
开发这些蒸馏模型的原因有两个:
1. 较小模型更高效,运行成本更低,且能在低端硬件上运行,这对许多研究者和爱好者尤其有吸引力。
2. 纯 SFT 的案例研究,这些蒸馏模型作为有趣的基准,展示了在不使用强化学习的情况下,纯监督微调能将模型推多远。
如下表所示,蒸馏模型明显弱于 DeepSeek-R1,但相对于 DeepSeek-R1-Zero 表现出惊人的实力,尽管它们的规模小得多。
!蒸馏模型对比
_图注:DeepSeek R1 技术报告(https://arxiv.org/abs/2501.12948)中蒸馏模型与非蒸馏模型的基准对比。_
总结与展望
本文讨论了构建和改进推理模型的四种不同策略:
1. 推理时扩展:不需要额外训练,但会增加推理成本,随着用户数量或查询量的增长,大规模部署成本更高。尽管如此,它仍是提升已有强大模型性能的明智选择。我认为 o1 利用了推理时扩展,这也解释了其每 token 成本高于 DeepSeek-R1 的原因。
2. 纯强化学习:对研究很有意义,因为它提供了推理作为浮现行为的洞见。然而,在实际模型开发中,RL 和 SFT 结合是更优选择,能造就更强大的推理模型。
3. RL 和 SFT 结合:是构建高性能推理模型的关键方法,DeepSeek-R1 是一个很好的蓝图。
4. 蒸馏:是创建更小、更高效模型的有吸引力方法,但其局限在于无法推动创新或产生下一代推理模型,因为蒸馏总是依赖于现有更强模型生成 SFT 数据。
我期待看到 RL 与 SFT 结合(方法 3)与推理时扩展(方法 1)的融合,这可能是 OpenAI o1 正在做的方向,但它可能基于一个比 DeepSeek-R1 更弱的基础模型,这也解释了 DeepSeek-R1 在推理时成本相对较低但性能卓越的原因。
对 DeepSeek R1 的看法
近几周,许多人询问我对 DeepSeek-R1 模型的看法。总的来说,我认为这是一个了不起的成就。作为一名研究工程师,我尤其欣赏详细的技术报告,它提供了我可以学习的洞见。
最重要的发现之一是推理能力如何通过纯 RL 作为一种行为浮现。令人印象深刻的是,DeepSeek 以宽松的 MIT 开源许可证开源了他们的模型,甚至比 Meta 的 Llama 模型限制更少。
与 o1 相比怎么样?
DeepSeek-R1 是否比 o1 更好?我想说它们大致在同一水平线上。然而,DeepSeek-R1 在推理时更高效,这表明 DeepSeek 可能在训练过程中投入了更多资源,而 OpenAI 可能更依赖于 o1 的推理时扩展。
需要注意的是,直接比较 o1 和 DeepSeek-R1 较为困难,因为 OpenAI 并未披露 o1 的太多细节。例如,我们不知道 o1 是否为专家混合模型(MoE)、其规模如何、是否仅是 GPT-4o 的轻微改进版本加上推理时扩展。
预算有限时如何开发推理模型
开发像 DeepSeek-R1 这样的推理模型可能需要数十万到数百万美元,即使从 DeepSeek-V3 这样的开源基础模型开始。这对预算有限的研究者或工程师来说可能令人沮丧。
好消息:蒸馏很有潜力
幸运的是,模型蒸馏提供了一个更具成本效益的替代方案。DeepSeek 团队通过 R1 蒸馏模型证明了这一点,尽管这些模型比 DeepSeek-R1 小得多,但仍实现了令人惊讶的推理性能。
此外,一些低成本项目也展示了可能性。例如,Sky-T1 项目使用仅 17K 个 SFT 样本训练了一个 32B 参数的开源模型,总成本仅为 450 美元,比大多数 AI 会议的注册费还低。而 TinyZero 项目则以不到 30 美元的成本训练了一个 3B 参数模型,复制了 DeepSeek-R1-Zero 的纯 RL 方法,展现出一定的自验证能力。
这些项目显示,即使预算有限,也能在推理模型领域开展有趣的工作。未来,结合错误路径的“旅程学习”(Journey Learning)等创新方法可能为低预算开发带来更多可能性。通过将错误推理路径及其纠正纳入训练数据,旅程学习可能增强模型的自纠能力,使推理模型更加可靠。
希望本文能为您带来有关推理型大语言模型的深刻洞见,帮助您在人工智能快速发展的今年找到新的灵感和方向!请继续关注我们,探索更多关于推理模型的深入研究和应用。
参考链接:https://magazine.sebastianraschka.com/p/understanding-reasoning-llms