选择一个词元,观察一个注意力头如何汇总信息。
教学数据 · 未训练数值按公式计算,不代表真实语义关系。
全可见自注意力
各位置分到多少权重
权重决定如何汇总 V 向量。显示值经过四舍五入。
继续看:多头、完整矩阵与公式
本实验使用 16 维输入、8 个头,每头 2 维。只展示一个头时,其他头仍会计算。因果对照使用同一组输入,仅改变可见范围;不执行目标右移或翻译。
8 个头并行计算,再拼接
点击一个头,比较它的权重和输出。不同头使用不同的投影参数。
拼接结果再乘输出矩阵 Wᴼ。教学维度为 8 × 2 → 16 → 16,原版 Base 为 8 × 64 → 512 → 512;头的职责来自训练,没有预设的“语法头”或“语义头”。
Attention(Q, K, V) = softmax(QKᵀ / √dₖ + M)V
查看当前词元的逐项计算
查看输入与投影矩阵
X 是直接构造的一层注意力输入,未经过训练;它不与位置编码实验或生成流程演示共用模型权重。
公式与多头结构:原论文 §3.2 ↗
同一个词元放在不同位置,会得到不同的初始表示。
曲线展示不同维度随位置的变化。快慢不同的频率共同描述位置,再与词嵌入逐项相加。
sin,维度 0cos,维度 1sin,维度 128cos,维度 129
按原版 d_model = 512 计算。图上只展示 4 个维度,完整向量有 512 维。
查看位置编码公式
PE(pos, 2i) = sin(pos / 10000^(2i / 512))
PE(pos, 2i+1) = cos(pos / 10000^(2i / 512))
位置公式:原论文 §3.5 ↗
预设序列 · 流程演示“那只猫坐在垫子上 → The cat sat on the mat”。不运行翻译模型,不展示预测概率。
编码器读取整句那只 猫 坐 在 垫子 上最终编码器表示,经各解码器层的投影形成 K / V
正确答案先右移一位,再送入解码器
训练样本提供了整句正确答案,因此能把多个预测位置放在同一次前向计算中。因果遮罩仍会挡住右侧位置,防止提前看到当前要预测的答案。
生成时,下一个词元还未知,必须先得到它,才能把它加入下一步的输入前缀。用注意力替代循环网络,不等于一次就能生成整句。
右移与遮罩:原论文 §3.1 ↗