Encoder-Decoder(编码器-解码器)

一种序列到序列的神经网络架构模式。Encoder将输入压缩为中间表示,Decoder基于该表示生成输出。原始Transformer采用此结构,后来分化为Encoder-only(BERT)和Decoder-only(GPT)两条路线。

Encoder-Decoder(编码器-解码器)

一句话理解

Encoder 负责理解输入,Decoder 负责生成输出——两者配合完成"输入→输出"的转换任务。

架构结构

text
输入序列 → [Encoder × N层] → 中间表示 → [Decoder × N层] → 输出序列
  • Encoder:读取完整输入,生成上下文表示。每一层包含 Self-Attention + FFN
  • Decoder:基于 Encoder 的输出,逐步生成结果。每一层包含 Masked Self-Attention + Cross-Attention + FFN

关键区别在于 Decoder 多了一个交叉注意力(Cross-Attention)子层——Decoder 的 Query 去"看" Encoder 的 Key/Value,实现输入信息到输出的传递。

三种变体

变体代表模型擅长
Encoder-DecoderT5、BART、原始 Transformer翻译、摘要等 seq2seq 任务
Encoder-onlyBERT、RoBERTa理解任务(分类、问答、NER)
Decoder-onlyGPT 系列、Claude、LLaMA生成任务(对话、写作、代码)

为什么 Decoder-only 赢了

Decoder-only 架构更简单(只需一半结构),且通过自回归方式天然适合开放式生成。当模型规模足够大时,Decoder-only 在理解任务上也不输 Encoder 方案,最终成为大语言模型的主流选择。

引用本术语的文章