拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的

图片[1]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News
 

面试官让手写 Attention?看看这个纯 NumPy 项目,从底层彻底告别“调包侠”。

 

Ilya Sutskever 曾给 John Carmack 开出一份 30 篇论文的书单,直言如果你能真正吃透这些,你就掌握了当今 AI 领域 90% 的精髓

 

 

图片[2]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News

 

这份清单跨度极广,从早期的复杂性理论、热力学与元胞自动机,一路延伸至 RNN、LSTM,再到后来奠定 Transformer 基石的 Seq2Seq 和 Attention 机制。

 

虽然流传很广,但由于数学公式枯燥且缺乏系统的代码实现,这份书单大多躺在很多人的收藏夹里。

 

对于习惯使用 PyTorch 或 TensorFlow 的用户来说,调用  nn.LSTM 虽然高效,但也屏蔽了最核心的数学推导,结果代码写了好几年,loss 是怎么传回去的,脑子里还是一团浆糊。

 

最近 GitHub 上出现了一个项目 sutskever-30-implementations,不使用任何深度学习框架,仅用 NumPy,从零复现了这份清单上的全部 30 篇论文

图片[3]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News

项目地址:

https://github.com/pageman/sutskever-30-implementations

图片[4]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News

项目核心

这个项目最硬核的地方,在于作者给自己定了四条严苛的铁律,这也是它区别于其他复现仓库的核心特征:

 

✅ 纯粹性 (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图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News

30 篇论文的复现路径

项目将这 30 篇论文按逻辑拆分为四个阶段,并特别针对大语言模型时代的技术演进做了关键内容的更新与微调。

 

 

第一阶段:基础概念

 

聚焦物理与数学基础。涵盖复杂性理论、RNN 字符生成及 LSTM。

 

 

图片[22]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News

 

看点:手写 LSTM 的 Forget Gate 和 Input Gate 梯度更新逻辑。这是理解梯度消失/爆炸最直观的方式。

 

 

第二阶段:架构演进

 

从 CNN 到 Transformer 的架构跃迁。包含 ResNet、Pointer Networks、GNN 以及 Attention Is All You Need。

图片[23]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News

看点:纯 NumPy 实现 Multi-head Self-Attention。手动处理 Q, K, V 的矩阵乘法、Masking 操作以及 Softmax 的数值稳定性。

 

 

第三阶段:高阶推理

 

探讨推理能力与长期记忆。涉及神经图灵机(NTM)、关系推理和 CTC Loss。

 

 

图片[24]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News

 

看点:Paper 18 (Relational RNNs) 是工程难点。约 1100 行代码,手动构建了关系记忆核心及其复杂的时序反向传播算法。

 

 

第四阶段:理论与现代架构

 

为了防止书单过时,项目替换了部分古早理论,补全了 LLM 时代的拼图,并重温了经典课程:

 

 

图片[25]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News

 

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图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News

工程与面试价值

这份代码能直观弥补调用 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

 

最终,这个纯 NumPy 模型在对象跟踪任务上甚至击败了 LSTM Baseline,这才是对数学功底的终极致敬。

 

 

图片[36]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News

 

案例三:多 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图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News

快速上手

项目环境极其简单:

 

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
图片[47]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News
图片[48]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News
图片[49]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

图片[58]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News

△长按添加PaperWeekly小编

🔍

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

 

·
图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News

 

图片[75]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News图片[5]-拒绝调包!纯NumPy手搓Ilya推荐的30篇论文,连反向传播都是手写的-AI Express News

<原文链接:https://mp.weixin.qq.com/s/YxX39wiFMO7NPyBCjGLOaA

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容