纯 JS · 零依赖 · 零构建 手写实现 8/8 自检 世界顶级 AI 通用 backbone —— 多头注意力 / LayerNorm / FFN / Pre-LN 残差
作者:晨星 · 站在 Vaswani et al. 2017 与世界顶级成果之上 · 集大成、零重写
每个算子都有可被独立实现交叉验证的「不变量」:解析解 vs 数值解(梯度检验)、数学性质(归一/掩码)、训练收敛性。
| 测试项 | 结果 | 关键不变量 |
|---|---|---|
| 点击「运行自检」开始…… | ||
展示多头自注意力的权重矩阵 A(行=Query,列=Key)。颜色越亮代表注意力权重越大。
x ──┬───────────────────────────────────────┐
│ │
LayerNorm │
│ ▼
Multi-Head Attention ──────────┐ Add (残差)
│ │ │
Add ◄─────────────────────────┘ LayerNorm
│ │
│ FFN (GELU)
│ │
Add ◄─────────────────────────────────────┘
│
out
Attention: Q=XWq, K=XWk, V=XWv
A = softmax(QKᵀ/√dₖ + mask)
Y = (concat_heads(A·V)) · Wo
这是 GPT / LLaMA / 一切现代大模型的统一骨架。本实现覆盖其全部基础算子,且每项都有解析可验证的不变量。
// 浏览器
// <script src="transformer-forge.js"></script>
const res = TF.runTests(); // 跑 8 项自检
const P = TF.initBlock(64, 8, 256); // d=64, 8 头, FFN=256
const { Y } = TF.blockForward(X, P, { n_heads:8, act:'gelu', eps:1e-5 });
// Node(无头)
// node transformer-forge.js // → 8/8 全绿
项目完整文档见 README.md · 开源署名 晨星