Build Your Own Reasoning Model: A Full Video Course

TL;DR · AI 摘要
Sebastian Raschka的课程详细讲解了如何从零构建推理模型,涵盖强化学习、蒸馏等技术,适合Python和PyTorch开发者。
核心要点
- 课程包含8个视频,总时长11小时,覆盖推理模型评估与优化方法
- 推理模型通过强化学习和蒸馏技术提升复杂问题解决能力
- PyTorch是实现推理模型的最佳实践框架
结构提纲
按章节快速跳转。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- 构建推理模型
- 课程结构
- 11小时视频内容
- 8个技术模块
- 核心技术
- 强化学习
- 模型蒸馏
- 推理扩展
- 应用场景
- 数学推理
- 代码生成
- 智能代理
金句 / Highlights
值得收藏与分享的关键句。
推理模型通过强化学习和验证性奖励机制提升问题解决能力
当前主流LLM本质上都是具备可变推理能力的推理模型
代理系统通过上下文管理和工具接入扩展模型应用边界
构建自己的推理模型:完整视频课程
八个视频,超过11小时的编码内容,涵盖Python和PyTorch中的评估、推理时扩展、强化学习和知识蒸馏。
2026年10月24日
在过去两年中,我在Ahead of AI上撰写了大量关于推理模型的文章,包括一篇关于控制现代大型语言模型(LLMs)推理努力水平机制的最新文章。推理模型的相关性依然如初。事实上,当今几乎所有新一代的大型语言模型都是推理模型或提供推理模式。
对于那些想了解推理模型工作原理(包括推理扩展、强化学习和知识蒸馏)的读者,我最近撰写了《从零构建推理模型》(Build Reasoning Model From Scratch),该书从零开始使用PyTorch实现了这些技术。根据我的经验,这仍然是理解事物真正工作原理的最佳方式。
在过去的几个月里,我也录制了配套的讲座,现在与大家分享。以下是你将看到的八个从零构建推理模型的编码视频(共11小时内容)。
我们从一个预训练的大型语言模型开始,使用Python和PyTorch实现评估和改进方法。因此,如果你去年喜欢我的《从零构建大型语言模型》课程,这基本上是它的续集(但也可以在没有先修课程的情况下独立观看)。
目前我正在短暂休息,下个月将很快回来分享更多关于大型语言模型的研究综述。在此期间,希望你享受编码过程!
大型语言模型、推理模型和智能体之间的关系
作为小插曲,由于我经常被问及推理模型与当今AI智能体之间的关系,以下是在开始视频之前简要说明。
推理模型本质上是对传统大型语言模型的升级,即通过可验证奖励的强化学习(以及可选的推理扩展技术)进行更多后训练,使其能够解决更具挑战性的问题。传统上,推理模型主要用于数学和代码,但其能力也可以推广到其他问题领域。
然后,推理模型作为智能体框架中的引擎运行,智能体框架是围绕大型语言模型/推理模型的软件或工具框架,用于解决更复杂的问题(更大的编码任务、旅行预订和所有其他类型的个人助理任务)。框架的任务是复杂的上下文管理和为大型语言模型提供工具访问。
图1:传统大型语言模型、推理模型和智能体框架的引擎类比。图来自我的《编码智能体组件》文章。
在上图所示的类比中,模型是引擎,而智能体框架添加了使我们能够将其用于各种用途的机械装置(作为简单聊天机器人界面的升级)。智能体可以使用传统大型语言模型或推理模型,但推理模型是更常见的选择,因为它们能力更强。(如上所述,大多数当前一代的大型语言模型都是具有可变推理努力设置的推理模型。)
因此,结论是,作为“引擎”的推理模型仍然是理解现代大型语言模型智能体的重要组成部分。
以上主题的配套资源包括:
- 《从零构建大型语言模型》书籍和视频
- 《从零构建推理模型》书籍(以及下方的视频)
- Substack 上的《编码代理的组件》文章
以下视频重点介绍如何开发能够驱动此类系统的推理模型。
范围与前提条件
从零开始推理的视频专注于一个小型预训练 Qwen3 模型,我们将在 Python 和 PyTorch 中自行实现推理方法。从预训练模型开始,让我们能够专注于有趣的部分:评估、推理时扩展、强化学习和蒸馏。
关于前提条件,我建议您熟悉 Python 和 PyTorch。我将推理材料设计为独立内容,因此之前的《从零构建大型语言模型》内容是推荐但非强制要求。
在计算资源方面,您可以在 CPU 上完成早期文本生成和评估示例。对于后续实验,尤其是训练,GPU 会使工作更加实际。第一个视频涵盖设置和更多建议;仓库中也包含硬件和环境建议。
图 2:所涵盖主题的概览。
配套书籍
这些视频配套我的书籍《从零构建推理模型》。如果您希望更详细地以自己的节奏阅读解释、完成练习等,我建议将本书作为配套材料。
为了获得最深入的学习体验,我的建议是阅读一章内容,同时观看对应视频完成代码实践,然后尝试练习。
本书可在 Manning 和 Amazon 获得,纸质版为彩色印刷!
图 3:《从零构建推理模型》纸质书的随机摘录。
感谢每一位购买本书或推荐给朋友的人。您的支持帮助我持续创作这些材料。
视频内容
在进入以下主要视频之前,最后快速补充一点:如果您需要更简短的概念性概述,我还推荐 LinkedIn Learning 上的《AI 推理模型》课程(通过该链接访问时应可免费观看 24 小时,无需 LinkedIn Premium 订阅)。
该课程时长约 90 分钟,解释推理模型的工作原理,涵盖推理时扩展、强化学习和蒸馏的主要思想。如果您想了解核心概念而无需完成以下完整实现,这是一个很好的可选预览。
要进入本文的主体内容,以下是八个主要讲座视频。
1. 动机与代码环境搭建
第一个视频从传统大语言模型(LLMs)、推理模型和代理之间的关系开始解释。接下来,视频的重点是设置编码环境。这包括安装 Python 和 PyTorch 依赖项(使用 uv 等)。我还讨论了硬件选择和常见设置问题。
涵盖主题:
- 传统大语言模型(LLMs)、推理模型和代理之间的关系
- 通过代码实现学习的优势
- 本视频系列的范围
- 安装 Python 依赖项
- 选择硬件并检查 CUDA 或 Apple Silicon 支持
- 使用 VS Code 远程 GPU 和环境故障排除
观看视频 1 · 环境搭建指南
2. 加载基础模型、文本生成与 KV 缓存
在接下来的视频中添加推理方法之前,我们需要一个可用的基础模型。我们不从头开始训练模型(那样会需要写另一本书,参见《从零构建大型语言模型》),而是从预训练模型开始。
这里,我们加载 Qwen3 0.6B 模型的预训练权重。然后,我们通过流式文本生成器实现文本生成过程,并添加 KV 缓存和模型编译以提高文本生成效率。
这些实现为我们提供了后续视频中将进行评估和改进的基线和基础组件。
- 将文本编码为标记并将其解码回文本
- 下载 Qwen3 权重并在选定的计算设备上加载模型
- 涉及张量形状、logits 和下一个标记预测
- 实现贪婪解码和流式文本生成
- 处理序列结束标记并测量生成速度
- 添加 KV 缓存以重用注意力键和值
- 将 KV 缓存与 torch.compile 结合使用并比较硬件性能
观看视频 2 · 第 2 章代码
3. 为评估和强化学习构建验证器
在本节课中,我们逐步构建一个数学答案验证器,从答案提取到规范化和检查数学等价性。然后我们使用它在 MATH-500 上评估模型。
我们使用这个验证器来评估基础模型在 MATH-500 评估数据集上的性能。
然而,验证器在后续系列中还有另一个任务:为可验证奖励的强化学习(RLVR)提供奖励信号。
- 验证器简介及其在大型语言模型评估方法中的作用(其他方法在书的附录中介绍)
- 将答案验证重用为 RLVR 的奖励信号(更多内容见第 6 章)
- 验证器流程,包括提取最终答案、规范化答案和检查数学等价性
- 构建答案评分器和 MATH-500 的评估循环
- 在 MATH-500 上比较基础模型和推理模型
观看视频 3 · 第 3 章代码
4. 推理时扩展:采样与自一致性
现在我们探索在保持模型权重不变的情况下改进答案的方法。但在实现具体的推理扩展技术之前,我们首先实现从相同提示生成多样化答案的方法(这是专有大型语言模型聊天机器人,如 ChatGPT 的标准做法)。
具体来说,我们实现温度缩放、多项式采样和 top-p 过滤以生成多样化响应。然后我们通过自一致性将多个响应结合,对最终答案进行多数投票。
我们还探讨了答案准确性与生成更多候选答案所需额外计算之间的权衡。
- 比较额外计算在训练和推理期间对模型性能的影响
- 通过思维链提示温和介绍推理扩展
- 实现温度缩放和多项式采样以生成多样化答案
- 添加 top-p 过滤以控制多样化答案的质量
- 通过自一致性(最受欢迎的推理扩展技术之一)结合候选答案
- 评估 MATH-500 准确性与额外推理计算成本
观看视频 4 · 第 4 章代码
5. 推理时扩展:评分与自优化
在上一个视频的基础上,我们实现了评分函数以比较来自相同提示的多个答案。我们还可以使用这些评分方法来解决自我一致性中的平局问题(在上一节课中已覆盖)。
本节涵盖的评分方法包括计算标记和序列对数概率(这在后续的强化学习章节中也会相关)。随后,我们实现了一个自我优化循环,模型在此循环中对答案进行批评并尝试修订。
评估使我们能够检查这些额外步骤对模型的有用性。
- 使用评分函数比较多个答案并解决平局
- 实现一个简单的启发式评分器
- 计算标记概率和序列似然(也与后续课程相关)
- 使用对数概率提高数值稳定性
- 构建自我优化循环以生成批评和修订答案
- 在MATH-500上评估自我优化
观看视频5 · 第5章代码
6. 强化学习:为RLVR实现GRPO
在本节课中,我们转向实现一种称为可验证奖励强化学习(RLVR)的训练技术。我们首先实现组相对策略优化(GRPO)的简化版本,生成响应组,使用验证器对它们进行评分,并在训练过程中使用它们的相对奖励进行模型权重更新。
- 生成推理轨迹并理解答案长度与问题解决能力之间的关系
- 讨论和比较两种重要的LLM后训练方法:基于人类反馈的强化学习(RLHF)和基于可验证奖励的强化学习(RLVR)
- 将验证器评分转化为奖励和相对优势
- 计算序列对数概率和简化的GRPO损失
- 组装带有日志记录和检查点保存的训练循环
- 评估检查点并检查训练稳定性和内存需求
观看视频6 · 第6章代码
7. 强化学习:跟踪、截断策略比率和KL项
在上一节课中我们实现了训练循环后,现在可以重新审视它并更详细地分析训练运行。
具体来说,本视频增加了更多训练指标用于检查和分析,包括熵和优势统计、截断策略比率、KL损失项值以及格式化奖励。
随后我们回顾训练日志和评估结果,理解这些新增内容的作用,并判断截断策略比率和KL损失项等新增内容是否有效。
- 运行更长的训练实验并解读其日志
- 跟踪优势和熵以理解训练行为
- 在策略损失中实现截断并分析其影响
- 添加KL损失项并讨论奖励黑客行为
- 理解简化KL公式的形式限制
- 实现格式奖励并将其条件化到答案正确性上
- 在MATH-500上比较检查点并探索进一步的GRPO研究
观看视频7 · 第7章代码
8. 蒸馏推理模型
最后,我们探索训练小型推理模型的另一种方式,即从更强(且更大)的教师模型生成的答案中学习。我们讨论了不同的蒸馏形式,准备推理数据,并实现监督训练循环。
我们通过在 MATH-500 上评估蒸馏模型并比较结果来结束本节课和整个课程。这为系列内容提供了另一种选择,即通过强化学习来开发推理能力。
- 比较不同组合和蒸馏方法,包括软蒸馏和硬蒸馏,以及策略内和策略外蒸馏
- 为 MATH 数据集创建和收集教师模型生成的答案(使用 DeepSeek R1)
- 准备蒸馏数据集,包括分词和训练/验证/测试数据划分
- 计算答案标记的对数概率并理解交叉熵损失
- 实现监督训练并跟踪训练和验证损失
- 在 MATH-500 上评估检查点并比较蒸馏结果
观看视频 8 · 第 8 章代码
结语
在观看这些课程时,我鼓励你在遇到有趣的想法时偶尔暂停,尝试进行一些小型实验。
例如,你可以随意更改采样设置、检查一些失败的答案,或尝试与练习中建议类似的其他想法变体。
如果你想获取完整的书面指南、图表和练习内容,可以前往 Manning 和 Amazon 查找《Build a Reasoning Model (From Scratch)》。
感谢阅读并支持 Ahead of AI。我将暂时休息一段时间进行调整,期待下个月带来下一轮大语言模型研究文章。
在此期间,祝你观看愉快并享受探索!