引言
在AI(或机器学习)领域,很多定义模糊且备受争议,“推理模型”也不例外。在本文中,“推理”被定义为回答需要复杂、多步骤生成并包含中间步骤的问题的过程。例如,“法国的首都是哪里?”这种事实问答不涉及推理,而“如果一列火车以每小时60英里的速度行驶3小时,它能走多远?”则需要简单推理,要认识到距离、速度和时间之间的关系才能得出答案。
大多数大语言模型都具备基本推理能力,能回答简单推理问题。但推理模型是指在更复杂推理任务(如解决谜题、谜语和数学证明)中表现出色的大语言模型,且现在多数推理模型在回复中包含“思考”或“思维”过程。推理模型的中间步骤有两种呈现方式,一是明确包含在回复中,二是像OpenAI的o1等一些推理大语言模型,会运行多个迭代的中间步骤,但不显示给用户。
何时使用推理模型
推理模型擅长解决复杂任务,如谜题、高级数学问题和具有挑战性的编程任务。但对于简单任务,如摘要、翻译或基于知识的问题回答,并非必需。若将推理模型用于所有任务,会导致效率低下、成本高昂,还可能因“过度思考”而出错。我们需根据任务选择合适的工具或大语言模型 。
概述DeepSeek训练流程
DeepSeek发布了三个不同的变体:DeepSeek - R1 - Zero、DeepSeek - R1和DeepSeek - R1 - Distill。
- DeepSeek - R1 - Zero:在DeepSeek - V3基模基础上,直接应用强化学习,不使用任何SFT数据进行冷启动。
- DeepSeek - R1:在DeepSeek - V3基模基础上,先通过额外的SFT阶段和进一步的RL训练进一步精炼,改进了“冷启动”的R1 - Zero模型。
- DeepSeek - R1 - Distill:使用前面步骤中生成的SFT数据,对Qwen和Llama模型进行了微调,以增强其推理能力,纯SFT。
四种构建和改进推理模型的方法
推理时间扩展
推理时间扩展指在推理时增加计算资源以提高输出质量。就像人类有更多时间思考复杂问题时能生成更好回答一样,我们可以应用一些技术鼓励大语言模型在生成答案时“多思考”。
提示工程是一种直接的推理时扩展方法,例如思维链(CoT)提示,在输入提示中加入“逐步思考”之类的短语,鼓励模型生成中间推理步骤,而不是直接跳到最终答案,在更复杂问题上通常(但不总是)会得到更准确结果 。
另一种推理时间扩展方法是使用投票和搜索策略。例如多数投票,让大语言模型生成多个答案,然后通过多数投票选择正确答案。也可以使用束搜索和其他搜索算法来生成更好的回答。
纯强化学习
DeepSeek R1论文的亮点之一是发现推理可以从纯强化学习(RL)中学习。与典型的RL方法(在RL之前先监督微调SFT)不同,DeepSeek - R1 - Zero仅使用强化学习进行训练,没有初始的SFT阶段,所以是“纯”的RL。
对于奖励,没有使用基于人类偏好的训练奖励模型,而是使用了准确性和格式奖励两种类型。准确性奖励使用LeetCode编译器验证编码答案,并使用确定性系统评估数学回答;格式奖励依赖于一个大语言模型裁判,以确保回答遵循预期的格式,例如将推理步骤放在<think>标签内。
这种方法能让大语言模型具备更强推理能力,尽管R1 - Zero不是表现最好的推理模型,但通过生成中间“思考”步骤展示了推理能力 。
监督微调和强化学习
实际上在RL之前包含一个SFT阶段很常见,OpenAI的o1很可能是使用类似方法训练的。
使用DeepSeek - R1 - Zero生成了“冷启动”SFT数据,首先用这些数据通过指令微调训练模型,然后经过RL阶段,在这个阶段不仅保留了DeepSeek - R1 - Zero的RL过程中使用的准确性和格式奖励,还增加了一致性奖励,以防止语言混合。在RL阶段之后是又一轮的SFT数据收集,再经过另一轮RL,最终的DeepSeek - R1模型与DeepSeek - R1 - Zero相比,性能有了显著提升。
纯监督微调(SFT)和蒸馏
DeepSeek还发布了通过“蒸馏”过程训练的较小模型。蒸馏指在由较大大语言模型生成的SFT数据集上对较小的大语言模型(如Llama 8B和70B以及Qwen 2.5模型(0.5B到32B))进行指令微调。
训练这些蒸馏模型有两个关键原因:一是较小的模型更高效,运行成本更低,可在较低端硬件上运行,更吸引研究者和大模型爱好者;二是纯SFT的方法研究,这些蒸馏模型作为有趣的基准,展示了纯监督微调(SFT)在没有强化学习的情况下能将模型提升到什么程度。
蒸馏模型明显弱于DeepSeek - R1,但与DeepSeek - R1 - Zero相比,尽管小了几个数量级,效果却很强。与o1 mini相比,这些模型的表现也相当不错。同时测试发现,对于较小的模型来说,蒸馏比纯RL更有效。
四种方法小结
- 推理时扩展:不需要额外训练,但会增加推理成本,大规模部署会更昂贵。不过对于已经表现强劲的模型仍是不错选择,o1很可能利用了推理时扩展,这也解释了为什么它每个标记成本比DeepSeek - R1更高。
- 纯RL:对于研究目的很有趣,能提供关于推理作为一种新兴行为的见解。但在实际模型训练中,RL + SFT是首选方法,因为能产生更强大的推理模型。
- RL + SFT:是构建高性能推理模型的关键方法。
- 蒸馏:是一种有吸引力的方法,特别是用于创建更小、更高效的模型。但局限性在于不能推动创新或产生下一代推理模型,因为蒸馏总是依赖于现有的、更强的模型来生成监督微调(SFT)数据。
关于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)、o1有多大、o1是否只是GPT - 4o的一个稍微改进版本,只有最少的RL + SFT和广泛的推理时扩展等。在不知道这些细节的情况下,直接比较就像比较苹果和橙子。
训练DeepSeek - R1的成本
有人提到约600万美元的训练成本,但可能混淆了DeepSeek - V3和DeepSeek - R1。600万美元的估计是基于每GPU小时2美元的假设和DeepSeek - V3最终训练运行所需的GPU小时数。DeepSeek团队从未披露R1的确切GPU小时或训练成本,所以任何成本估计都纯属猜测。无论如何,DeepSeek - R1是开源推理模型的重要里程碑,其推理时的高效性使其成为OpenAI的o1的有趣替代品。
在小成本下训练推理模型
训练一个DeepSeek - R1级别的推理模型可能需要数十万到数百万美元,这让预算有限的研究人员或工程师望而却步。但好消息是,模型蒸馏提供了更具成本效益的替代方案。
好消息:蒸馏可以走很远
DeepSeek团队的R1蒸馏模型展示了蒸馏的潜力,这些模型虽比DeepSeek - R1小得多,但推理性能出色。不过蒸馏也不是完全便宜的,蒸馏80万个SFT样本需要大量计算资源。在DeepSeek - R1发布前几天,看到关于Sky - T1的文章,使用仅1.7w SFT样本训练了一个开源32B模型,总成本只有450美元,说明较小的、有针对性的微调工作也能取得令人印象深刻的结果,且根据基准测试,Sky - T1的表现大致与o1相当。
预算上的纯RL:TinyZero
Sky - T1专注于模型蒸馏,在“纯RL”领域也有工作,如TinyZero,一个3B参数模型,复制了DeepSeek - R1 - Zero的方法,训练成本不到30美元。即使只有3B参数,TinyZero也表现出一些新兴的自我验证能力,支持了“推理可以通过纯RL在小模型中出现”的观点。
超越传统SFT:旅程学习
《O1 Replication Journey: A Strategic Progress Report – Part1》提出“旅程学习”作为“捷径学习”的替代方法。捷径学习指传统的指令微调方法,模型只使用正确的解决路径进行训练;旅程学习则包括错误的解决路径,让模型从错误中学习。这种方法与TinyZero纯RL训练中观察到的自我验证能力有关,专注于通过SFT完全改进模型。通过将模型暴露于错误的推理路径及其修正,旅程学习可能会强化自我纠正能力,使推理模型更可靠,这可能是未来低预算推理模型训练的一个令人兴奋的方向 。
引用参考
- DeepSeek-R1/DeepSeek_R1.pdf at main · deepseek-ai/DeepSeek-R1 · GitHub
- [2410.18982] O1 Replication Journey: A Strategic Progress Report -- Part 1
- Jiayi-Pan/TinyZero: Clean, minimal, accessible reproduction of DeepSeek R1-Zero
- Understanding Reasoning LLMs - by Sebastian Raschka, PhD
- Sky-T1: Train your own O1 preview model within $450
- Deepseek R1 最新复现进展: 该文章可能详细记录了 Deepseek R1 复现过程中的最新成果、遇到的问题以及解决方法等内容,为相关研究和实践提供了重要参考。
- DeepSeek - R1 是怎样炼成的:此文章或许深入剖析了 DeepSeek - R1 从理论构建到实际训练的整个过程,包括其背后的技术原理、创新点以及训练过程中的关键决策等。
- deepseek - r1 开源复现方法初步整理:主要对 deepseek - r1 开源复现的方法进行了初步梳理,涵盖了从环境搭建、数据准备到模型训练和优化等各个环节的要点和思路。
- Deepseek R1 Zero 成功复现,三阶段 RL,Response 长度涨幅超 50%,涌现语言混杂,double - check, Verify, Let's Summarize该文章详细阐述了 Deepseek R1 Zero 的成功复现过程,重点介绍了三阶段 RL 训练方法带来的效果,如 Response 长度大幅增长,同时还探讨了复现过程中出现的语言混杂等问题以及相应的验证和总结策略。