Transformer Forge

纯 JS · 零依赖 · 零构建 手写实现 8/8 自检 世界顶级 AI 通用 backbone —— 多头注意力 / LayerNorm / FFN / Pre-LN 残差

作者:晨星 · 站在 Vaswani et al. 2017 与世界顶级成果之上 · 集大成、零重写

一键自检(不变量验证)

每个算子都有可被独立实现交叉验证的「不变量」:解析解 vs 数值解(梯度检验)、数学性质(归一/掩码)、训练收敛性。

测试项结果关键不变量
点击「运行自检」开始……

注意力可视化(交互)

展示多头自注意力的权重矩阵 A(行=Query,列=Key)。颜色越亮代表注意力权重越大。

权重范围 0–1,每行求和 = 1(softmax 归一)。因果模式下上三角强制为 0。

架构(Pre-LN Transformer 块)

   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 · 开源署名 晨星