“如果你真的把这些都学透了,你就掌握了当今深度学习中 90% 的核心。”

AI配图

这话不是哪个营销号说的,是 OpenAI 前首席科学家、AI 教父级人物 Ilya Sutskever 对 John Carmack 说的。

这 30 篇论文,构成了现代 AI 的骨架。从 RNN 到 Transformer,从卷积网络到 Scaling Laws,每一篇都是改变行业的里程碑。就在前几天,GitHub 上出现了一个名为 sutskever-30-implementations 的仓库。

一位 ID 为 pageman 的开发者,干了一件极其硬核的事:他把这 30 篇顶级论文,全部用最原始的 NumPy 重新写了一遍。

没有 PyTorch,没有 TensorFlow,没有任何深度学习框架的“魔法”。

只有纯粹的数学逻辑,和一行行赤裸裸的代码。

拒绝“调包”,回归第一性原理现在的 AI 工程师,多少有点“调包侠”的属性。

想搭个 Transformer?import torch.nn
想搞个反向传播?loss.backward()

框架封装得太好,好到让我们忘记了神经网络底层到底发生了什么。我们像是在开自动挡的跑车,引擎盖下的轰鸣声听过,但从来没摸过活塞。

AI配图

这个项目就是为了打破这种幻觉。

作者给自己定下了几条近乎苛刻的规矩:
只用 NumPy;
数据全部合成,不用下载;
每个 Notebook 都要能直接跑,还要有可视化。这哪里是写代码,这简直是在做“代码解剖学”。

These implementations deliberately avoid PyTorch/TensorFlow to:
Deepen understanding: See what frameworks abstract away

比如最基础的 02_char_rnn_karpathy.ipynb,它不让你调包,而是逼着你从零构建 RNN,亲手实现“随时间反向传播”(BPTT)。只有当你被梯度消失折磨得死去活来,你才会真正理解为什么后来 LSTM 需要那三扇该死的门。

一部用代码写成的 AI 进化史

这 30 个 Notebook,读起来就像是一部浓缩的 AI 进化史。

AI配图

你可以清晰地看到,人类是如何一步步逼近“智能”的。

03_lstm_understanding.ipynb 里,你为了解决长序列记忆问题,引入了遗忘门、输入门和输出门;
到了 07_alexnet_cnn.ipynb,视觉的大门被撞开,卷积层、池化层开始提取特征;
紧接着是 10_resnet_deep_residual.ipynb,为了解决深层网络训练不收敛的问题,“残差连接”横空出世,梯度终于能顺畅地流向底层。最精彩的转折发生在 13_attention_is_all_you_need.ipynb

这里没有复杂的循环,只有纯粹的“注意力机制”。缩放点积、多头注意力、位置编码……现代 LLM(大语言模型)的地基,就在这几百行 NumPy 代码里被打得严严实实。

但这还不够。

作者并没有止步于“模型架构”,他甚至把触角伸向了更底层的“系统设计”。

09_gpipe.ipynb 让你看到,当模型大到一块显卡装不下时,该如何利用“流水线并行”把模型切碎了塞进不同的设备,还要通过“微批次”填满那些讨厌的计算气泡。这不仅是算法,这是工程美学。

不仅是技术,更是关于“智能”的终极追问

如果你以为这里只有常见的深度学习模型,那你就太小看这个项目了。

仓库的后半部分,画风突变,开始探讨一些极其抽象、甚至带有哲学意味的问题。

比如 19_coffee_automaton.ipynb,名字叫“咖啡自动机”。

这玩意儿竟然是一个关于“不可逆性”的深度探索。它从咖啡混合扩散讲起,一路聊到了熵增、庞加莱回归定理,甚至麦克斯韦妖和兰道尔原理。它试图用代码解释:为什么时间是有方向的?为什么生命是逆熵而行的?

再比如 25_kolmogorov_complexity.ipynb,直接把柯尔莫哥洛夫复杂度搬了出来。

K(x) = 生成 x 的最短程序长度。

它告诉你:随机性就是不可压缩性。奥卡姆剃刀在这里被形式化为数学公式。这是机器学习最底层的理论基石。

最令人头皮发麻的是 24_machine_super_intelligence.ipynb。这里讨论的是通用人工智能(AIXI),基于 Solomonoff 归纳法的理论最优强化学习智能体。它甚至涉及到了“递归自我改进”和“智能爆炸”的场景。

这已经超出了普通编程的范畴,这是在用代码推演文明的未来。

当你看穿了所有魔法,你就成了魔法师

在这个项目里,还有一个细节让我印象深刻。

18_relational_rnn.ipynb 中,作者专门写了一节“手动反向传播实现”,大概 1100 行代码。在这个自动求导遍地走的年代,手写 1100 行梯度计算,听起来像是一种苦行僧式的自虐。

但这正是它的价值所在。

现在的 AI 圈子太浮躁了。大家都在比谁的参数量大,谁的应用场景花哨,很少有人愿意停下来,去抠一抠最底层的砖瓦。

这个仓库就像是一把手术刀,划开了那些光鲜亮丽的商用模型的外皮,露出了里面最原始、最粗糙、但也最真实的逻辑。

它不生产模型,它只生产“理解”。

正如作者在 README 里所说:> Educational clarity: No magic, every operation explicit

没有魔法,每一行运算都清清楚楚。

当你把这 30 个 Notebook 全部跑通,当你亲手敲下每一个矩阵乘法,当你看着梯度流过每一个残差连接。

那时候,你再看 GPT-4,再看 Claude,看到的就不再是一个黑盒,而是一堆你无比熟悉的、正在疯狂运转的 NumPy 数组。

这,才是真正的“看懂”。

这 30 个 Notebook,你敢去挑战吗?

参考链接:
https://github.com/pageman/sutskever-30-implementations