Sebastian Raschka 发布 11 小时推理模型从零构建视频课程
Building Reasoning Models from the Ground Up: A Video Course
Sebastian Raschka 发布 8 个推理模型从零构建的编程视频,共 11 小时,用 Python 和 PyTorch 从预训练的 Qwen3 0.6B 模型出发实现评测、推理时扩展、强化学习和蒸馏。课程先构建数学答案验证器并在 MATH-500 上评测,再实现温度采样、top-p 过滤与自一致性,随后用简化版 GRPO 做 RLVR 训练,最后用 DeepSeek R1 生成的答案蒸馏小模型。内容配套其《Build a Reasoning Model (From Scratch)》一书,早期文本生成与评测示例可在 CPU 上运行,后续训练实验建议使用 GPU。
正文 · AI 翻译
超过11小时的编程视频,涵盖评估、推理时扩展、强化学习和蒸馏,使用Python和PyTorch。Sebastian Raschka,博士,2026年10月24日
过去两年里,我在Ahead of AI上写了很多关于推理模型的内容,包括最近一篇关于当代LLM中控制推理努力程度机制的文章。推理模型依然和以往一样重要。事实上,如今几乎所有当前世代的LLM都是推理模型,或者提供推理模式。
对于那些对推理模型工作原理感兴趣的人——包括推理扩展、强化学习和蒸馏——我最近写了《从零构建推理模型》(Build Reasoning Model (From Scratch)),它在PyTorch中从头实现这些内容;根据我的经验,这仍然是理解和学习事物真正运作方式的最佳途径。
现在,在过去几个月里,我也坐下来录制了配套讲座,想与大家分享。因此,下面你将找到八个从零构建推理模型的编程视频(11小时内容)。
我们从一个预训练的LLM开始,用Python和PyTorch实现评估和改进它的方法。所以,如果你喜欢我去年推出的《从零开始编程LLM》课程,这基本上就是续集(但你也可以在没有先修课程的情况下观看)。
我目前正在短暂休息,下个月会带着更多激动人心的LLM研究综述回来。在此期间,希望你喜欢跟着一起编程!
LLM、推理模型和智能体如何关联并契合在一起
作为一个小旁注,也因为我经常被问到推理模型与当今AI智能体的关系,这里在开始视频之前先简短说明一下。
推理模型本质上是传统LLM的升级版,即通过带可验证奖励的强化学习(以及可选的推理扩展技术)增加更多后训练,使其更有能力解决更具挑战性的问题。传统上,推理模型是为数学和代码开发的,但这些能力也可以泛化到其他问题领域。
推理模型随后作为智能体框架内部的引擎发挥作用,而智能体框架是围绕LLM/推理模型的软件或工具框架,用于解决更具挑战性的问题(更大的编程任务、旅行预订以及各种其他个人助理任务)。该框架的任务是进行复杂的上下文管理,并让LLM能够访问工具。
图1:传统LLM、推理模型和智能体框架的引擎类比。图来自我的《编程智能体的组成部分》一文。
在上图描绘的类比中,模型是引擎,而智能体框架增加了机械装置,使我们能够将其用于各种用途(作为简单聊天机器人界面的升级)。智能体可以使用传统LLM或推理模型,但推理模型是更典型的选择,因为它们能力更强。(如上所述,大多数当前世代的LLM都是带有可变推理努力设置的推理模型。)
所以,底线是,推理模型作为“引擎”,仍然是理解现代LLM智能体的重要组成部分。
上述主题配套的资源包括:
《从零构建大语言模型》一书和视频
《从零构建推理模型》一书(以及下方视频)
Substack上的《编程智能体的组成部分》一文
下面的视频重点介绍开发能够为这样的系统提供支持的推理模型。
范围与先决条件
从零构建推理模型的视频聚焦于一个小型预训练Qwen3模型,我们在其中用Python和PyTorch自行实现推理方法。从预训练模型开始,让我们能够专注于有趣的部分:评估、推理时扩展、强化学习和蒸馏。
关于先决条件,我建议你熟悉Python和PyTorch。我把推理材料设计为独立内容,因此推荐但不严格要求先学习之前的《从零构建大语言模型》内容。
在计算资源方面,你可以在CPU上完成早期的文本生成和评估示例。对于后续实验,尤其是训练,GPU会让工作实用得多。第一个视频涵盖环境设置和一些更多建议;代码仓库还包括硬件和环境建议。
图2:所涵盖主题的概览。
配套书籍
这些视频配套我的书《从零构建推理模型》。如果你想更详细、按自己的节奏阅读讲解、完成练习等,我推荐把这本书作为配套材料。
为了获得最深入的学习体验,我的建议是阅读一章,结合对应视频完成其代码,然后尝试练习。
这本书可从Manning和Amazon购买,印刷版是彩色的!
图3:《从零构建推理模型》印刷书中的随机摘录。
感谢每一位购买本书或向朋友推荐本书的人。你们的支持帮助我继续创作这些材料。
视频
在进入下面正片之前,先做一个简短的附带说明:如果你想要一个更简短、更偏概念性的概览,我也推荐我在 LinkedIn Learning 上的 AI 推理模型课程(通过那里的链接访问时,它应该会在 24 小时内免费,而且应该不需要 LinkedIn Premium 订阅)。
这门课程大约 90 分钟,讲解推理模型如何工作,涵盖推理时扩展、强化学习和蒸馏背后的主要思想。如果你只想了解主要思想,而不想完整实现下面的内容,这是一个不错的可选预览。
进入本文的主要部分,以下是八个主要讲座视频。
1. 动机与代码设置
第一个视频首先解释传统 LLM、推理模型和智能体之间的关系。接下来,视频的主要主题是设置编程环境。这包括安装 Python 和 PyTorch 依赖项(使用 uv)等。我还讨论了硬件选择和常见设置问题。
涵盖的主题
传统 LLM、推理模型和智能体框架之间的关系
通过代码实现来学习的好处
本视频系列的范围
安装 Python 依赖项
选择硬件并检查 CUDA 或 Apple Silicon 支持
使用 VS Code 连接远程 GPU 并排查环境问题
观看视频 1 · 设置说明
2. 加载基础模型、文本生成和 KV 缓存
在接下来的视频中添加推理方法之前,我们需要一个可用的基础模型。与其从头训练它——那会是另一整本书的内容(参见《从零构建大语言模型》)——我们从预训练模型开始。
这里,我们加载 Qwen3 0.6B 模型的预训练权重。然后,我们通过流式文本生成器实现文本生成过程,并添加 KV 缓存和模型编译,使文本生成更高效。
这些实现为我们提供了基线以及基础组件,我们将在后续视频中对其进行评估和改进。
涵盖的主题
将文本编码为 token 并将其解码回文本
下载 Qwen3 权重并在所选计算设备上加载模型
讲解张量形状、logits 和下一 token 预测
实现贪心解码和流式文本生成
处理序列结束 token 并测量生成速度
添加 KV 缓存以复用注意力键和值
将 KV 缓存与 torch.compile 结合并比较硬件性能
观看视频 2 · 第 2 章代码
3. 构建用于评估和强化学习的验证器
在本讲中,我们逐步构建一个数学答案验证器,从答案提取到归一化,再到检查数学等价性。然后我们用它来在 MATH-500 上评估模型。
我们使用这个验证器来评估基础模型在 MATH-500 评估数据集上的性能。
然而,这个验证器在本系列后面还有第二项工作:为带可验证奖励的强化学习(RLVR)提供奖励信号。
涵盖的主题
验证器简介以及它们如何融入 LLM 评估方法(其他方法在本书附录中介绍)
将答案验证复用为 RLVR 的奖励信号(更多内容见第 6 章)
验证器流程,包括提取最终答案、归一化答案和检查数学等价性
为 MATH-500 构建答案评分器和评估循环
在 MATH-500 上比较基础模型和推理模型
观看视频 3 · 第 3 章代码
4. 推理时扩展:采样与自一致性
现在我们探索在保持模型权重不变的情况下改进答案的方法。但在实现具体的推理扩展技术之前,我们首先实现从同一提示生成多样化答案的方法(这是专有 LLM 聊天机器人如 ChatGPT 的标准做法)。
具体来说,我们实现温度缩放、多项采样和 top-p 过滤来生成多样化回复。然后我们通过自一致性将多个回复结合起来,对其最终答案使用多数投票。
我们还考察答案准确性与生成更多候选所需的额外计算之间的权衡。
涵盖的主题
比较额外计算在训练期间和推理期间对模型性能的益处
通过思维链提示对推理扩展进行温和介绍
实现温度缩放和多项采样以生成多样化答案
添加 top-p 过滤以控制多样化答案的质量
通过自一致性结合候选答案,这是最流行的推理扩展技术之一
评估 MATH-500 准确性与额外推理计算成本的关系
观看视频 4 · 第 4 章代码
5. 推理时扩展:评分与自我改进
在上一个视频的基础上,我们实现评分函数来比较从同一提示生成的多个答案。我们还可以使用这些评分方法在自一致性中打破平局(上一讲已介绍)。
这里涵盖的评分方法包括计算 token 和序列对数概率(这在后面的强化学习章节中也会相关)。然后我们实现一个自我改进循环,其中模型对答案进行批判并尝试修订。
评估让我们检查这些额外步骤对模型有多大用处。
涵盖的主题
使用评分函数比较多个答案并打破平局
实现一个简单的启发式评分器
计算 token 概率和序列似然(也与后续讲座相关)
使用对数概率以提高数值稳定性
构建一个自我改进循环,用于生成批判和修订后的答案
在 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)
准备蒸馏数据集,包括分词和训练/验证/测试划分
计算答案 token 对数概率并理解交叉熵损失
实现监督训练并跟踪训练与验证损失
在 MATH-500 上评估检查点并比较蒸馏结果
观看视频 8 · 第 8 章代码
结语
在观看这些讲座时,我鼓励你偶尔暂停一下,如果想到什么有趣的点子,就自己尝试做个小实验。
例如,你可以随意更改采样设置、检查几个失败的答案,或者尝试与练习中建议类似的不同想法的变体。
如果你想要配合视频的完整书面讲解、图表和练习,可以在 Manning 和 Amazon 上找到《Build a Reasoning Model (From Scratch)》。
感谢阅读并支持 Ahead of AI。我正短暂休息以恢复精力,期待下个月带着下一轮 LLM 研究文章回归。
在此期间,祝你观看愉快、动手愉快!