AI Pulse
📡 X 信号

开源项目minnak-gpt纯NumPy复现Transformer,摊开黑盒反向传播细节

开源项目minnak-gpt纯NumPy复现Transformer,摊开黑盒反向传播细节

hsperus开发的开源项目minnak-gpt,没有任何深度学习框架依赖,纯靠NumPy复现了《Attention Is All You Need》的完整Transformer架构。比起直接调用PyTorch现成的算子,这个项目最有价值的地方在于它把黑盒里的反向传播和矩阵维度变换全部摊开在了明面上。

项目自带轻量级Autograd引擎,手写了Tensor与计算图追踪,支持多维数组下的matmul、add、exp、transpose等核心算子反向求导,填补了micrograd(仅支持标量求导)和nanoGPT(依赖PyTorch Autograd)之间的空白。

在多头注意力模块里,项目完整拆解了张量的形状变化:从(B, T, d_model)投影并切分成(B, Heads, T, d_k),算完缩放点积注意力再拼回去,反向传播时梯度如何逆向转置和重塑,代码写得一目了然。

训练闭环也全部自研:包含可学习参数gamma和beta的LayerNorm前向与反向梯度推导、Log-Sum-Exp数值稳定交叉熵损失,以及手写的Adam和带动量SGD优化器。

对于经常被高维矩阵乘法绕晕、或者面试需要手撕Attention/LayerNorm反向传播的人来说,翻一翻它的源码会非常通透。

查看 X 原帖

订阅 AI Pulse

每天 08:00 · 12:30 · 18:30 · 23:50 更新