手搓 LLM(diy-llm:Stanford CS336 中文共建版)
《手搓 LLM》(diy-llm)是 Datawhale 基于斯坦福 CS336 (Spring 2026) 的中文共建课程:从分词器、PyTorch 与资源核算,到 GPU 优化、分布式训练、Scaling Laws、数据工程、RLVR 与多模态,带你亲手炼出自己的大模型。
📖 本书大纲
手搓 LLM:带你系统性学习大语言模型
本书内容整理自 Datawhale 开源课程 diy-llm(一座为中文学习者量身打造的"LLM 炼丹工坊")。课程不只是斯坦福原版的"汉化版",而是用更符合中文学习者思维的方式重构知识体系——硬核理论与动手实战并重,代码驱动、知行合一,并结合国内环境融入 Qwen、DeepSeek 等国产模型案例。
原创来源声明:本书内容整理自 Datawhale 开源课程《diy-llm》(手搓 LLM),仓库 datawhalechina/diy-llm,在线阅读 datawhalechina.github.io/diy-llm。课程基于斯坦福 CS336: Language Modeling from Scratch (Spring 2026) 中文共建,由徐虎、李盛康、黎又榛等 Datawhale 成员牵头完成,采用 CC BY-NC-SA 4.0 许可。原课程内容与作业设计版权归原作者所有。
这本书是给谁看的
这是一门硬核的 LLM 研发课程,写给想亲手"造"出自己大模型的读者。
- 前置要求:熟练掌握 Python;熟悉 PyTorch 与神经网络基础;具备线性代数、概率统计、微积分与机器学习基础。了解 CUDA 更佳,但不是必需(课程提供入门教程)。
- 理论 + 实战并重:完整保留原版课程的技术深度,同时补齐必要的数学与深度学习前置知识,学习曲线平滑。
- 代码驱动:课程核心是"用代码思考",配套 6 个实战作业(手搓大模型、系统优化、扩展定律、数据处理、模型对齐、模型评估),作业代码见原仓库 coursework/ 目录。
- 本土化改造:考虑国内网络环境与计算资源,案例多聊 Qwen、DeepSeek 等国产优秀模型。
学完这门课,你将亲手"造"出自己的 LLM,掌握从数据处理、模型训练到部署优化的全流程工程能力。
课程结构与状态对照
原课程共前言 + 16 章(第 16 章为更新中的扩展内容,本书拆为第 16、17 两章发布):
| 本书章节 | 对应原课程 | 关键内容 | 状态 |
|---|---|---|---|
| 准备篇 | 前言 | 项目由来、背景及学习建议 | ✅ |
| 第 1 章 | 第 1 章 工具使用 | W&B 使用与实验追踪 | 📝 待完善 |
| 第 2 章 | 第 2 章 分词器 | 分词器原理与 BPE 实现 | ✅ |
| 第 3 章 | 第 3 章 PyTorch 与资源核算 | 训练原语、算力/显存估算 | ✅ |
| 第 4 章 | 第 4 章 语言模型架构与训练细节 | Transformer 架构与训练要点 | ✅ |
| 第 5 章 | 第 5 章 混合专家模型 | MoE 原理、路由与工程实践 | ✅ |
| 第 6 章 | 第 6 章 GPU 与相关优化 | GPU 基础与优化技巧 | ✅ |
| 第 7 章 | 第 7 章 GPU 高性能编程 | CUDA 与高性能编程 | ✅ |
| 第 8 章 | 第 8 章 分布式训练 | 并行范式与跨机训练 | ✅ |
| 第 9 章 | 第 9 章 Scaling Laws | 扩展定律与实验 | ✅ |
| 第 10 章 | 第 10 章 推理 | 推理性能与落地优化 | ✅ |
| 第 11 章 | 第 11 章 数据工程 | 数据清洗、构建与管理 | ✅ |
| 第 12 章 | 第 12 章 评估与基准测试 | 指标体系与评测方法 | ✅ |
| 第 13 章 | 第 13 章 大模型的基本训练流程 | 预训练、SFT、RL 流程 | ✅ |
| 第 14 章 | 第 14 章 可验证奖励的强化学习 | RLVR 思想与实践 | ✅ |
| 第 15 章 | 第 15 章 多模态模型 | 从 CLIP 到 Omni Model | ✅ |
| 第 16 章 | 第 16 章 扩展内容(一) | 什么是 LLM 推理? | 🔄 更新中 |
| 第 17 章 | 第 16 章 扩展内容(二) | LLM 的未来:基于 LeCun 观点的路线分析 | 🔄 更新中 |
状态图例:✅ 已完成 📝 待完善 🔄 更新中(状态来自原仓库,随原课程更新可能变化)
章节导航
准备篇 前言
从 ChatGPT 到 DeepSeek:大模型时代的到来,为什么值得亲手炼一炉"自己的丹",以及这门课的学习方法。
第 1 章 工具使用(W&B 与实验追踪)
Weights & Biases 入门:安装登录、实验配置记录、指标可视化、超参数搜索与模型版本管理。
第 2 章 分词器
一切从 token 开始:
- 分词器原理与 BPE 算法
- 词表构建、训练与编解码
- 配套作业 1:手搓大模型
第 3 章 PyTorch 与资源核算
训练前的基本功:
- PyTorch 张量操作与训练原语
- einops / jaxtyping 张量编程
- 算力与显存估算、bfloat16 与性能测量
第 4 章 语言模型架构与训练细节
Transformer 的现代实现:
- 注意力变体、位置编码、归一化
- 优化器选择与训练稳定性
第 5 章 混合专家模型
MoE 的原理与实践:
- 稀疏激活与路由机制
- 专家并行与负载均衡
第 6 章 GPU 与 GPU 相关的优化
让硬件跑满:
- GPU 硬件架构与内存层次
- 算子融合与基准测试
- 配套作业 2:系统优化
第 7 章 GPU 高性能编程
CUDA 与 Triton:
- 线程模型与共享内存
- 高性能算子实现与性能分析
第 8 章 分布式训练
把训练扩展到集群:
- 数据/张量/流水线/专家并行范式
- 通信原语与跨机训练实践
第 9 章 Scaling Laws
规模的科学:
- Kaplan 与 Chinchilla 扩展定律
- 参数-数据-算力分配与拟合预测
- 配套作业 3:扩展定律
第 10 章 推理
从训练到落地:
- KV Cache、批处理与投机解码
- 推理系统设计与性能优化
第 11 章 数据工程
数据决定上限:
- Common Crawl 清洗、过滤与去重
- 预训练数据集构建与管理
- 配套作业 4:数据处理
第 12 章 评估与基准测试
怎么知道模型变强了:
- 指标体系与评测方法
- lm-evaluation-harness 与 evalscope 实践
- 配套作业 6:模型评估
第 13 章 大模型的基本训练流程
三段式训练链路:
- 预训练 → 监督微调(SFT)→ 强化学习对齐
- 配套作业 5:模型对齐
第 14 章 可验证奖励的强化学习(RLVR)
用可验证的奖励训练推理能力:
- RLVR 思想与奖励设计
- GRPO 算法与数学推理任务实战
第 15 章 多模态模型
从文本走向视觉:
- CLIP / SigLIP 对比学习
- LLaVA、Qwen-VL、Chameleon 架构演进
第 16 章 扩展:什么是 LLM 推理?
推理行为之谜:为什么简单问题模型也要"想很久",推理成本与思考时间的本质。
第 17 章 扩展:LLM 的未来——基于 LeCun 观点的路线分析
LLM 后面何去何从:基于 Yann LeCun 观点的大模型未来路线分析。
阅读建议
- 建议按章节顺序阅读:第 2-4 章是基础(分词、PyTorch、架构),第 5-8 章是系统(MoE、GPU、分布式),第 9-15 章是全流程(Scaling Laws、推理、数据、评估、训练、对齐、多模态)。
- 每章主题都对应原课程的实践作业,读完后建议到 原仓库 coursework/ 动手完成,真正做到"知行合一"。
- 第 1 章与第 16、17 章在原课程中分别标记为"待完善"与"更新中",内容可能随原仓库更新而变化。
补充资源
- 在线阅读:datawhalechina.github.io/diy-llm
- 仓库地址:datawhalechina/diy-llm
- 原版课程主页:Stanford CS336 (Spring 2026)
- 原版课程讲座:stanford-cs336/lectures
📑 章节目录
前言
diy-llm 课程前言:项目由来、背景、课程愿景与学习建议——为什么要亲手“炼”一个大模型。
第 1 章:工具使用(W&B 与实验追踪)
Weights & Biases 实验追踪工具入门:安装登录、实验配置记录、指标可视化、超参数搜索与模型版本管理。
第 2 章:分词器
分词器原理与 BPE 实现:从字符到 token、词表构建、训练与编解码,配套作业 1(手搓大模型)。
第 3 章:PyTorch 与资源核算
PyTorch 训练原语与资源核算:张量操作、einops/jaxtyping、算力与显存估算、bfloat16 与性能测量。
第 4 章:语言模型架构与训练细节
Transformer 架构与训练要点:注意力变体、位置编码、归一化、优化器选择与训练稳定性。
第 5 章:混合专家模型
MoE 原理、路由与工程实践:专家并行、负载均衡、稀疏激活与显存/算力权衡。
第 6 章:GPU 与 GPU 相关的优化
GPU 基础与优化技巧:硬件架构、内存层次、算子融合与基准测试,配套作业 2(系统优化)。
第 7 章:GPU 高性能编程
CUDA 与高性能编程:线程模型、共享内存、Triton 实现与性能分析。
第 8 章:分布式训练
分布式训练:数据/张量/流水线/专家并行范式、通信原语与跨机训练实践。
第 9 章:Scaling Laws
扩展定律与实验:Kaplan/Chinchilla 定律、参数-数据-算力分配与 scaling law 拟合预测。
第 10 章:推理
LLM 推理性能与落地优化:KV Cache、批处理、投机解码与推理系统设计。
第 11 章:数据工程
预训练数据工程:Common Crawl 清洗、过滤、去重与数据集构建管理,配套作业 4。
第 12 章:评估与基准测试
评估与基准测试:指标体系、lm-evaluation-harness 与 evalscope 多维度评测实践。
第 13 章:大模型的基本训练流程
大模型基本训练流程:预训练、监督微调(SFT)到强化学习对齐的完整链路。
第 14 章:可验证奖励的强化学习(RLVR)
RLVR 思想与实践:可验证奖励设计、GRPO 算法与数学推理任务训练。
第 15 章:多模态模型
多模态模型:从 CLIP/SigLIP 到 LLaVA、Qwen-VL、Chameleon 的视觉-语言模型演进。
第 16 章(扩展):什么是 LLM 推理?
扩展篇:什么是 LLM 推理——推理行为、思考时间与简单/复杂问题的成本之谜。
第 17 章(扩展):LLM 的未来——基于 LeCun 观点的路线分析
扩展篇:LLM 后面何去何从——基于 Yann LeCun 观点的大模型未来路线分析。