rasbt/reasoning-from-scratch
Implement a reasoning LLM in PyTorch from scratch, step by step
这个项目是什么
rasbt/reasoning-from-scratch 是 Sebastian Raschka 所著《Build a Reasoning Model (From Scratch)》(Manning,2025年,ISBN 9781633434677)的官方代码仓库。它包含了随书提供的所有代码,按章节组织。
它的用途
该项目以实践方式教你 推理大型语言模型(LLM) 的工作原理。你不是仅仅阅读理论,而是从一个 预训练的基础 LLM(开源 Qwen3 模型)开始,自己逐步通过代码添加推理能力。这种方法反映了 DeepSeek R1 和 GPT-5 Thinking 等大规模推理模型的构建方式。
本书涵盖三种改进 LLM 推理的主要技术:
- 推理时扩展 — 让模型在回答前有更多时间和计算来“思考”(例如,思维链提示、自洽性、Best-of-N 采样、自我精炼)。
- 强化学习 — 通过基于奖励的学习(具体说是称为 GRPO 的方法)训练模型更好地推理。
- 蒸馏 — 使用一个更大、能力更强的“教师”模型,训练一个较小的“学生”模型模仿其推理,以提高效率。
包含的内容
- 8 章 + 7 个附录 的代码,主要为 Jupyter 笔记本(
.ipynb文件)。每章文件夹包含主要代码和练习解答。 - 一些文件夹中的额外材料,包括:
- 在 MATH-500 基准上的评估脚本
- GRPO 训练脚本(基础和高级)
- 蒸馏数据生成和训练脚本
- 可下载的训练检查点
- 聊天界面(附录 G)
- MMLU 评估方法、LLM 排行榜和 LLM-as-a-judge(附录 F)
- 常见问题的故障排除指南。
硬件要求
主要章节的代码设计为在消费级硬件(无需专用服务器)上在合理时间内运行。第 2-4 章在 CPU 和 GPU 上都能很好地运行。第 5 章和第 6 章建议使用 GPU 以重现本书的结果。代码会自动使用可用的 GPU。
适合谁
这适合那些想通过自己构建来理解推理 LLM 实际工作原理的人,而不是仅仅将其当作黑盒使用。它是教育性质的——你构建的模型虽小但功能完整。如果你想先了解如何从头构建基本 LLM,作者推荐他之前的书《Build a Large Language Model (From Scratch)》。
重要说明
- 该仓库对应一本纸质书,因此作者不能接受会改变主要章节代码的贡献(以保持与书的一致性)。欢迎通过 Manning 论坛或 GitHub Discussions 提供反馈和提问。
- README 包含引用格式(Chicago 风格和 BibTeX),供研究中引用本书。
快速开始
你可以下载仓库的 ZIP 文件或克隆它:
git clone --depth 1 https://github.com/rasbt/reasoning-from-scratch.git
本书第 2 章提供了 Python 和编码环境的设置提示。
相关
- 项目
- 项目
- 项目
- 项目