| 导语
本期是李宏毅「生成式AI时代下的机器学习(2025)」系列课程第七讲《DeepSeek-R1 这类大型语言模型是如何进行「深度思考」(Reasoning)的?》的全程实录。课程将带您深入剖析大型语言模型进行「深度思考」(Reasoning)的内在机制,并系统性地揭示打造这类模型的四大核心路径。内容从剖析「测试时计算」(Testing Time Compute)这一核心理念入手,逐一拆解了从无需微调的思维链(CoT)与工作流设计,到需要微调的模仿学习与强化学习等多种技术,并最终以 DeepSeek-R1 的诞生过程为案例,看它如何通过多种方法的复杂融合,赋予模型解决复杂问题的强大推理能力。
| 课程概览
一、核心问题:什么是模型的“深度思考”?
- 定义:这并非指模型拥有与人类同质的意识或思考,而是一种特定的行为模式**:先生成一段包含自我验证、探索多种可能性、规划步骤的详细文本(内心戏),再输出最终答案。
- 基本原理:其本质是一种 “测试时计算”(Testing Time Compute),即在推理(Inference)阶段投入更多计算资源,以“长度换深度”,从而提升解决复杂问题的能力。这与AlphaGo在下棋时使用蒙特卡洛树搜索(MCTS)进行深度推演的理念一致。
二、打造深度思考模型的四种核心方法
课程将打造方法分为两大类,四种具体路径:
A. 无需微调模型的方法(适用于已有模型)
方法一:高级指令与提示 (Better CoT)
- 通过精心设计的提示词(Prompt),如“Let’s think step by step”或更复杂的监督式思维链 (Supervised CoT),引导模型自主生成详细的思考和验算过程。此方法依赖模型本身强大的指令遵循能力。
方法二:设计推理工作流 (Workflow)
-
强制模型进行多路径探索,然后筛选出最佳答案。关键技术包括:
-
多次尝试 + 多数投票 (Majority Vote):让模型多次解答,选择出现频率最高的答案。
-
验证器 (Verifier) + 最佳选择 (Best-of-N):训练一个“裁判”模型来评估多个答案的质量,选出最好的一个。
-
束搜索 (Beam Search):在解题的每一步都保留N个最有可能的路径,逐步筛选,避免过早陷入错误路径。
B. 需要微调模型的方法(打造新模型)
方法三:模仿学习 (Imitation Learning)
- 核心是“教”模型如何思考。通过监督式微调,让模型学习包含“问题→高质量推理过程→答案”的范例。
- 挑战:高质量的推理数据从何而来?可通过知识蒸馏(让强模型生成)或“知错能改”的训练(故意包含错误路径和修正过程)来构建,让模型学会逆境翻盘。
方法四:强化学习 (Reinforcement Learning)
- 核心是“结果导向”。不关心推理过程是否优美,只根据最终答案的正确与否给予模型奖励或惩罚,让模型自行探索出最高效的、能导向正确答案的思考模式。这是DeepSeek-R1系列闻名的核心技术。
三、综合案例:DeepSeek-R1 的诞生之路
DeepSeek-R1并非单一方法的产物,而是上述所有方法的复杂融合:
1. 起点:先用强化学习训练出一个推理能力强但过程混乱的“野蛮”模型(R1-0)。
2. 提纯:让R1-0生成大量推理数据,再投入大量人力进行修改和润色。
3. 升华:用这些高质量数据进行模仿学习,并结合高级指令生成的数据,训练出更可控的模型。
4. 迭代:在上述基础上,再进行多轮的强化学习和模仿学习,并结合工作流的理念,最终得到成熟的DeepSeek-R1。
结论:这四种方法并非互斥,而是可以相辅相成、组合使用的。
四、总结与挑战
- 当前挑战:模型常常在简单问题上进行不必要的“过度思考”,浪费大量计算资源和时间。
- 未来方向:如何让模型学会自适应推理,即判断问题的难度,只在需要时才启动深度思考,实现计算效率和问题解决能力的平衡。
我们本周要讲的是会进行“深度思考”的大型语言模型。
这里的“深度思考”指的是现在一系列模型所展现出的一种特定行为。具有这种深度思考行为的模型包括:
- ChatGPT的O系列
- DeepSeek的R系列
- Gemini的Flash Thinking
- Claude 3.7 Sonnet的Extended Thinking Mode
所以,这已成为当前大型语言模型一个相当流行的能力。
深度思考行为的实例
以 DeepSeek-R1 为例,当你问它“1+1等于多少”时,它会回答“2”。但除了答案,还会出现一个可以展开的框,标记为“以深度思考”。
点开这个框,你会看到它的“内心小剧场”:
- 初步思考:“一个苹果加一个苹果,就是两个苹果,所以1+1等于2。”
- 自我质疑:“等一下,这会不会有什么陷阱?让我想想看,1+1会不一定等于2?比如说在二进制中,1+1等于10。”(我问这个问题时都没想到这点)
- 最终决策:“使用者只是写了1+1,没有提供额外的信息,他可能只是在测试我会不会想太多。所以,最终的答案是2。”
这些深度思考的语言模型,其特色就是会先给出一个很长的思考过程,最后再给出答案。通常,它会在思考过程前后加上<think>
和</think>
这样的标签,方便界面选择性地展示这部分内容。
在思考过程中,模型通常有几个行为:
- 验证(Verification): “Let me check the answer.” 检查自己刚才的答案是否正确。
- 探索(Exploration): 尝试思考其他的可能性。
- 规划(Planning): 规划解决问题的步骤。
这个思考过程很多时候也被称为推理(Reasoning)。
注意:Reasoning vs. Inference
需要区分两个词:
- Reasoning (推理): 指模型在生成答案时,产生特别长的思考过程的这种行为。
- Inference (推论): 在机器学习领域,通常指使用一个已经训练好的模型进行测试或应用的过程。
本课程中,我们把这种深度思考行为直接称为“推理(Reasoning)”,但这并不意味着其过程与人类的推理完全一样。
一、核心问题:什么是模型的“深度思考”?
核心概念:Testing Time Compute
这种推理行为是 Testing Time Compute 的一种,即在测试阶段投入更大的算力,以期获得更好的结果。为什么这会有用呢?我们之前提过一个概念:“深度不够,长度来凑”。
1. AlphaGo的启示
Testing Time Compute 并非全新概念。在AlphaGo中,除了训练时得到的 Policy Network 和 Value Network,在测试(实际下棋)时,它也进行了巨大的运算,即蒙特卡洛树搜索(Monte Carlo Tree Search, MCTS)。AlphaGo 会在“脑内”模拟多种下棋的可能性,预估不同位置的胜率,最后选择胜率最高的位置。
2. Test Time Scaling
这个概念进一步引申出Test Time Scaling:思考越多,结果往往越好。一篇早期的论文研究了棋类游戏,发现可以将算力投注在训练时(得到更好的Policy/Value Network),也可以投注在测试时(做更大规模的MCTS)。实验结果表明,投入少量算力在 Testing Time,就可以显著减少在 Training Time所需耗费的大量算力。
如今,这个概念在语言模型上被广泛应用:通过产生非常长的思考过程,让语言模型解决更难的问题。
二、打造深度思考模型的四种核心方法
接下来,我们探讨打造这类模型的四种主要方法。前两种无需微调模型参数,后两种则需要。
方法一:更好的思维链(Chain-of-Thought, CoT) - 无需微调
Chain-of-Thought(CoT)就是让模型先列出解题过程,再给出答案,这与深度思考模型的行为非常类似。
- Few-shot CoT: 给模型提供几个“问题-解题过程-答案”的范例,让它学会这种模式。
- Zero-shot CoT: 无需范例,直接用一句魔法指令,如“Let’s think step by step”,模型就会自动列出思考过程。
现在的推理模型所做的,可以看作是长思维链(Long CoT)。要让模型产生更长的思考过程,只需在Prompt中给出更详细、更精确的指示,这种方法也称为Supervised CoT。
Supervised CoT 实例
我对GPT-4o下了一个复杂的Prompt,要求它:
- 深入解析题目,制定清晰的解题计划。
- 按部就班执行,每一步都列出子计划。
- 每一步执行后都进行多次验算。
- 考量所有可能的解法。
- 将思考过程放在
<think>
和</think>
标签之间。
问题:123 × 456 = ?
GPT-4o的回答展现了类似深度思考的行为:
- 题目分析与总计划: 将456拆解为400+50+6,分别与123相乘后求和。
-
验算计划:
- 用标准直式乘法验算。
- 估算答案的范围。
- 用Python验算(最后没做,属于幻觉)。
-
计算与验算:
-
它正确地用直式乘法算出了56088。
它估算了上下界,虽然方法有点奇怪,但结论是答案在合理范围内。
它尝试用交换律做第三次验算,但算到一半发现“无明确帮助,略过”,这反而体现了它知道何时放弃无效路径的智能。
注意:这种方法对模型能力要求较高,较弱的模型(如LLaMA 3)可能无法完全遵循复杂的指令。
方法二:提供推理的工作流程 - 无需微调
对于能力稍弱的模型,我们可以直接为其设定一个推理的工作流程,强制它进行多方尝试。
1. 多次独立尝试(Parallel Exploration)
就像“无限猴子定理”,让语言模型对同一个问题回答成千上万次,由于每次回答都有随机性,它总有机会产生出正确答案。
但问题是,如何从众多答案中选出正确的那一个?
- 多数投票(Majority Vote / Self-Consistency): 选择出现次数最多的答案。这是一个非常强大且难以超越的基准方法。
- 验证器(Verifier / Best-of-N): 训练一个模型(或直接用一个强大的语言模型)来评估每个答案的正确性,然后选择分数最高的那个答案(Best of N)。训练验证器的数据可以通过比较模型生成答案和标准答案来获得。
2. 逐层深入探索(Sequential & Step-by-step)
模型可以不是一次性生成完整答案,而是分步进行,并在每一步后进行验证。
- 过程验证器(Process Verifier): 这种验证器不需要看到最终答案,只需根据解题过程的一部分就能判断其正确性。
- 束搜索(Beam Search): 在每一步,生成多种可能的下一步,然后用过程验证器评估,只保留最好的N条路径继续探索,摒弃较差的路径。
实验证明:Hugging Face的一篇博客文章中的实验显示,使用 Beam Search 这种方法,一个1B参数的模型在数学问题上的表现,甚至可以超越一个8B参数的模型。这证明了好的推理流程可以极大地弥补模型规模的不足。其他更复杂的搜索算法,如A*、MCTS等,也都可以应用在此框架下。
方法三:模仿学习(Imitation Learning) - 需要微调
这种方法是直接教模型如何进行推理,可以看作是上周讲的“后训练(Post-training)”的特例。
核心思想:我们使用包含“问题-推理过程-答案”的训练数据,通过监督式微调(Supervised Fine-tuning),让模型学会不仅要输出正确答案,还要生成中间的推理过程。
挑战:如何获取带推理过程的训练数据?
通常我们只有问题和答案。一个可行的办法是:
- 用一个强大的模型(如GPT-4)通过CoT提示生成推理过程。
- 只保留那些最终答案正确的“问题-推理过程-答案”对,作为训练数据。
进阶思考:我们应该只教模型“完全正确”的推理路径吗?
不一定。如果模型只见过一帆风顺的正确推理,当它在实际应用中走错一步时,它将不知道如何纠正,只会硬着头皮错下去。
因此,我们需要教模型知错能改。
-
包含错误路径的训练数据: 一些研究如 String of Search 和 Journey Learning 提出,在构建训练数据时,应故意包含一些错误的探索路径和回溯修正的过程。例如,训练数据可以长这样:“尝试方法A -> 发现错误 -> 回溯 -> 尝试方法B -> 得到正确答案”。这样训练出的模型,才能学会“逆转胜”。
-
知识蒸馏(Knowledge Distillation): 一个更便捷的方法是,直接用一个已经具备深度思考能力的模型(如DeepSeek-R1)作为老师,生成大量的推理数据,然后让我们的目标模型去模仿学习。DeepSeek的论文也证明了这种方法的有效性,能将R1的推理能力蒸馏到更小的模型上。
方法四:以结果为导向学习(Reinforcement Learning) - 需要微调
这是以 DeepSeek-R1 系列闻名的做法,核心是使用强化学习(RL),以结果为导向来教模型推理。
核心思想:模型生成推理过程和最终答案。我们不关心推理过程本身写了什么,只看最终答案是否正确。
- 如果答案正确,模型获得正向奖励(Positive Reward)。
- 如果答案错误,模型获得负向奖励(Negative Reward)。
通过RL,模型会自己探索出那些更容易导向正确答案的推理模式。
三、综合案例:DeepSeek-R1 的诞生之路
DeepSeek-R1的打造过程极其复杂,融合了我们前面讨论的所有方法,并非单纯的RL。
1. R1-0的诞生 (纯RL): 他们先用RL在 DeepSeek V3 Base
模型上训练,奖励只基于答案正确性和格式(是否使用<think>
标签)。这得到了一个能自主推理(甚至出现“Aha moment”)但推理过程混乱、难以阅读的 R1-0 模型。
2. R1的复杂打造流程:
-
步骤一 (模仿学习): 用R1-0生成推理数据,然后投入大量人力去修改和润色这些数据,使其变得清晰可读。同时,也用Supervised CoT等方法生成高质量数据。用这些数据通过模仿学习训练出模型A。
-
步骤二 (RL): 对模型A进行RL,得到模型B。这次的奖励除了正确率,还加入了一个“语言一致性”的奖励,避免推理过程中语言混杂。
-
步骤三 (模仿学习): 用模型B在更广泛的任务上生成了60万条推理数据,并用规则过滤掉质量差的。这些数据再混合20万条Self-Instruct数据,通过模仿学习训练出模型C。
-
步骤四 (最终RL): 对模型C进行最后一次RL,主要强化其安全性和帮助性,最终得到我们使用的 DeepSeek-R1。
关键洞察:
RL的成功很大程度上依赖于一个强大的基础模型。研究发现,DeepSeek V3 Base
在RL训练前,就已经具备了初步的、潜在的推理和自我怀疑能力(如“Wait, I’m overthinking”)。RL的作用是强化并激发了这些已有的能力。如果基础模型太弱,单纯用RL很难凭空创造出推理能力。
四、总结与挑战
深度思考模型最大的挑战之一是计算资源的浪费。有时模型会进行大量不必要的、冗余的思考。
实例:DeepSeek-R1 解答 123 × 456
它花了近一分钟的时间来解答这个问题。在算出正确答案56088
之后,它仍不放心,进行了多轮、多种方式的反复验算:
- 用直式运算法验算。
- 用估算法(120×450)验算。
- 交换被乘数和乘数,拆解另一方再算一次。
- 心算一遍(既然心算能对,前面在做什么?)。
- 将两边数字同时拆解成多项式展开,再相加。
最后,它依依不舍地结束了计算。这其中大量的推理过程都是冗余的。如何让模型“把好钢用在刀刃上”,在需要时才进行深度思考,是我们下一堂课将要探讨的内容。
普通人如何抓住AI大模型的风口?
领取方式在文末
为什么要学习大模型?
目前AI大模型的技术岗位与能力培养随着人工智能技术的迅速发展和应用 , 大模型作为其中的重要组成部分 , 正逐渐成为推动人工智能发展的重要引擎 。大模型以其强大的数据处理和模式识别能力, 广泛应用于自然语言处理 、计算机视觉 、 智能推荐等领域 ,为各行各业带来了革命性的改变和机遇 。
目前,开源人工智能大模型已应用于医疗、政务、法律、汽车、娱乐、金融、互联网、教育、制造业、企业服务等多个场景,其中,应用于金融、企业服务、制造业和法律领域的大模型在本次调研中占比超过 30%。
随着AI大模型技术的迅速发展,相关岗位的需求也日益增加。大模型产业链催生了一批高薪新职业:
人工智能大潮已来,不加入就可能被淘汰。如果你是技术人,尤其是互联网从业者,现在就开始学习AI大模型技术,真的是给你的人生一个重要建议!
最后
只要你真心想学习AI大模型技术,这份精心整理的学习资料我愿意无偿分享给你,但是想学技术去乱搞的人别来找我!
在当前这个人工智能高速发展的时代,AI大模型正在深刻改变各行各业。我国对高水平AI人才的需求也日益增长,真正懂技术、能落地的人才依旧紧缺。我也希望通过这份资料,能够帮助更多有志于AI领域的朋友入门并深入学习。
真诚无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发
大模型全套学习资料展示
自我们与MoPaaS魔泊云合作以来,我们不断打磨课程体系与技术内容,在细节上精益求精,同时在技术层面也新增了许多前沿且实用的内容,力求为大家带来更系统、更实战、更落地的大模型学习体验。
希望这份系统、实用的大模型学习路径,能够帮助你从零入门,进阶到实战,真正掌握AI时代的核心技能!
01 教学内容
-
从零到精通完整闭环:【基础理论 →RAG开发 → Agent设计 → 模型微调与私有化部署调→热门技术】5大模块,内容比传统教材更贴近企业实战!
-
大量真实项目案例: 带你亲自上手搞数据清洗、模型调优这些硬核操作,把课本知识变成真本事!
02适学人群
应届毕业生: 无工作经验但想要系统学习AI大模型技术,期待通过实战项目掌握核心技术。
零基础转型: 非技术背景但关注AI应用场景,计划通过低代码工具实现“AI+行业”跨界。
业务赋能突破瓶颈: 传统开发者(Java/前端等)学习Transformer架构与LangChain框架,向AI全栈工程师转型。
vx扫描下方二维码即可
本教程比较珍贵,仅限大家自行学习,不要传播!更严禁商用!
03 入门到进阶学习路线图
大模型学习路线图,整体分为5个大的阶段:
04 视频和书籍PDF合集
从0到掌握主流大模型技术视频教程(涵盖模型训练、微调、RAG、LangChain、Agent开发等实战方向)
新手必备的大模型学习PDF书单来了!全是硬核知识,帮你少走弯路(不吹牛,真有用)
05 行业报告+白皮书合集
收集70+报告与白皮书,了解行业最新动态!
06 90+份面试题/经验
AI大模型岗位面试经验总结(谁学技术不是为了赚$呢,找个好的岗位很重要)
07 deepseek部署包+技巧大全
由于篇幅有限
只展示部分资料
并且还在持续更新中…
真诚无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发