Attention → FFN 跟着一行数字走教学小模型 · 单文件 / 可离线

宽图可左右滑动 · 横屏更清楚

这是简化到什么程度的模型?

这是能手算的 Transformer 教学模型:3 个 token,每个 2 个特征;单个注意力头;FFN 中间宽度为 3。数字和权重都是人为设置,不代表千问的真实参数;“我 / 爱 / 猫”只是示意 token,不代表真实分词结果。

为了先看清主线,这版省略 RMSNorm(含 Q/K 归一化)、多头拆分和 KV cache,Attention 的输出投影取单位矩阵。保留二维 RoPE(位置 0 / 1 / 2,频率 1 rad / 位置)、缩放、因果遮罩、Softmax、两次残差与完整 SwiGLU 三个投影。图中只重点追踪第 3 行,其他行也照样计算;FFN 不混合不同行。

回到千问时:输入 → RMSNorm → Q/K/V → 分头 → Q/K 归一化与 RoPE → Attention → 合头和输出投影 → 加回输入 → RMSNorm → FFN(gate / up → SiLU → 逐元素乘 → down)→ 加回 FFN 前的输入。这是一个解码器层,后面还有其他层、最终归一化和词表投影。

这里的“门”是 SiLU(gate 投影) 产生的系数,不是概率、不是 0/1 开关,也不限制在 0~1。矩阵通常保留 2 位,旋转演示保留 3 位;加权求和页用近似比例手算。模型后续计算始终使用未舍入值。

参考架构:Qwen3-0.6B 配置;Qwen3 旋转实现;RoPE 论文。本页无需联网即可运行;博客需允许内联 JavaScript,或以独立 HTML / iframe 嵌入。