一句话定义
模型架构范式是 Transformer 的三种组织方式:Encoder-only、Decoder-only、Encoder-Decoder。核心区别是注意力掩码和训练目标,而不是完全不同的网络。
为什么需要区分
任务对“每个 token 能看什么”要求不同:理解类任务可以双向看全序列;生成类任务必须只能看左侧,避免偷看未来;翻译/摘要需要先读完整输入,再逐步生成输出。
三种范式
- Encoder-only:全注意力、双向;常用掩码语言建模或对比学习;适合分类、检索、Embedding;代表是 BERT。
- Decoder-only:因果掩码,只能看左侧;用下一 token 预测训练;适合对话、代码、开放生成;代表是 GPT 系列。
- Encoder-Decoder:编码器双向,解码器因果并加交叉注意力;适合翻译、摘要等 seq2seq;代表是 T5、BART。
关键取舍
- Decoder-only 结构简单、易扩展、支持 in-context 学习;但双向理解需要额外设计。
- Encoder-only 理解能力强,但不能直接做开放生成。
- Encoder-Decoder 适合输入输出长度差异大的任务,但组件多、训练和推理链路更复杂。
常见误区
- Transformer 不等于 Decoder-only;它只是三种范式之一。
- Encoder-only 完全不能生成:可以通过任务头或接解码器,但不是原生自回归生成。
- Decoder-only 不能做理解:分类、抽取、检索同样可以做,只是训练目标不同。
用在哪里
- 对话、代码、创作 → Decoder-only。
- 分类、语义检索、向量化 → Encoder-only。
- 翻译、摘要、语音转写 → Encoder-Decoder。
- 选模型前先看任务需要双向理解还是自回归生成。
相关概念
- Transformer:三种范式的共同主干。
- Attention:掩码作用的核心机制。
- MHA:注意力头的具体实现。