构建和完善推理模型的方法与策略
2025年2月5日塞巴斯蒂安·拉施卡,博士
本文描述了构建推理模型的四种主要方法,或者说我们如何增强大型语言模型(LLMs)的推理能力。我希望这能提供有价值的见解,并帮助您在快速发展的文献和围绕这一主题的炒作中进行导航。
在2024年,LLM领域见证了日益增长的专业化。除了预训练和微调,我们还目睹了专用应用的崛起,从RAG到代码助手。我预计这一趋势将在2025年加速,特别强调领域和应用特定的优化(即“专业化”)。
推理模型的发展是这些专业化之一。这意味着要优化大型语言模型(LLMs),使其在复杂任务中表现出色,这些任务最好通过中间步骤来解决,例如谜题、高级数学和编码挑战。然而,这种专业化并不取代其他LLM应用。因为将LLM转变为推理模型也会引入某些缺点,我将在后面讨论。
为了让您简要了解下面的内容,在本文中,我将:
1.解释“推理模型”的含义 2.讨论推理模型的优缺点 3.概述DeepSeek R1背后的方法论 4.描述构建和改进推理模型的四种主要方法 5.分享DeepSeek V3和R1发布后对LLM领域的看法 6.提供在预算紧张的情况下开发推理模型的建议
我希望您觉得这篇文章有用,因为人工智能在今年继续快速发展。
我们如何定义“推理模型”?
如果你从事人工智能(或一般的机器学习)工作,你可能对va和备受争议的定义有所了解。“推理模型”这个术语也不例外。最终,某人会在一篇论文中正式定义它,但在下一篇论文中又会被重新定义,依此类推。
在本文中,我将“推理”定义为回答需要复杂的多步骤生成及中间步骤的问题的过程。例如,像“法国的首都是什么?”这样的事实问答并不涉及推理;相反,像“如果一列火车以每小时60英里行驶并行驶3小时,它走了多少?”这样的问题则需要一些简单的推理。例如,它需要在得出答案之前识别距离、速度和时间之间的关系。
AregularLLMmayonlyprovideashortanswer(asshownontheleft),whereasreasoningmodelstypicallyincludeintermediatestepsthatrevealpartofthethoughtprocess.(NotethatmanyLLMswhohavenotbeenspecificallydevelopedforreasoningtaskscanalsoprovideintermediatereasoningstepsintheiranswers.)
大多数现代大型语言模型(LLMs)能够进行基本推理,并可以回答诸如“火车以60英里每小时的速度行驶,行驶3小时,它走了多远?”这样的问题。因此,今天当我们提到推理模型时,通常指的是在更复杂的推理任务中表现出色的LLMs,例如解决难题、谜语和数学证明。
此外,今天大多数被称为推理模型的LLM在其响应中包含“思考”或“思维”过程。LLM是否以及如何实际“思考”是一个单独的讨论。
推理模型中的中间步骤可以以两种方式出现。首先,它们可能会明确地包含在响应中,如前面的图所示。其次,一些推理LLM,例如OpenAI的o1,会运行多个迭代,其中的中间步骤不会向用户显示。
我们何时应该使用推理模型?
现在我们已经定义了推理模型,我们可以进入更有趣的部分:如何构建和改进用于推理任务的LLM。然而,在深入技术细节之前,考虑推理模型何时真正需要是很重要的。
我们什么时候需要推理模型?推理模型旨在处理复杂任务,例如解决难题、高级数学问题和具有挑战性的编码任务。然而,对于像摘要、翻译或基于知识的问题回答这样的简单任务,它们并不是必需的。事实上,使用推理模型来处理所有事情可能效率低下且成本高昂。例如,推理模型通常使用起来更昂贵、更冗长,并且有时由于“过度思考”而更容易出错。在这里,简单的规则适用:为任务使用合适的工具(或类型的LLM)。
推理模型的主要优点和局限性在下图中总结。
Thekeystrengthsandweaknessesofreasoningmodels.
对DeepSeek训练流程的简要介绍
在下一节讨论构建和改进推理模型的四种主要方法之前,我想简要概述一下DeepSeek R1管道,如DeepSeek R1技术报告中所述。该报告既是一个有趣的案例,也是开发推理LLM的蓝图。
请注意,DeepSeek并没有发布单一的R1推理模型,而是推出了三个不同的变体:DeepSeek-R1-Zero、DeepSeek-R1和DeepSeek-R1-Distill。
根据技术报告中的描述,我在下面的图表中总结了这些模型的开发过程。
接下来,让我们简要回顾一下上面图表中显示的过程。更多细节将在下一部分中讨论,我们将讨论构建和改进推理模型的四种主要方法。
(1) DeepSeek-R1-Zero:该模型基于2024年12月发布的671B预训练DeepSeek-V基础模型。研究团队使用强化学习(RL)和两种类型的奖励对其进行了训练。这种方法被称为“冷启动”训练,因为它没有包括通常作为人类反馈强化学习(RLHF)一部分的监督微调(SFT)步骤。
(2) DeepSeek-R1:这是DeepSeek的旗舰推理模型,基于DeepSeek-R1-Zero构建。团队通过额外的SFT阶段进一步优化了它。
RL训练,改进“冷启动”R1-Zero模型。
(3) DeepSeek-R1-Distill*:使用在前面的步骤中生成的SFT数据,DeepSeek团队对Qwen和Llama模型进行了微调,以增强它们的推理能力。虽然这不是传统意义上的蒸馏,但这个过程涉及在来自大型DeepSeek-R1 671B模型的输出上训练较小的模型(Llama 8B和70B,以及Qwen 1.5B–30B)。
构建和改进推理模型的四种主要方法
在本节中,我将概述当前用于增强LLM推理能力的关键技术,以及构建专门推理模型的方法,如DeepSeek-R1、OpenAI的o1和o3等。
注意:o1和o3的确切工作原理在OpenAI之外仍然未知。然而,传闻它们利用了推理和训练技术的结合。
1)推理时间缩放
提高大型语言模型(LLM)推理能力(或一般能力)的一种方法是推理时间扩展。这个术语可以有多种含义,但在这个上下文中,它指的是在推理过程中增加计算资源以提高输出质量。
一个粗略的类比是,人类在有更多时间思考复杂问题时,往往能够产生更好的回应。同样,我们可以应用一些技术,鼓励LLM在生成答案时“思考”得更多。(尽管,LLM是否真的“思考”是另一个讨论。)
一种直接的推理时间缩放方法是巧妙的提示工程。一个经典的例子是chain-of-thought(CoT)prompting,其中输入提示中包含“逐步思考”等短语。这鼓励模型生成中间推理步骤,而不是直接跳到最终答案。
通常(但并非总是)会导致在更复杂问题上获得更准确的结果(请注意,对于更简单的知识基础问题,例如“法国的首都是什么”,采用这种策略是没有意义的,这再次是一个很好的经验法则,可以帮助您判断推理模型在给定输入查询上的合理性。)
AnexampleofclassicCoTpromptingfromthe2022LargeLanguageModelsareZero-ShotReasonerspaper(https://arxiv.org/abs/2205.11916).
上述的CoT方法可以被视为推理时间的扩展,因为它通过生成更多的输出标记使推理变得更加昂贵。
另一种推理时间缩放的方法是使用投票和搜索策略。一个简单的例子是多数投票,我们让LLM生成多个答案,然后通过多数投票选择正确的答案。类似地,我们可以使用束搜索和其他搜索算法来生成更好的响应。
我强烈推荐我在之前的《2024年值得注意的人工智能研究论文(第二部分)》文章中描述的ScalingLLMTest-TimeComputeOptimallycanbeMoreEffectivethanScalingModelParameters论文(https://magazine.sebastianraschka.com/p/ai-research-papers-2024-part-2),以获取有关这些不同策略的更多细节。
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月发布的标准预训练LLM。与典型的RL流水线不同,DeepSeek-R1-Zero在没有初始SFT阶段的情况下,完全通过强化学习进行训练,如下图所示。
尽管如此,这个RL过程与常用的RLHF方法相似,后者通常用于偏好调优LLMs。(我在我的文章中更详细地介绍了RLHF,LLMTraining:RLHFandItsAlternatives。)然而,如上所述,DeepSeek-R1-Zero中的关键区别在于他们跳过了监督微调(SFT)阶段的指令调优。这就是为什么他们称之为“纯”RL的原因。(尽管,RL在
LLMs的背景与传统的强化学习(RL)有显著不同,这是另一个时间的话题。
对于奖励,他们没有使用基于人类偏好的奖励模型,而是采用了两种类型的奖励:准确性奖励和格式奖励。
准确性奖励使用LeetCode编译器来验证编码答案,这是一个确定性系统,用于评估数学响应。格式奖励依赖于LLM评审,以确保响应遵循预期格式,例如将推理步骤放在