完整题目
请详细介绍 Transformer 模型的整体架构,包括其编码器-解码器结构、自注意力机制、前馈网络、位置编码等核心组件的工作原理。
本文目录
原始Transformer:encoder-decoder
输入token embedding与位置编码相加后进入N层encoder。每层包含multi-head self-attention和逐位置FFN;每个子层外有残差、dropout和LayerNorm。原始论文使用Post-LN:
LayerNorm(x + Sublayer(x))
不是现代Pre-LN的 x + Sublayer(LN(x))。
Decoder每层依次包含masked self-attention、对encoder memory的cross-attention和FFN。因果mask阻止目标位置看到未来token;cross-attention以decoder状态为Q、encoder输出为K/V。
核心计算
Attention(Q,K,V)=softmax(QK^T/sqrt(d_k)+mask)V。多头把Q/K/V投影到多个子空间,并行计算后拼接,再经线性输出投影。缩放用于控制点积幅度,输出投影仍是线性混合。
FFN对每个位置使用同一组两层MLP,原论文为ReLU,现代模型常用GELU、SwiGLU等变体。位置编码用于打破纯attention对顺序的置换对称;原论文使用正弦余弦编码。它可计算到训练长度之外,但“可计算”不保证模型可靠外推。
现代架构要分开说
BERT是encoder-only;GPT是decoder-only,没有原始seq2seq decoder中的cross-attention;T5属于encoder-decoder。现代LLM常采用Pre-Norm、RMSNorm、RoPE和不同FFN,不能倒写成原始Transformer定义。训练时decoder各位置可在因果mask下并行,推理时通常自回归生成。