Encoder 与 Decoder:从 BERT 到 GPT
区分三大架构流派——仅编码器、仅解码器、编码解码器,理解 BERT 与 GPT 的训练目标差异及各自适用场景。
原始 Transformer 是"编码器-解码器"
机器翻译场景:编码器把源语言压成表示,解码器基于它逐词生成目标语言。后来研究者发现两个部分各自都能独当一面,演化出三大流派:
三大架构流派
- 仅编码器(BERT 系):双向注意力,训练目标是"完形填空"(遮住词猜词)。擅长理解类任务:分类、实体识别、句子相似度 —— Embedding 模型(RAG 检索用的)多是它的后代;
- 仅解码器(GPT 系):单向因果注意力(只看前文),训练目标是"预测下一个词"。擅长生成类任务 —— 你在 LangChain 里调用的 ChatModel 全部属于这一类;
- 编码器-解码器(T5 系):兼顾理解与生成,翻译、摘要等"输入→输出"映射任务表现稳健。
因果掩码:GPT 的关键开关
仅解码器架构在注意力矩阵上加了下三角掩码:第 i 个词只能看到 1..i 的词。这保证了生成时"未来信息不泄露",也让训练(一次算全句)与推理(逐词生成)目标一致。
选型启示(应用开发者视角)
- 做 RAG 检索 / 文本分类 → BERT 系或基于它的 Embedding 模型(便宜、快);
- 做问答、生成、Agent → GPT 系对话模型;
- 本地小任务两难时 → 先试小参数 GPT 系,通用性最好。
📝 课后练习
quiz-1 BERT 与 GPT 分别属于哪类架构?