LLM101n
Andrej Karpathy 从零构建大模型的 17 章实战教程,全程手写 Python 代码不带框架
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
Andrej Karpathy 从零构建大模型的 17 章实战教程,全程手写 Python 代码不带框架
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
图1:LLM101n 课程封面,Andrej Karpathy 手绘风格,寓意从零构建 AI 的旅程
想象这样一个场景:你坐在电脑前,不是打开 ChatGPT 提问,而是亲手从第一行代码开始,一行一行敲出一个完整的语言模型——它能生成句子、能做自注意力、能做 RLHF 微调,最终变成一个会讲故事的系统。这不是天方夜谭,正是 Andrej Karpathy 在 LLM101n 中要带你做的事。
Andrej Karpathy 是谁?斯坦福大学博士、李飞飞教授的高徒、OpenAI 创始成员、特斯拉 Autopilot 视觉负责人——履历耀眼到不像话。但他在 AI 社区最被津津乐道的身份,是 老师。2015 年他开设的斯坦福课程 CS231n(卷积神经网络视觉识别)成为 AI 入门必看,YouTube 上数百万播放。他的教学风格以 从第一性原理出发 著称——不讲玄学,只讲代码怎么跑、梯度怎么传、矩阵怎么乘。
2023 年,Karpathy 离开特斯拉,创办了 AI 教育公司 Eureka Labs,并宣布开发 LLM101n 课程,目标是打造 AI 领域的 CS101——一门每个人都能上的大模型入门课。课程口号引用费曼:What I cannot create, I do not understand.(我不能创造的东西,我就不理解。)这句话是整个课程的精神内核:不做旁观者,要做建设者。
LLM101n 的课程设计极为精妙,分为 17 章,难度递进,每章都有明确的学习目标。
第一阶段:入门(Ch1-3)
第1章从最原始的 Bigram 语言模型开始——给定前一个词,预测下一个词,简单到用不到 20 行 Python 就能实现,却是整个语言模型的基石。第2章引入 Micrograd,这是一个 Karpathy 亲手写的微型自动微分引擎,代码量仅约 100 行,完整实现了反向传播的每一步推导。通过 Micrograd,你真正理解了 梯度下降 三个字背后的数学直觉,而非仅仅调用 loss.backward()。第3章扩展到 N-gram 模型和多层感知机(MLP),引入 GELU 激活函数和矩阵乘法,为后续的注意力机制做铺垫。
第二阶段:核心架构(Ch4-6)
第4章是全书转折点:引入 Attention(自注意力机制)。Karpathy 用极其直觉的方式解释 QKV 矩阵、softmax 归一化和多头注意力,没有 PyTorch 的黑盒封装,只有手写的矩阵运算。这一章让很多人第一次真正 看见了 Transformer 的工作原理。第5章正式构建完整的 Transformer 架构,引入残差连接(Residual)和 LayerNorm,完整复现 GPT-2 的核心设计。第6章讲解 Tokenization(分词),实现 BPE(Byte Pair Encoding)算法——这是让 LLM 能处理任意文本的关键组件,GPT、Llama、BERT 都用它。
第三阶段:训练优化(Ch7-11)
这一阶段聚焦工程实践:第7章讲优化器(AdamW)和初始化策略;第8-10章是重头戏——三章连讲速度:CPU/GPU 设备管理、混合精度训练(fp16/bf16/fp8)、分布式训练(DDP/ZeRO)。这三章将课程从 能跑 推向 能训练,揭示了大厂训练千亿参数模型的工程奥秘。第11章讲数据集构建和合成数据生成技术,这是 RLHF 的前置知识。
第四阶段:推理与微调(Ch12-17)
第12章 KV-Cache 是推理优化的核心,让模型生成时不用每次都重新计算历史上下文;第13章量化(Quantization)让大模型能在消费级 GPU 上运行;第14-15章是当前最热门的 LLM 微调技术:SFT(监督微调)、LoRA、RLHF(PPO/DPO),这两章直接对应了 ChatGPT 让大模型 对齐人类偏好 的核心魔法;第16章部署——构建 API 和 Web App;第17章多模态,引入 VQVAE 和 Diffusion Transformer,衔接 GPT-4V 等多模态模型的原理。
市面上 LLM 教程很多,但 LLM101n 有几个不可替代的特点。
第一,无依赖手写实现。课程全程只用 Python + NumPy,不依赖 PyTorch/JAX 等框架。这意味着你不是在 调用 API,而是在 实现 API。当你写完自己的 attention 函数再去看 PyTorch 的 nn.MultiheadAttention,会有恍然大悟的通透感。
第二,完整闭环。从模型定义、训练、推理、微调到部署,17章覆盖了 LLM 的完整生命周期,不是碎片化的知识点拼接。
第三,数学与工程的平衡。Karpathy 坚持 先直觉再形式化的教学方法——先用图形和类比建立直觉,再用公式和代码实现巩固。不要求你懂线性代数才能开始,但学完课程后你自然就懂了。
第四,附录覆盖了几乎所有扩展方向。课程附录列出了大量延伸话题:汇编语言、C、Python,Tensor的形状和视图和步长,GPT-1/2/3/4、LLaMA、MoE架构,多模态——这些是给学完主干课程后的地图,指明了下一步该往哪走。
需要注意的是,截至分析时,LLM101n 仓库本身仍处于 占位 状态:仅包含 README 课程大纲和一张头图,没有实际代码文件。课程正在由 Eureka Labs 积极开发中(README 明确标注 currently being developed)。预计正式上线后会有完整的代码仓库。
这一 空仓库 状态并不影响 LLM101n 的价值——README 本身就是一份极其详尽的学习路线图,37490 颗星中有大量是开发者提前占位等待课程上线。从大纲的完成度来看,Karpathy 对每一章要讲什么已经想得非常清楚。
想系统理解 LLM 原理的开发者:学了 PyTorch 教程但还是不懂 Transformer 怎么 work,这门课帮你补上那层窗户纸。AI 相关专业的学生:作为吴恩达课程的进阶版,LLM101n 提供了更现代、更深入的内容。产品/运营转行的 AI 从业者:不要求深厚数学背景,Python 基础即可,门槛比想象中低得多。
LLM101n 最大的不确定性是 课程还没上线——正式课程的质量如何、内容是否与大纲一致、是否有视频配合,都要等发布后才能验证。此外,手写实现的路线虽然教学效果好,但与企业级 LLM 开发使用的框架(PyTorch/JAX + DeepSpeed + vLLM)有相当距离,学完课程后还需要额外学习生产级工具链。
LLM101n 代表了一种 AI 教育的新思路:不是教你 怎么用 ChatGPT 写文案,而是教你 怎么从零造一个 ChatGPT。这种自底向上的教学法,与 Andrew Ng 的吴恩达课程形成互补——前者偏向应用层,后者偏向原理层。随着大模型开源生态的成熟(Llama、Mistral、Qwen),越来越多人有能力也有意愿深入理解模型内部,LLM101n 正是这个趋势的产物。
37490 颗星且仍在增长,Andrej Karpathy 的号召力毋庸置疑。这门课程一旦正式上线,极有可能成为 AI 学习史上最具影响力的课程之一。