"如果说 AI 领域有一位老师能把'神经网络'讲得像'如何煮咖啡'一样清晰,那一定是 Andrej Karpathy (AK)。他不仅是 OpenAI 的创始成员、前特斯拉 AI 总监,更是一位坚持'Build in Public'的教育家。他的课程不堆砌名词,而是带你从一行代码、一个像素开始,亲手构建出改变世界的 GPT 架构。"
Andrej Karpathy 的课程之所以被称为"Zero to Hero",精髓就在于他将复杂的架构拆解成了几个非常易读的 GitHub 仓库。
以下是与他 YouTube 系列视频严格对应的代码库链接:
1. 核心教学仓库:NN-Zero-To-Hero
这是他所有入门视频的总仓库,包含了从反向传播到语言模型的基础练习。
-
链接:https://github.com/karpathy/nn-zero-to-hero
-
对应视频:包括
micrograd、makemore等系列课件。
2. 标志性项目:nanoGPT(最推荐)
这是目前社区公认的训练 GPT 的最佳入门模版。它代码量极小且完全可读,可以让你在自己的电脑上训练一个小型的类 GPT 模型。
-
链接:https://github.com/karpathy/nanoGPT
-
特点:逻辑极其清晰,去除了工业级框架中冗余的包装,只保留最核心的 Transformer 训练逻辑。
3. 微型反向传播引擎:micrograd
如果你想彻底理解神经网络底层的数学原理,这个仓库是必读的。它用不到 100 行代码实现了一个支持自动微分的引擎。
- 链接:https://github.com/karpathy/micrograd
4. LLM 分词器:minbpe
对应他最近非常火的《Let\'s build the GPT Tokenizer》视频。
-
链接:https://github.com/karpathy/minbpe
-
用途:让你明白模型是如何处理文字、为什么会有乱码以及为什么 LLM 的数学不好。
5. C 语言纯手写:llama2.c
这是一个进阶项目,展示了如何用纯 C 语言(不依赖 PyTorch 等库)实现 Llama 2 的推理。
-
链接:https://github.com/karpathy/llama2.c
-
LeisureLinux 建议:这个项目非常适合 Linux 爱好者,你可以看到模型是如何在底层与硬件交互的。
💡 建议学习顺序
建议从micrograd开始(理解数学),然后迅速转入nanoGPT(理解架构)。
很多 Linux 爱好者都是从编译内核、折腾 Arch 开始的。其实学 AI 的快感和折腾 Linux 异曲同工。欢迎在评论区分享你的"第一次 AI 跑通时刻",让我们看看谁的经历最硬核!