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-Decoder | T5、BART、原始 Transformer | 翻译、摘要等 seq2seq 任务 |
| Encoder-only | BERT、RoBERTa | 理解任务(分类、问答、NER) |
| Decoder-only | GPT 系列、Claude、LLaMA | 生成任务(对话、写作、代码) |
为什么 Decoder-only 赢了
Decoder-only 架构更简单(只需一半结构),且通过自回归方式天然适合开放式生成。当模型规模足够大时,Decoder-only 在理解任务上也不输 Encoder 方案,最终成为大语言模型的主流选择。
引用本术语的文章