专栏名称: 吃果冻不吐果冻皮
专注于AI工程化(LLM、MLOps、LLMOps、RAG、Agent)落地。
目录
相关文章推荐
每天学点做饭技巧  ·  45岁导演饺子成都街头被偶遇,穿橙色冲锋衣搭 ... ·  8 小时前  
每天学点做饭技巧  ·  陈晓被曝离婚原因炸裂!净身出户不争娃,曾在台 ... ·  2 天前  
柠檬工会  ·  起猛了,百度接入DeepSeek R1满血版了! ·  2 天前  
51好读  ›  专栏  ›  吃果冻不吐果冻皮

从 DeepSeek R1 论文深入理解推理型大模型

吃果冻不吐果冻皮  · 公众号  ·  · 2025-02-16 10:58

正文

者:Sebastian Raschka|编译:段小草

原文: https://magazine.sebastianraschka.com/p/understanding-reasoning-llms

本文将介绍构建推理型模型的四种主要方法,以及如何增强大语言模型的推理能力。希望这篇文章能为您提供有价值的见解,帮助您更好地了解和应对关于这一主题的快速发展的论文和炒作。

在2024年,大语言模型领域出现了越来越多的专业化趋势。除了预训练和微调之外,我们还见证了诸如 RAG(生成增强检索)和代码助手等专用应用的兴起。我预计这一趋势将在 2025 年进一步加速,届时将更加注重针对特定领域和应用的优化(即「专业化」)。

第 1-3 阶段是开发 LLMs 的常见步骤。第 4 阶段是用于特定用例的专业 LLMs
第 1-3 阶段是开发 LLMs 的常见步骤。第 4 阶段是用于特定用例的专业 LLMs

推理型模型的开发正是这些专业化的一部分。这意味着我们将大语言模型进一步优化,使其能够在需要通过中间步骤解决的复杂任务中表现出色,比如解谜、复杂数学运算和编程挑战。然而,这种专业化并不会取代其他大语言模型应用。因为将大语言模型转化为推理型模型也会带来一些弊端,稍后我会详细讨论这些问题。

为了简要概述本文内容,接下来我将:

  • • 解释「推理型模型」的含义
  • • 讨论推理型模型的优缺点
  • • 概述 DeepSeek R1 的开发方法
  • • 描述构建和改进推理型模型的四种主要方法
  • • 分享 DeepSeek V3 和 R1 发布后对大语言模型领域的看法
  • • 提供在预算有限的情况下开发推理型模型的建议

希望这篇文章对您有所帮助,特别是在AI快速发展的今年!

我们如何定义「推理型模型」?

如果你从事人工智能或机器学习工作,可能会对那些模糊且争议不断的定义有所了解。「推理型模型」这一术语也不例外。最终,某人会在论文中正式定义它,但很快就会在下一篇文章中重新定义,如此循环。

在本文中,我将「推理」定义为回答那些需要复杂、多步骤生成并包含中间步骤的问题的过程。例如,像「法国的首都是哪里?」这样的事实性问题不涉及推理。相比之下,像「如果一列火车以 60 英里每小时的速度行驶,行驶 3 小时,它能走多远?」这样的问题则需要一些简单的推理。比如,它需要认识到距离、速度和时间之间的关系,然后得出答案。

常规LLM通常只会提供简短的答案(如左侧所示),而推理模型则通常包括一些中间步骤,这些步骤可以揭示思考过程的一部分。(需要注意的是,很多没有专门为推理任务开发的LLM,也可以在回答中提供一些中间的推理步骤。)
常规LLM通常只会提供简短的答案(如左侧所示),而推理模型则通常包括一些中间步骤,这些步骤可以揭示思考过程的一部分。(需要注意的是,很多没有专门为推理任务开发的LLM,也可以在回答中提供一些中间的推理步骤。)

大多数现代大语言模型(LLMs)都能够进行基本的推理,能回答像「如果一列火车以 60 英里每小时的速度行驶,行驶 3 小时,它能走多远?」这样的问题。因此,今天当我们提到推理型模型时,通常指的是那些在更复杂的推理任务中表现出色的大语言模型,例如解谜、猜谜和数学证明等。

此外,今天大多数被标榜为推理型模型的大语言模型在其回答中通常会包含「思考」或「思维」过程。至于大语言模型是否以及如何「思考」,这是一个独立的讨论话题。

推理型模型中的中间步骤有两种表现方式。首先,它们可能会显式地包含在答案中,如前面所示的图示。其次,一些推理型大语言模型,例如 OpenAI 的 o1,会进行多次迭代,每次迭代包含中间步骤,但这些步骤并不会显示给用户。

「推理」可以在两个层面上使用:1) 处理输入并通过多个中间步骤生成结果。2) 将某种推理作为回应的一部分提供给用户。
「推理」可以在两个层面上使用:1) 处理输入并通过多个中间步骤生成结果。2) 将某种推理作为回应的一部分提供给用户。

什么时候应该使用推理型模型?

在我们定义了推理型模型后,接下来可以进入更有趣的部分:如何构建和改进大语言模型以应对推理任务。然而,在深入技术细节之前,重要的是要考虑在什么情况下实际上需要推理型模型。

们什么时候需要推理型模型? 推理型模型的设计目的是擅长解决一些复杂任务,如解谜、进阶数学问题和具有挑战性的编程任务。然而,对于像总结、翻译或基于知识的问题回答这些简单任务,它们并不是必需的。实际上,使用推理型模型处理所有任务可能会导致低效且成本较高。例如,推理型模型通常使用成本较高,生成的回答更冗长,并且有时由于“过度思考”而更容易出错。在这里,有一个简单的原则:根据任务选择合适的工具(或大语言模型类型)。

推理型模型的主要优势和局限性总结如下图所示。

推理模型的关键优势和劣势
推理模型的关键优势和劣势

简要了解 DeepSeek 的训练流程

在下一部分讨论构建和改进推理型模型的四种主要方法之前,我想简要介绍一下 DeepSeek R1 的训练流程,这一流程在 DeepSeek R1 技术报告 [1] 中有详细描述。该报告不仅是一个有趣的案例研究,也为开发推理型大语言模型提供了蓝图。

需要注意的是,DeepSeek 并没有发布单一的 R1 推理型模型,而是推出了三个不同的变体:DeepSeek-R1-Zero、DeepSeek-R1 和 DeepSeek-R1-Distill。

根据技术报告中的描述,我总结了这些模型的开发过程,具体见下图。

DeepSeek 的开发过程,在 DeepSeek R1 技术报告中讨论了三种不同的推理模型
DeepSeek 的开发过程,在 DeepSeek R1 技术报告中讨论了三种不同的推理模型

接下来,让我们简要回顾一下上图所示的流程。更多的细节将在下一部分讨论,其中我们将介绍构建和改进推理型模型的四种主要方法。

(1) DeepSeek-R1-Zero :这个模型基于 2024 年 12 月发布的671B 预训练 DeepSeek-V3 基础模型。研究团队使用强化学习(RL)进行训练,并采用了两种类型的奖励。由于没有包含监督微调(SFT)步骤,这种训练方法被称为「冷启动」训练,而通常强化学习与人类反馈(RLHF)会包括这一微调步骤。

(2) DeepSeek-R1 :这是 DeepSeek 的旗舰推理型模型,建立在 DeepSeek-R1-Zero 的基础上。团队在此模型的基础上,进一步通过添加额外的 SFT 阶段和强化学习训练,改进了「冷启动」后的 R1-Zero 模型。

(3) DeepSeek-R1-Distill *:在前面的步骤中生成的 SFT 数据的基础上,DeepSeek 团队对 Qwen 和 Llama 模型进行了微调,以提升它们的推理能力。 虽然这并不是传统意义上的蒸馏(distillation),但该过程涉及对较小的模型(如Llama 8B和70B、Qwen 1.5B–30B)进行训练,使用的是来自较大 DeepSeek-R1 671B 模型的输出。

构建和改进推理型模型的四种主要方法

在这一部分,我将概述目前用来增强大语言模型推理能力的关键技术,以及如何构建像 DeepSeek-R1、OpenAI 的 o1 和 o3 等专用推理型模型。

注意 :OpenAI的o1和o3的具体工作原理仍然未知,但据传它们结合了推理和训练技术。

1、 推理时扩展(Inference-time Scaling)

提升大语言模型推理能力(或任何能力)的一个方法是推理时扩展。这个术语可以有多种含义,但在这个语境下,它指的是在推理阶段增加计算资源,以提高输出质量。

一个粗略的类比是,人类在面对复杂问题时,通常会在给定更多时间思考的情况下产生更好的回应。类似地,我们可以应用一些技术,鼓励大语言模型在生成答案时「思考」得更多。(当然,LLM 是否真的「思考」是另一个讨论话题。)

推理时扩展的一个简单方法是巧妙的提示工程。一个经典的例子是链式思维(Chain-of-Thought, CoT)提示,其中包括「Step-by-step 逐步思考」等短语。这可以鼓励模型生成中间的推理步骤,而不是直接跳到最终答案,这通常(但不总是)能在更复杂的问题上得出更准确的结果。(需要注意的是,对于像「法国的首都是哪里?」这样的简单知识性问题,采用这种策略是没有意义的,这也是判断推理型模型是否适用于给定查询的一个好规则。)

2022年《大型语言模型是 0-shot 推理器》论文(https://arxiv.org/abs/2205.11916)中的经典 CoT(Chain-of-Thought)提示示例
2022年《大型语言模型是 0-shot 推理器》论文(https://arxiv.org/abs/2205.11916)中的经典 CoT(Chain-of-Thought)提示示例

上述的CoT方法可以看作是推理时扩展,因为它通过生成更多的输出令牌,增加了推理的成本。

另一种推理时扩展的方法是使用投票和搜索策略。一个简单的例子是多数投票,我们让LLM生成多个答案,并通过多数票选出正确答案。类似地,我们也可以使用束搜索(beam search)和其他搜索算法来生成更好的答案。

我强烈推荐我在之前的《 2024年值得关注的AI研究论文(第二部分) [2] 》文章中提到的《 Scaling LLM Test-Time Compute Optimally Can be More Effective than Scaling Model Parameters [3] 》论文,它详细介绍了这些不同的策略。

不同的基于搜索的方法依赖于一个过程-奖励模型来选择最佳答案。来自《LLM测试时计算》论文的注释图,见:https://arxiv.org/abs/2408.03314
不同的基于搜索的方法依赖于一个过程-奖励模型来选择最佳答案。来自《LLM测试时计算》论文的注释图,见:https://arxiv.org/abs/2408.03314

DeepSeek R1 技术报告指出,其模型不使用推理时扩展。然而,这种技术通常在应用层面上实现,即在 LLM 之上进行扩展,因此 DeepSeek 很可能在其应用中使用了推理时扩展。

我怀疑 OpenAI 的 o1 和 o3 模型使用了推理时扩展,这也能解释为什么它们相比 GPT-4o 等模型相对较为昂贵。除了推理时扩展,o1 和 o3 可能还使用类似于 DeepSeek R1 的强化学习(RL)训练管线。有关强化学习的更多内容将在接下来的两部分中讨论。

2、纯强化学习(RL)

DeepSeek R1 论文中我个人最为关注的亮点之一是他们发现推理行为可以通过纯强化学习(RL)表现出来。让我们更详细地探讨这一发现的含义。

正如之前所提到的,DeepSeek 开发了三种类型的 R1 模型。第一种是 DeepSeek-R1-Zero,它基于 DeepSeek-V3 基础模型,这是他们在 2024 年 12 月发布的标准预训练大语言模型。与典型的强化学习管道不同,通常会在RL之前进行监督微调(SFT),但 DeepSeek-R1-Zero 是完全通过强化学习进行训练的,并没有经过初步的 SFT 阶段,正如下图所示。

图片
DeepSeek-R1-Zero 模型的开发过程

尽管如此,这种 RL 过程与常用的 RLHF(基于人类反馈的强化学习)方法相似,RLHF 通常用于偏好调整大语言模型。(我在之前的文章《 LLM 训练:RLHF 及其替代方案 [4] 》中详细讨论了 RLHF。)然而,如上所述,DeepSeek-R1-Zero 的关键区别在于,它跳过了用于指令调整的监督微调(SFT)阶段,这也是为什么他们称其为「纯 RL」。(虽然,在大语言模型中使用的 RL 与传统 RL 有显著不同,这个话题可以另开篇讨论。)

在奖励机制上,DeepSeek 并没有使用基于人类偏好训练的奖励模型,而是采用了两种类型的奖励:准确性奖励和格式奖励。

  • 准确性奖励 :通过使用 LeetCode 编译器验证编程答案,利用确定性系统来评估数学回应。
  • 格式奖励 :依赖一个大语言模型评审者来确保回答遵循预期的格式,比如将推理步骤放在标签内。

令人惊讶的是,这种方法足以让大语言模型发展出基本的推理能力。研究人员观察到一个「aha moment」(恍然大悟时刻),模型开始生成推理轨迹作为其回应的一部分,尽管并未明确训练它这么做,如下图所示。

来自DeepSeek R1技术报告(https://arxiv.org/abs/2501.12948)的图,展示了「Aha moment」的出现。
来自DeepSeek R1技术报告(https://arxiv.org/abs/2501.12948)的图,展示了「Aha moment」的出现。

虽然 R1-Zero 不是顶级推理模型,但它通过生成中间的「思考」步骤展现了推理能力,正如上图所示。这证明了使用纯强化学习开发推理模型是可行的,而且 DeepSeek 团队是第一个展示(或者至少发布)这种方法的团队。

3、监督微调与强化学习(SFT + RL)

接下来,我们来看 DeepSeek-R1 的发展,这是 DeepSeek 的旗舰推理型模型,也是构建推理型模型的蓝图。这个模型通过结合额外的监督微调(SFT)和强化学习(RL),改进了DeepSeek-R1-Zero,进一步提升了其推理表现。

需要注意的是,实际上在 RL 之前加入 SFT 阶段是很常见的,这也是标准 RLHF 管线中的做法。OpenAI 的 o1 模型很可能也采用了类似的方法。

DeepSeek-R1模型的开发过程
DeepSeek-R1模型的开发过程

如上图所示,DeepSeek 团队利用 DeepSeek-R1-Zero 生成了所谓的「冷启动」SFT数据。这里的「冷启动」指的是这些数据是通过 DeepSeek-R1-Zero 生成的,而 DeepSeek-R1-Zero 本身并没有经过任何监督微调(SFT)的训练。

使用这些冷启动的SFT数据,DeepSeek 进一步通过指令微调(instruction fine-tuning)训练了该模型,之后进行了另一个强化学习阶段。这个 RL 阶段保留了与 DeepSeek-R1-Zero 的 RL 过程相同的准确度和格式奖励。然而,他们还加入了一种一致性奖励,用于防止语言混杂问题,即当模型在响应中切换多个语言时发生的现象。

RL 阶段结束后,接着进行了另一轮 SFT 数据收集。在这一阶段,使用最新的模型检查点生成了 60 万个链式思维(CoT) SFT 示例,并利用 DeepSeek-V3 基础模型创建了另外 20 万个基于知识的 SFT 示例。

这 60 万个和 20 万个 SFT 样本随后被用于另一轮强化学习。在这一阶段,他们再次使用基于规则的方法来对数学和编程问题进行准确度奖励,同时使用人类偏好标签来处理其他问题类型。

最终模型 DeepSeek-R1 相较于 DeepSeek-R1-Zero 在性能上得到了显著提升,这得益于额外的 SFT 和 RL 阶段,如下表所示。

OpenAI A1与DeepSeek R1模型的基准比较。来自DeepSeek-R1技术报告(https://arxiv.org/abs/2501.12948)的注释图
OpenAI A1与DeepSeek R1模型的基准比较。来自DeepSeek-R1技术报告(https://arxiv.org/abs/2501.12948)的注释图

4、纯监督微调(SFT)与蒸馏

到目前为止,我们已经讨论了构建和改进推理型模型的三种关键方法:

  • 推理时扩展 ,一种无需训练或修改底层模型就能提升推理能力的技术。
  • 纯强化学习(RL) ,如 DeepSeek-R1-Zero 所展示的,它表明推理可以作为一种学习行为出现,而无需监督微调(SFT)。
  • 监督微调(SFT)+强化学习(RL) ,这导致了 DeepSeek 的旗舰推理型模型 DeepSeek-R1 的诞生。
    那么,剩下的是什么呢?那就是模型的「蒸馏」过程。

令人惊讶的是,DeepSeek 还发布了通过他们称之为「蒸馏」过程训练的小型模型。然而,在大语言模型的背景下,蒸馏并不一定遵循传统的深度学习知识蒸馏方法。传统的知识蒸馏(如在我的《机器学习问答》书中第六章中简要描述的那样)是通过训练一个较小的学生模型来学习一个较大教师模型的logits(即预测结果的分布),并在目标数据集上进行训练。

然而,在这里,蒸馏指的是对小型大语言模型(如 Llama 8B 和 70B,0.5B 至 32B 的 Qwen 2.5 模型)进行指令微调(SFT),这些微调数据集是由更大的大语言模型生成的。具体来说,这些更大的大语言模型包括 DeepSeek-V3 和 DeepSeek-R1 的中间检查点。实际上,用于蒸馏过程的 SFT 数据集与训练 DeepSeek-R1 时使用的数据集相同,如前面所述。

为了更清楚地说明这一过程,我在下图中突出显示了蒸馏部分。

DeepSeek-R1-Distill模型的开发过程
DeepSeek-R1-Distill模型的开发过程

为什么要开发这些蒸馏模型?

在我看来,主要有两个关键原因:

  • 小型模型更高效 。这意味着它们运行成本更低,但它们也可以在低端硬件上运行,这对许多研究人员和像我这样的爱好者来说尤其有吸引力。
  • 纯SFT的案例研究 。这些蒸馏模型作为一个有趣的基准,展示了纯监督微调(SFT)能将一个模型推向多远,而无需强化学习。

下表比较了这些蒸馏模型与其他流行模型的性能,以及 DeepSeek-R1-Zero 和 DeepSeek-R1 的表现。

蒸馏模型与非蒸馏模型的基准比较。来自DeepSeek-R1技术报告(https://arxiv.org/abs/2501.12948)的注释图。
蒸馏模型与非蒸馏模型的基准比较。来自DeepSeek-R1技术报告(https://arxiv.org/abs/2501.12948)的注释图。

如我们所见,蒸馏模型的表现明显弱于 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 开发的(我认为训练细节没有公开)。这个对比提供了一些额外的见解,帮助我们了解纯 RL 是否能够在比 DeepSeek-R1-Zero 更小的模型中诱发推理能力。

在一个较小的32B模型上进行蒸馏与强化学习(RL)的基准比较。来自 DeepSeek-R1 技术报告(https://arxiv.org/abs/2501.12948)的注释图
在一个较小的32B模型上进行蒸馏与强化学习(RL)的基准比较。来自 DeepSeek-R1 技术报告(https://arxiv.org/abs/2501.12948)的注释图

有趣的是,结果表明,对于较小的模型,蒸馏比纯 RL 要有效得多。这与单独使用 RL 无法有效地在这种小规模的模型中引发强大推理能力的观点一致,而高质量推理数据上的 SFT(监督微调)则在小型模型中更为有效。

为了完整起见,表格中如果能够增加以下对比会更有帮助:

  • Qwen-32B 通过 SFT + RL 训练 ,类似于 DeepSeek-R1 的开发方式。这有助于确定当 RL 与 SFT 结合时,相较于纯 RL 和纯 SFT,能带来多少改进。
  • DeepSeek-V3 通过纯 SFT 训练 ,类似于蒸馏模型的创建方式。这样可以直接对比 RL + SFT 与纯 SFT 的效果。

总结

在这一节中,我们探讨了构建和改进推理型模型的四种不同策略:

  • 推理时扩展 :无需额外训练,但增加了推理成本,随着用户数或查询量的增加,大规模部署变得更昂贵。然而,它依然是提升已有强大模型性能的有效方法。我强烈怀疑 o1 在使用推理时扩展,这有助于解释为什么 o1 每个 token 的成本较高。
  • 纯强化学习(RL) :对于研究目的来说,纯 RL 提供了关于推理作为一种新兴行为的有趣见解。然而,在实际的模型开发中,RL + SFT 是首选方法,因为它能产生更强大的推理模型。我强烈怀疑 o1 也是通过 RL + SFT 训练的。更准确地说,我认为 o1 是从一个比 DeepSeek-R1 较弱的小模型开始,通过 RL + SFT 和推理时扩展来弥补不足。
  • RL + SFT :正如前面所提到的,这是构建高性能推理型模型的关键方法。DeepSeek-R1 是一个很好的蓝图,展示了- 如何做到这一点。
  • 蒸馏 :对于创建较小、更高效的模型来说,蒸馏是一种很有吸引力的方法。然而,它的局限性在于,蒸馏并不会推动创新或产生下一代推理型模型。例如,蒸馏总是依赖于已有的、更强大的模型来生成监督微调(SFT)数据。

我预期接下来会看到将 RL + SFT(第 3 种方法)与推理时扩展(第 1 种方法)相结合的尝试。这很可能是 OpenAI o1 所采用的方式,除了它基于一个比 DeepSeek-R1 弱的基础模型,这也解释了为什么 DeepSeek-R1 在推理时更高效,且相对便宜。

对 DeepSeek-R1 的看法

最近,有很多人问我对 DeepSeek-R1 模型的看法。简而言之,我认为它们是一个了不起的成就。作为一名研究工程师,我特别欣赏他们的技术报告,它提供了他们方法论的深入见解,是我可以学习的宝贵资源。

其中最有趣的收获之一是推理行为如何从纯 RL 中作为一种新兴行为出现。并且令人印象深刻的是,DeepSeek 已经将他们的模型开源,并采用了 MIT 许可证,这比 Meta 的 Llama 模型的许可限制还要少。







请到「今天看啥」查看全文