开云体育
一图看懂DeepSeek R1以及推理模型的四种训练方式开云体育官方
本文作者为Sebastian Raschka,一名机器学习和人工智能研究人员,在该领域拥有十多年的经验。他非常热衷于解释复杂的技术概念和“从人工智能中夺走魔力”。
本文描述了构建推理模型的主要四种方法,或我们如何增强LLMs的推理能力。
2024 年,LLM见证了越来越多的专业化。除了预训练和微调之外,我们还见证了从 RAG 到代码助手的专用应用兴起。我预计这一趋势将在 2025 年加速,对领域和应用特定优化(即“专业化”)的重视程度将更高。
阶段 1-3 是开发LLMs的常见步骤。阶段 4 专门针对LLMs的特定用例。
推理模型的开发是这些专业化的之一。这意味着我们优化LLMs以擅长通过中间步骤解决的最佳复杂任务,例如谜题、高级数学和编码挑战。然而,这种专业化并不取代其他LLM应用。因为将LLM转化为推理模型也引入了某些缺点,我将在稍后讨论。
如果您从事人工智能(或一般机器学习)工作,您可能对模糊且争议激烈的定义很熟悉。推理模型这一术语也不例外。最终,有人会在论文中正式定义它,但紧接着在下一次论文中又会重新定义,如此循环往复。
在这篇文章中,我将“推理”定义为回答需要复杂、多步骤生成并包含中间步骤的问题的过程。例如,“法国的首都是哪里?”这样的事实性问题不涉及推理。相比之下,“如果一列火车以每小时 60 英里的速度行驶,行驶了 3 小时,它会行驶多远?”这样的问题则需要一些简单的推理。例如,它需要识别距离、速度和时间之间的关系,才能得出答案。
一个常规的LLM可能只能提供一个简短的答案(如左图所示),而推理模型通常包括中间步骤,揭示部分思维过程。(注意:许多未专门为推理任务开发的LLMs在他们的答案中也可以提供中间推理步骤。)
大多数现代LLMs能够进行基本推理,并能回答诸如“如果一列火车以每小时 60 英里的速度行驶 3 小时,它会行驶多远?”这样的问题。因此,今天当我们提到推理模型时,我们通常指的是LLMs,它们擅长更复杂的推理任务,例如解决谜题、谜语和数学证明。
此外,目前大多数被标记为推理模型的LLMs都包括一个“思考”或“思维”过程作为其响应的一部分。LLM是否以及如何真正“思考”是另一个话题的讨论。
推理模型中的中间步骤可以以两种方式出现。首先,它们可能被明确包含在响应中,如图中所示。其次,一些推理LLMs,例如OpenAI的 o1,运行多次迭代,其中包含的中间步骤未向用户展示。
Reasoning 在两个不同的层面上使用:1)通过多个中间步骤处理输入并生成;2)作为对用户响应的一部分提供某种推理。
现在我们已经定义了推理模型,我们可以继续到更有趣的部分:如何构建和改进LLMs以用于推理任务。然而,在深入技术细节之前,考虑推理模型实际需要的时候是很重要的。
何时需要推理模型?推理模型旨在擅长解决复杂任务,如解谜、高级数学问题和具有挑战性的编码任务。然而,对于摘要、翻译或基于知识的问答等简单任务,它们并非必需。实际上,将推理模型用于一切可能会低效且昂贵。例如,推理模型通常使用成本更高,更冗长,有时由于“过度思考”而更容易出错。此外,这里也适用简单规则:为任务使用正确的工具(或类型LLM)。
在下一节讨论构建和改进推理模型的四种主要方法之前,我想简要概述 DeepSeek R1 流程,如 DeepSeek R1 技术报告所述。本报告既是一个有趣的案例研究,也是开发推理LLMs的蓝图。
开发过程涉及 DeepSeeks 三种不同的推理模型,这些模型在 DeepSeek R1 技术报告中进行了讨论。
接下来,让我们简要回顾上图所示的过程。更多细节将在下一节中介绍,我们将讨论构建和改进推理模型的四种主要方法。
(1) DeepSeek-R1-Zero:本模型基于 2024 年 12 月发布的 671B 预训练 DeepSeek-V3 基础模型。研究团队使用两种类型的奖励,通过强化学习(RL)对其进行训练。这种方法被称为“冷启动”训练,因为它不包括监督微调(SFT)步骤,而监督微调通常是包含人类反馈的强化学习(RLHF)的一部分。
在这一节中,我将概述目前用于增强LLMs推理能力的关键技术,以及构建 DeepSeek-R1、OpenAI 的 o1 和 o3 等专用推理模型的方法。
注意:o1 和 o3 的确切工作原理在 OpenAI 之外仍然未知。然而,据传闻它们利用了推理和训练技术的结合。
一种提高LLM推理能力(或任何一般能力)的方法是推理时扩展。这个术语可能有多种含义,但在这个上下文中,它指的是在推理过程中增加计算资源以提高输出质量。
一个粗略的类比是人类在有时间思考复杂问题时往往能产生更好的回应。同样,我们可以应用鼓励LLM在生成答案时“思考”更多的技术。(尽管,LLMs是否真的“思考”是另一个话题。)
一种直接的推理时间缩放方法是巧妙的提示工程。一个经典的例子是思维链(CoT)提示,其中在输入提示中包含诸如“逐步思考”之类的短语。这鼓励模型生成中间推理步骤,而不是直接跳到最终答案,这在更复杂的问题上往往(但不总是)能导致更准确的结果。(请注意,对于像“法国的首都是什么”这样的简单基于知识的问题,采用这种策略是没有意义的,这又是一个很好的经验法则,用来判断推理模型是否适用于你的给定输入查询。)
上述 CoT 方法可以看作是推理时间缩放,因为它通过生成更多输出标记使推理更加昂贵。
另一种推理时间缩放的方法是使用投票和搜索策略。一个简单的例子是多数投票,我们生成多个答案,并通过多数投票选择正确答案。同样,我们可以使用束搜索和其他搜索算法来生成更好的响应。
我强烈推荐我在 2024 年值得注意的人工智能研究论文(第二部分)文章中描述的《在测试时优化缩放LLM计算可能比缩放模型参数更有效》这篇论文,更多关于这些不同策略的细节请参阅()。
不同基于搜索的方法依赖于基于过程奖励的模型来选择最佳答案。来自LLM 测试时计算论文的注释图,
《DeepSeek R1 技术报告》指出,其模型不使用推理时缩放。然而,这项技术通常在 LLM 的应用层实现,因此 DeepSeek 可能在他们的应用中应用了这项技术。
我怀疑 OpenAI 的 o1 和 o3 模型使用了推理时缩放,这可以解释为什么它们相对于 GPT-4o 等模型来说相对昂贵。除了推理时缩放之外,o1 和 o3 可能还使用了类似于 DeepSeek R1 所使用的 RL 管道进行训练。下两节将详细介绍强化学习。
我的个人亮点之一来自 DeepSeek R1 论文,他们发现推理作为纯强化学习(RL)的行为出现。让我们更详细地探讨这意味着什么。
如前所述,DeepSeek 开发了三种类型的 R1 模型。第一种,DeepSeek-R1-Zero,是在 DeepSeek-V3 基础模型之上构建的,这是他们在 2024 年 12 月发布的标准预训练LLM。与典型的 RL 流水线不同,其中在 RL 之前应用了监督微调(SFT),DeepSeek-R1-Zero 完全使用强化学习进行训练,没有初始的 SFT 阶段,如图下所示。
尽管如此,这个 RL 过程与常用的 RLHF 方法相似,通常应用于偏好调整LLMs。(我在我的文章中详细介绍了 RLHF,LLM 训练:RLHF 及其替代方案。)然而,如上所述,DeepSeek-R1-Zero 的关键区别在于它们跳过了指令微调(SFT)阶段。这就是为什么他们称之为“纯”RL。(尽管,LLMs 上下文中的 RL 与传统 RL 有显著区别,这是另一个话题。)
为了奖励,他们没有使用基于人类偏好的奖励模型,而是采用了两种类型的奖励:准确度奖励和格式奖励。
准确性奖励使用 LeetCode 编译器验证编码答案,并使用确定性系统评估数学响应。
格式奖励依赖于一个LLM评委来确保响应遵循预期的格式,例如将推理步骤放在标签内。
令人惊讶的是,这种方法足以让LLM发展基本的推理技能。研究人员观察到“啊哈!”的时刻,模型开始在其响应中生成推理轨迹,尽管它并未被明确训练这样做,如图下所示。
一张来自 DeepSeek R1 技术报告()的图表,展示了“啊哈”时刻的出现。
尽管 R1-Zero 不是一个表现优异的推理模型,但它通过生成中间的“思考”步骤,如图所示,展示了推理能力。这证实了使用纯强化学习(RL)开发推理模型是可能的,DeepSeek 团队是第一个(至少是第一个公开)展示这种方法的团队。
接下来,让我们看看 DeepSeek-R1 的发展,这是 DeepSeek 的旗舰推理模型,也是构建推理模型的蓝图。该模型通过引入额外的监督微调(SFT)和强化学习(RL)来提升其推理性能。
请注意,在 RL 之前包含 SFT 阶段实际上是常见的,如标准 RLHF 流程所示。OpenAI 的 o1 可能就是采用类似方法开发的。
使用此冷启动 SFT 数据,DeepSeek 随后通过指令微调训练模型,随后进入另一个强化学习(RL)阶段。此 RL 阶段保留了 DeepSeek-R1-Zero 的 RL 过程中使用的相同准确性和格式奖励。然而,他们增加了一致性奖励,以防止在模型在多个语言之间切换时发生语言混合。
RL 阶段之后,又进行了一轮 SFT 数据收集。在这个阶段,使用了最新的模型检查点生成了 600K 思维链(CoT)SFT 示例,同时使用 DeepSeek-V3 基础模型创建了额外的 200K 基于知识的 SFT 示例。
这些 60 万+20 万 SFT 样本随后用于另一轮强化学习。在这个阶段,他们再次使用基于规则的算法来为数学和编码问题提供准确性奖励,而用于其他问题类型的是人类偏好的标签。
1. 推理时缩放,一种在不训练或修改底层模型的情况下提高推理能力的技巧。
2. 纯强化学习(RL)如 DeepSeek-R1-Zero,它表明推理可以作为一种学习行为出现,无需监督微调。
令人惊讶的是,DeepSeek 还发布了通过他们称为蒸馏的过程训练的小型模型。然而,在 LLMs 的背景下,蒸馏并不一定遵循深度学习中使用的经典知识蒸馏方法。传统上,在知识蒸馏(如我在《机器学习Q 和 AI》一书的第 6 章中简要描述的),一个较小的学生模型在较大的教师模型的 logits 和目标数据集上训练。
1. 小型模型更高效。这意味着它们运行成本更低,但也可以在低端硬件上运行,这使得它们对许多像我这样的研究人员和爱好者特别有趣。
2. 纯 SFT 的一个案例研究。这些提炼出的模型作为一个有趣的基准,展示了纯监督微调(SFT)在无需强化学习的情况下可以将模型带到多远。
基准对比蒸馏模型与非蒸馏模型。来自 DeepSeek-R1 技术报告的注释图()。
如我们所见,蒸馏模型在性能上明显弱于 DeepSeek-R1,但相对于 DeepSeek-R1-Zero,它们的强度却出人意料地高,尽管体积小得多。同时,这些模型与 o1 mini 相比的表现也相当引人注目(我怀疑 o1-mini 本身可能也是 o1 的一个类似蒸馏版本)。
在结束本节之前,有一个有趣的比较值得一提。DeepSeek 团队测试了在 DeepSeek-R1-Zero 中观察到的涌现推理行为是否也会出现在更小的模型中。为了研究这个问题,他们直接将 DeepSeek-R1-Zero 中的相同纯强化学习(RL)方法应用于 Qwen-32B。
实验结果总结在下表中,其中 QwQ-32B-Preview 作为基于 Qwen 2.5 32B 的参考推理模型,由 Qwen 团队开发(我认为训练细节从未公开)。这次比较为是否仅纯强化学习(RL)能够诱导模型在 DeepSeek-R1-Zero 远小得多的模型中产生推理能力提供了额外的见解。
基准比较在较小的 32B 模型上的蒸馏和 RL。来自 DeepSeek-R1 技术报告的标注图()。
有趣的是,结果表明蒸馏在小型模型中比纯强化学习更有效。这与这样一个观点相符,即仅强化学习可能不足以在如此规模的模型中诱导出强大的推理能力,而使用高质量推理数据进行强化学习(SFT)在处理小型模型时可能是一种更有效的策略。
2. 使用纯 SFT 训练的 DeepSeek-V3,类似于蒸馏模型创建的方式。这将允许直接比较,以查看 RL + SFT 相对于纯 SFT 的有效性。
1. 推理时缩放不需要额外的训练,但会增加推理成本,随着用户数量或查询量的增加,大规模部署变得更加昂贵。然而,对于提高现有强大模型的性能来说,这仍然是不言而喻的。我强烈怀疑 o1 利用了推理时缩放,这有助于解释为什么它在每个标记上的成本比 DeepSeek-R1 更高。
2. 纯粹的强化学习(RL)对研究目的来说很有趣,因为它提供了关于推理作为涌现行为的见解。然而,在实际模型开发中,RL + SFT 是首选方法,因为它能导致更强的推理模型。我强烈怀疑 o1 也是使用 RL + SFT 进行训练的。更准确地说,我认为 o1 从一个比 DeepSeek-R1 弱、更小的基础模型开始,但通过 RL + SFT 和推理时间缩放进行补偿。
3. 如上所述,RL + SFT 是构建高性能推理模型的关键方法。DeepSeek-R1 是一个展示如何实现这一点的良好蓝图。
4. 蒸馏是一种有吸引力的方法,尤其是用于创建更小、更高效的模型。然而,其局限性在于蒸馏不能推动创新或产生下一代推理模型。例如,蒸馏始终依赖于现有的、更强的模型来生成监督微调(SFT)数据。
一个我期待看到的有趣方面是将 RL + SFT(方法 3)与推理时缩放(方法 1)相结合。这很可能是 OpenAI o1 所做的事情,但它可能基于比 DeepSeek-R1 更弱的基模型,这解释了为什么 DeepSeek-R1 在推理时表现如此出色,同时相对便宜。
在最近几周,许多人向我询问我对 DeepSeek-R1 模型的看法。简而言之,我认为这是一项了不起的成就。作为一名研究工程师,我特别欣赏那份详细的技术报告,它提供了我可以从中学习的方法论见解。
其中最令人着迷的收获之一是推理如何从纯强化学习(RL)中演变成为一种行为。而且,DeepSeek 在 MIT 许可下开源他们的模型,这种许可比 Meta 的 Llama 模型限制更少,这令人印象深刻。
DeepSeek-R1 是否优于 o1?我认为它们大致在同一水平。然而,突出的是 DeepSeek-R1 在推理时间上更高效。这表明 DeepSeek 可能在训练过程中投入了更多,而 OpenAI 可能更依赖于 o1 的推理时间扩展。
说到这里,直接比较 o1 和 DeepSeek-R1 是有难度的,因为 OpenAI 并未透露太多关于 o1 的信息。例如,我们不知道:
o1 只是 GPT-4o 的一个略微改进版本,加上最小量的强化学习+微调,以及仅在推理时间上进行大规模扩展吗?
另一个讨论点是开发 DeepSeek-R1 的成本。有人提到大约 600 万美元的训练成本,但他们可能混淆了 DeepSeek-V3(去年 12 月发布的基座模型)和 DeepSeek-R1。
600 万美元的估计基于假设的每 GPU 小时 2 美元以及 DeepSeek-V3 最终训练运行所需的 GPU 小时数,这一线 月讨论的。
然而,DeepSeek 团队从未披露 R1 的确切 GPU 小时数或开发成本,因此任何成本估计都纯粹是猜测。
无论哪种方式,最终 DeepSeek-R1 是开放重量推理模型的一个重大里程碑,其在推理时间上的效率使其成为 OpenAI 的 o1 的一个有趣替代品。
开发一个 DeepSeek-R1 级别的推理模型可能需要数十万到数百万美元,即使是从像 DeepSeek-V3 这样的开放权重基础模型开始。这可能会让预算有限的科研人员或工程师感到沮丧。
幸运的是,模型蒸馏提供了一种更具成本效益的替代方案。DeepSeek 团队通过他们的 R1 蒸馏模型展示了这一点,尽管这些模型比 DeepSeek-R1 小得多,但它们实现了令人惊讶的强大推理性能。然而,即使这种方法也不是完全便宜的。他们的蒸馏过程使用了 800K SFT 样本,这需要大量的计算资源。
有趣的是,就在 DeepSeek-R1 发布的前几天,我看到了一篇关于 Sky-T1 的文章,这是一个令人着迷的项目,一个小团队仅使用 17K SFT 样本训练了一个开放重量的 32B 模型。总成本?只需 450 美元,这还不到大多数 AI 会议的注册费。
这个例子突出显示,尽管大规模训练仍然昂贵,但较小的、有针对性的微调工作仍然可以在成本的一小部分内产生令人印象深刻的成果。
根据他们的基准,Sky-T1 的表现与 o1 大致相当,考虑到其低廉的训练成本,这令人印象深刻。
虽然 Sky-T1 专注于模型蒸馏,我也在“纯强化学习”领域遇到了一些有趣的工作。一个值得注意的例子是 TinyZero,一个具有 30 亿参数的模型,它复制了 DeepSeek-R1-Zero 方法(旁注:训练成本低于 30 美元)。
令人惊讶的是,即使只有 30 亿个参数,TinyZero 也展现出一些自验证的能力,这支持了通过纯强化学习(RL)甚至在小模型中也能产生推理的观点。
TinyZero 仓库提到,一份研究报告仍在进行中,我肯定会密切关注更多细节。
一张来自 TinyZero 仓库()的图表显示该模型能够进行自我验证。(看到基础模型对此的反应将会很有趣。)
上述提到的两个项目表明,即使在有限的预算下,进行推理模型的有意思的工作也是可能的。虽然这两种方法都复制了 DeepSeek-R1 的方法,一个专注于纯强化学习(TinyZero),另一个专注于纯强化学习(Sky-T1),但探索这些想法如何进一步扩展将是非常有趣的。
去年我遇到的一个特别有趣的方法在论文《O1 复制之旅:战略进展报告——第一部分》中有描述。尽管标题如此,这篇论文实际上并没有复制 o1。相反,它介绍了一种不同的方法来改进蒸馏(纯 SFT)过程。
快捷学习指的是在指令微调中的传统方法,其中模型仅使用正确解决方案路径进行训练。
这种方法与 TinyZero 纯强化学习训练中观察到的自我验证能力有关,但侧重于通过 SFT 完全改进模型。通过让模型接触错误的推理路径及其纠正,旅程学习也可能加强自我纠正能力,从而可能使推理模型更加可靠。
旅程学习,与传统捷径学习相反,包括 SFT 数据中的错误解决方案路径。O1 复制旅程注释图:战略进展报告——第一部分()
这可能是未来工作的一个令人兴奋的方向,尤其是对于低成本推理模型开发,其中基于强化学习的方法可能在计算上不切实际。
无论如何,目前推理模型方面正在进行许多有趣的工作,我确信在接下来的几个月里我们将看到更多令人兴奋的工作!