![图片[1]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News](https://www.aiexpress.news/wp-content/uploads/2025/12/20251208235640308-1765209400-bd9bc6838679ed2ca2d7558267214b8d.gif)
面试官让手写 Attention?看看这个纯 NumPy 项目,从底层彻底告别“调包侠”。
Ilya Sutskever 曾给 John Carmack 开出一份 30 篇论文的书单,直言如果你能真正吃透这些,你就掌握了当今 AI 领域 90% 的精髓。
![图片[2]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News](https://www.aiexpress.news/wp-content/uploads/2026/01/20260131011703498-1769793423-6e65b4e70eab6c7679fdfdece99cea90.png)
这份清单跨度极广,从早期的复杂性理论、热力学与元胞自动机,一路延伸至 RNN、LSTM,再到后来奠定 Transformer 基石的 Seq2Seq 和 Attention 机制。
虽然流传很广,但由于数学公式枯燥且缺乏系统的代码实现,这份书单大多躺在很多人的收藏夹里。
对于习惯使用 PyTorch 或 TensorFlow 的用户来说,调用 nn.LSTM 虽然高效,但也屏蔽了最核心的数学推导,结果代码写了好几年,loss 是怎么传回去的,脑子里还是一团浆糊。
最近 GitHub 上出现了一个项目 sutskever-30-implementations,不使用任何深度学习框架,仅用 NumPy,从零复现了这份清单上的全部 30 篇论文。
![图片[3]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News](https://www.aiexpress.news/wp-content/uploads/2026/01/20260131011704113-1769793424-a3fa8efbf4e2a0295672c4ddd9ccd24a.png)
项目地址:
https://github.com/pageman/sutskever-30-implementations
![图片[4]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News](https://www.aiexpress.news/wp-content/uploads/2025/12/20251221210231695-1766322151-08c872d74c2965279c19a6b051459d95-scaled.png)
项目核心
这个项目最硬核的地方,在于作者给自己定了四条严苛的铁律,这也是它区别于其他复现仓库的核心特征:
✅ 纯粹性 (Pure NumPy):拒绝 PyTorch、TensorFlow 或 JAX。代码中没有 autograd 黑魔法。前向传播是矩阵乘法,反向传播是手推的链式法则。
✅ 零依赖 (Synthetic Data):全部使用合成数据或自举数据。不需要下载几百 GB 的 ImageNet,也不需要配置 GPU 环境。代码即开即运行,专注于模型逻辑而非数据处理。
✅ 可视化 (Visualizations):每个 Notebook 都包含大量的图表,将抽象的数学公式转化为直观的 Loss 曲线、Attention Map 和梯度流动图。
✅ 交互式 (Interactive):项目完全基于 Jupyter Notebook 构建。代码逻辑分块执行,所见即所得,适合逐行调试观察中间变量。
![图片[13]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News](https://www.aiexpress.news/wp-content/uploads/2025/12/20251215190818681-1765796898-f6159061e56206da5ddc8ed1fcbecbb1-scaled.png)
30 篇论文的复现路径
项目将这 30 篇论文按逻辑拆分为四个阶段,并特别针对大语言模型时代的技术演进做了关键内容的更新与微调。
第一阶段:基础概念
聚焦物理与数学基础。涵盖复杂性理论、RNN 字符生成及 LSTM。
![图片[22]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News](https://www.aiexpress.news/wp-content/uploads/2026/01/20260131011705644-1769793425-a78d5605ec03f7a3886cbd322e90f3f0.png)
看点:手写 LSTM 的 Forget Gate 和 Input Gate 梯度更新逻辑。这是理解梯度消失/爆炸最直观的方式。
第二阶段:架构演进
从 CNN 到 Transformer 的架构跃迁。包含 ResNet、Pointer Networks、GNN 以及 Attention Is All You Need。
![图片[23]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News](https://www.aiexpress.news/wp-content/uploads/2026/01/20260131011705614-1769793425-a6c18d2221a7d0cc77ebc42b62dba778.png)
看点:纯 NumPy 实现 Multi-head Self-Attention。手动处理 Q, K, V 的矩阵乘法、Masking 操作以及 Softmax 的数值稳定性。
第三阶段:高阶推理
探讨推理能力与长期记忆。涉及神经图灵机(NTM)、关系推理和 CTC Loss。
![图片[24]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News](https://www.aiexpress.news/wp-content/uploads/2026/01/20260131011706909-1769793426-0a66ffcd641f703334c918f1d4556823.png)
看点:Paper 18 (Relational RNNs) 是工程难点。约 1100 行代码,手动构建了关系记忆核心及其复杂的时序反向传播算法。
第四阶段:理论与现代架构
为了防止书单过时,项目替换了部分古早理论,补全了 LLM 时代的拼图,并重温了经典课程:
![图片[25]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News](https://www.aiexpress.news/wp-content/uploads/2026/01/20260131011707117-1769793427-ad7a601bcfc21dcb49a283929acb83cd.png)
Paper 26 (CS231n):完整复现了斯坦福 CS231n 的视觉 pipeline,手写了从 kNN 到 CNN 的所有底层算子,进一步夯实了视觉架构的基础。
Paper 27 (Multi-token Prediction):探讨比 Next Token Prediction 更高效的训练范式。
Paper 29 (RAG):从底层实现检索增强生成,理解向量检索与生成的结合点。
Paper 30 (Lost in the Middle):复现长上下文窗口中注意力机制的“迷失”现象。
![图片[26]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News](https://www.aiexpress.news/wp-content/uploads/2026/01/20260105005251987-1767545571-c2a2998abe52b7d29a6255e80d85631c-scaled.png)
工程与面试价值
这份代码能直观弥补调用 API 与理解底层实现之间的认知缺口,对于应对算法面试和理解前沿架构都有实际帮助。
案例一:手写 Transformer 细节
面试中常见的要求是写出 Self-Attention 的计算公式或解释 Mask 的实现细节。
平时习惯了 nn.MultiheadAttention 的封装,容易忽略矩阵维度的变化。
在 13_attention_is_all_you_need.ipynb 中,每一行代码都对应着具体的数学操作。
我们看一段项目中的核心实现代码:
def scaled_dot_product_attention(Q, K, V, mask=None):
d_k = Q.shape[-1]
# Compute attention scores: Q @ K.T / sqrt(d_k)
scores = np.dot(Q, K.T) / np.sqrt(d_k)
# Apply mask (manual masking with large negative value)
if mask is not None:
scores = scores + (mask * -1e9)
# Softmax
attention_weights = softmax(scores, axis=-1)
output = np.dot(attention_weights, V)
return output, attention_weights
亲手写过 np.dot 和 mask * -1e9 ,你对 Transformer 显存占用( 复杂度来源)和 Softmax 数值稳定性的理解会更加具体。
案例二:手动反向传播
Paper 18 (Relational RNNs) 是整个项目中代码复杂度最高的章节。作者不仅仅是实现了前向传播,更是在 Notebook 的 Section 11 中,手写了一个简易的自动微分引擎。
在 18_relational_rnn.ipynb 中,作者定义了 Tensor 类来追踪梯度,并手动实现了所有操作的 backward 方法:
# 项目中的手动梯度实现片段
class Tensor:
def __init__(self, data, requires_grad=True):
self.data = np.array(data)
self.grad = np.zeros_like(self.data) if requires_grad else None
# 手写矩阵乘法的反向传播逻辑
def backward(inputs, output):
A, B = inputs
dC = output.grad
if A.requires_grad:
# dL/dA = dL/dC @ B^T
A.grad += dC @ B.data.T
这部分代码长达 1100 行,完整实现了包括 LSTM 门控、Attention 投影在内的所有梯度推导。
这就完了吗?没有。作者还真的用这个手搓的引擎把模型跑起来了。
看看下面这张训练曲线图,loss 稳步下降,证明了这套纯手工打造的轮子不仅仅是玩具,而是真的能转起来。
![图片[35]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News](https://www.aiexpress.news/wp-content/uploads/2026/01/20260131011707879-1769793427-aa46599b9649d6e4702c89668686150b-scaled.png)
最终,这个纯 NumPy 模型在对象跟踪任务上甚至击败了 LSTM Baseline,这才是对数学功底的终极致敬。
![图片[36]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News](https://www.aiexpress.news/wp-content/uploads/2026/01/20260131011710379-1769793430-e148c899931194ef4d68324388031908.png)
案例三:多 Token 预测的样本效率
DeepSeek 和 GPT-4 等模型的研究方向之一是提升预测效率。Paper 27 (Multi-token Prediction) 探讨了比下一个词预测更高效的训练范式。
在 27_multi_token_prediction.ipynb 中,作者没有使用复杂的框架,而是简单直接地通过多个 Output Heads 来实现同时预测未来 N 个 Token:
# Multi-Token RNN 的核心逻辑
for i in range(num_future_tokens):
# 每个未来位置都有独立的输出头
W_out = np.random.randn(vocab_size, hidden_size) * 0.01
self.output_heads.append((W_out, b_out))
在相同的数据量下,多 Token 预测能提供更丰富的梯度信号,使模型收敛更快,这对于理解当前大模型如何提升样本效率极具参考价值。
![图片[37]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News](https://www.aiexpress.news/wp-content/uploads/2026/01/20260105005253576-1767545573-ce5aff2159ba07f7ac3282811c4f98cb-scaled.png)
快速上手
项目环境极其简单:
1. 克隆仓库:
git clone https://github.com/pageman/sutskever-30-implementations
2. 安装基础依赖(仅需三个库):
pip install numpy matplotlib scipy
3. 运行 Notebook:
jupyter notebook 02_char_rnn_karpathy.ipynb
别光收藏不练,哪怕只跑通最简单的 char-rnn ,你对 AI 底层原理的理解都会上一个台阶。
更多阅读
![图片[46]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News](https://www.aiexpress.news/wp-content/uploads/2026/01/20260131011711607-1769793431-94da9f723086673b56ad584d7d544449.png)
![图片[47]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News](https://www.aiexpress.news/wp-content/uploads/2026/01/20260131011711482-1769793431-c77715c3ef409b62304512f7d9b4f7e2.png)
![图片[48]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News](https://www.aiexpress.news/wp-content/uploads/2026/01/20260131011712570-1769793432-8cee820ef92e10f05725aef270768cdf.png)
![图片[49]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News](https://www.aiexpress.news/wp-content/uploads/2026/01/20260131011713387-1769793433-67dbc25a4c2f55c8a54f7fdb01472422.gif)
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:hr@paperweekly.site
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
![图片[58]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News](https://www.aiexpress.news/wp-content/uploads/2026/01/20260131011714761-1769793434-e25b5976c5839892953adfdb8a08b655.png)
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
![图片[75]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News](https://www.aiexpress.news/wp-content/uploads/2026/01/20260105005307526-1767545587-d05dd54edebea617d2d273f87f22f891.jpeg)
<原文链接:https://mp.weixin.qq.com/s/YxX39wiFMO7NPyBCjGLOaA


















暂无评论内容