张芷铭的个人博客

Prefill 不是 Encoder。主流 LLM 是 Decoder-only 架构,Prefill 是解码器的一次性前向传播,构建 KV Cache。

核心结论

Prefill ≠ Encoder

  • 主流 LLM(GPT、Llama、Qwen)没有 Encoder
  • Prefill 是 Decoder-only 模型的"前向填充阶段"

Transformer 论文 vs 现代 LLM

架构组成
原始 TransformerEncoder + Decoder
现代 LLM(GPT 系)只有 Decoder

Encoder 特点

  • 双向注意力:第 5 个 token 能看到第 1~10 个 token
  • 理解任务:分类、抽取、翻译原文编码
  • 无自回归生成

Prefill 特点

  • 单向掩码注意力(causal mask):从左往右看
  • 构建 KV Cache:为自回归生成做准备
  • 一次性跑完整个 prompt

对比表

EncoderPrefillDecode
注意力双向单向掩码单向掩码
能否看未来不能不能
输入原文整段 prompt每次 1 个 token
输出上下文表示KV Cache + 首词 logit下一个 token
模型BERT、T5 编码器GPT/Llama 全系GPT/Llama 全系
任务理解、抽取推理初始化文本生成

总结

  • 原始 Transformer:Encoder + Decoder
  • 现代大模型:只有 Decoder
  • Prefill = Decoder 一次性跑整个 prompt,构建 KV Cache
  • Prefill ≠ Encoder

Comments