reasoning-from-scratch
Sebastian Raschka 手把手教学:用 PyTorch 从零实现推理大模型,0.6B 参数透明代码,涵盖 GRPO 训练、推理时计算缩放与知识蒸馏
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
Sebastian Raschka 手把手教学:用 PyTorch 从零实现推理大模型,0.6B 参数透明代码,涵盖 GRPO 训练、推理时计算缩放与知识蒸馏
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你有没有想过,ChatGPT、DeepSeek R1 这些会"思考"的 AI 到底是怎么炼成的?它们不是简单地从海量文本里学说话,而是通过一种叫**推理强化(Reasoning)**的技术,获得了类似人类"多想一会儿再回答"的能力。这种能力让模型在做数学题、逻辑推理、代码生成时表现大幅跃升。
图1:Sebastian Raschka 所著《Build a Reasoning Model (From Scratch)》,以 Qwen3 0.6B 为基础模型,从零构建推理能力。
2024 年到 2025 年,AI 领域最大的技术突破之一就是推理模型的爆发。OpenAI 的 o1/o3、DeepSeek R1、Anthropic 的 Claude 思考模式,都展示了"让模型花更多算力去思考"这一思路的巨大潜力。不同于传统 LLM 直接输出答案,推理模型会在给出最终答案之前,生成大量的中间推理步骤(Chain-of-Thought),就像一个认真演算的学生,不会看一眼题目就脱口而出答案。
但市面上关于推理模型的技术资料,要么是论文里天书般的数学公式,要么是浅尝辄止的科普博客,很少有人真正从代码层面把这件事讲清楚。Sebastian Raschka——这位写了《Python Machine Learning》等多本畅销书的人工智能研究者——决定亲自动手,把推理模型的核心技术全部用 PyTorch 实现一遍,于是便有了这个项目。
普通人做数学题时,往往会拿出草稿纸先演算几步,再把最终答案写在卷子上。推理模型就是在 AI 内部"长出"了这样一张草稿纸——它会先把思考过程写出来,再整理成最终回复。这不是简单的文字技巧,背后涉及推理过程的质量评估、思考步数的动态缩放、强化学习训练等一系列复杂技术。
这个项目就像一本手把手教造火箭的教材:不是讲 NASA 火箭工程师用了什么神秘材料,而是从头教你炼钢、造合金、焊外壳——每一步都配上可运行的 PyTorch 代码。
该项目对应书籍共 8 章,外加 5 个附录,内容覆盖了从加载预训练模型到训练完整推理模型的完整流程:
推理的本质理解(第1章):从零认识什么是推理能力,它和普通文本生成的本质区别,以及为什么这种能力不是靠喂更多语料就能"涌现"出来的。
预训练模型加载(第2章):使用 Qwen3 0.6B 作为基础模型,通过 HuggingFace 加载预训练权重和分词器。这一步看似简单,实则涉及模型格式转换、量化加载等工程细节。
推理评估体系(第3章):构建 Verifier(验证器)来评估推理过程的质量——就像考试需要标准答案一样,模型生成的推理步骤也需要被量化评估。
推理时缩放(第4章):通过"让模型多想几步"来提升推理质量,涉及 Beam Search、Best-of-N、Temperature Sampling 等策略。这也是 DeepSeek R1 的核心技术之一。
自我改进(第5章):让模型对自己的推理过程进行自我批判和修正,类似人类"做完题再检查一遍"的思维方式。
强化学习训练(第6章):使用 GRPO(Group Relative Policy Optimization)训练推理模型,这是 DeepSeek R1 背后大名鼎鼎的 RL 训练方法。
GRPO 进阶(第7章):在第6章基础上进一步优化 GRPO 算法,涉及优势估计、奖励塑形等技术细节。
知识蒸馏(第8章):将大模型的推理能力压缩到小模型中,使小模型也能"学会思考",同时保持推理质量和效率。
图2:书中涵盖的推理模型核心技术全景,涵盖推理时缩放、强化学习、知识蒸馏等关键环节。
整个项目的代码库采用模块化设计,核心依赖清晰:
代码结构方面,reasoning_from_scratch/ 目录包含了按章节组织的核心实现模块(ch02.py 到 ch08.py),ch01-ch08/ 目录存放各章节对应的 Jupyter Notebook,tests/ 目录有完整的 pytest 测试套件。项目还支持 uv 工作区管理,依赖通过 pyproject.toml 声明。
值得注意的是,Appendix C 完整实现了 Qwen3 的模型源码(约 200 行),Appendix F 覆盖了 LLM 评估的常用方法(MMLU、GSM8K 等),Appendix E 讨论了批处理优化和吞吐量提升。这些附录使得本书不仅是一本推理模型的教程,更是一本全面理解现代 LLM 内部机制的手册。
这是一个面向有一定基础的 AI 开发者和学生的项目,不是给普通用户的开箱即用工具。最核心的使用门槛在于:
对于只是想了解理论不想运行代码的读者,书中的 Jupyter Notebook 包含了完整的逐步执行过程,配合图表和注释,非常适合自学。对于开发者,可以通过 uv sync 一键安装依赖,然后按章节顺序跑通代码。
Qwen3 0.6B 模型规模有限:书中使用的是 6 亿参数的小模型,不是 GPT-4 级别的庞然大物。这是有意为之——小模型训练快、显存需求低,便于教学,但最终效果和前沿大模型相比差距明显。
不是生产级代码:本书定位是教学演示,很多工程优化(梯度检查点、混合精度、分布式训练等)被有意省略或简化,不适合直接用于生产环境。
推理能力上限:基于 Qwen3 0.6B 的推理模型,在 MATH benchmark 上的表现虽然明显优于基座模型,但距离 DeepSeek R1 这样的顶尖水平仍有显著差距。
对硬件要求不低:虽然用的是小模型,但 16GB VRAM 的门槛对很多个人开发者来说仍然较高,没有 GPU 的用户基本无法运行训练部分。
推理模型的崛起代表了大模型能力提升范式的一次重要转变。早期 GPT 时代,大家的共识是"喂更多数据、调更大模型"就能变强。但推理模型证明了:让模型在推理阶段动态分配更多计算资源,往往比单纯增大模型规模更高效。这意味着未来 AI 的能力提升,可能不只是靠更大的数据中心,还依赖更聪明的推理算法。
这个项目的价值在于,它把这个新兴领域的技术脉络,用最透明的方式呈现给所有人——没有黑箱调用,没有 API 依赖,全部从 PyTorch 张量运算开始构建。对于想真正理解推理模型内在机理,而不是仅仅调 API 的人,这是目前能找到的最系统、最深入的实战资源。
图3:书籍配套的 Jupyter Notebook 运行界面,每一行代码都可以逐步执行和调试。