【Transformer 与注意力机制】40|三大路线之争:为什么大模型几乎都是 Decoder-only

💡 原文中文,约15100字,阅读约需36分钟。
📝

内容提要

本文分析BERT、GPT、T5三种架构的根本差异在于注意力掩码决定的“可见性图”,此图训练后不可变。Decoder-only虽在通用生成上占优,但并非表示能力更强,而是统一了训练与推理管线。推理系统如KV Cache等默认单流因果结构,Encoder-Decoder需额外处理。在分类、检索等任务上,Encoder模型仍更高效,生成式方案并非万能。

🔎

延伸解读

可见性图:架构差异的根源

三种架构的根本差异在于注意力掩码决定的“可见性图”,即每个位置能关注哪些位置。这张图在预训练时固定,之后无法通过提示词改变。Encoder-only 全可见,Decoder-only 只能看过去,Encoder-Decoder 则结合两者。理解这一点,就能明白为什么不同架构天然适合不同的任务接口。

Decoder-only 并非表示能力更强

T5 论文的受控实验显示,在相同参数量和计算量下,纯因果语言模型在 GLUE 和 SQuAD 上明显低于允许双向可见的模型。差距主要来自输入部分能否被双向看见,而非是否拆成两个栈。Decoder-only 的优势在于统一了训练和推理管线,而非表示能力更强。

推理系统为何偏爱 Decoder-only

KV Cache、continuous batching、投机解码等推理优化技术都默认假设请求是单流因果序列。Encoder-Decoder 需要维护两套缓存、处理异构长度,打破这些假设,导致工程支持滞后。这解释了为何主流推理引擎优先优化 Decoder-only 路径。

生成式方案并非万能

在 embedding、rerank、强制双向抽取等场景,Encoder 模型更高效。生成式检索在百万级语料上扩展性差,RankGPT 也需要蒸馏成小模型才能部署。接口统一不等于成本或质量问题的消失,选择架构应基于任务需求而非“一切皆生成”的叙事。

Q&A

BERT、GPT、T5三种架构的根本差异是什么?

三种架构的根本差异在于注意力掩码(attention mask)决定的“可见性图”,即每个位置能关注哪些位置。BERT是Encoder-only,全可见;GPT是Decoder-only,因果掩码,只能看过去;T5是Encoder-Decoder,编码器全可见,解码器因果且通过交叉注意力单向看编码器。

为什么大模型几乎都是Decoder-only?

Decoder-only在通用生成上占优,并非表示能力更强,而是统一了训练与推理管线:数据、损失、检查点、评测方式都一致,且推理系统如KV Cache、continuous batching、投机解码默认支持单流因果结构。

双向注意力是否比单向弱?

不是。T5论文的受控实验显示,在相同参数量和计算量下,纯因果语言模型分数最低,而允许输入双向可见的prefix LM和Encoder-Decoder明显更好。双向注意力没有理论劣势,Decoder-only赢在管线统一。

KV Cache、continuous batching、投机解码为什么默认假设Decoder-only?

这些推理优化技术都基于单流因果序列假设:KV Cache依赖历史token的K/V不变;continuous batching假设每个请求只新增一个token且同质;投机解码要求draft和target模型在相同causal前缀上比较分布。Encoder-Decoder的cross-attention和可变encoder长度会打破这些假设。

在哪些场景下不应该使用Decoder-only模型?

三类场景:1)embedding和rerank,用encoder一次前向更高效;2)强制双向抽取,如NER和抽取式问答,需要右侧上下文;3)强条件翻译和摘要,输入双向表示质量影响生成。

生成式检索(如DSI)在扩展到百万级语料时表现如何?

生成式检索在小语料上可与dual-encoder竞争,但扩展到百万级语料(如MS MARCO的880万段落)时效果明显下滑,扩展性仍是未解决问题。单纯堆参数收益递减,需要合成查询等额外手段。

RankGPT的蒸馏说明了什么?

RankGPT证明GPT-4零样本重排质量可超过监督式模型,但论文通过permutation distillation将能力蒸馏到440M参数的小模型才达到可部署成本。这说明生成式重排的直接调用成本高,蒸馏的存在表明“一切皆生成”并未解决成本问题。

Encoder-Decoder在推理服务化上需要额外处理哪些问题?

需要处理三方面:1)cache结构异构,需维护encoder和decoder两套K/V;2)batching同质性被打破,encoder长度差异导致调度成本异构;3)投机解码验证条件复杂,draft和target需在相同cross-attention条件下比较。

🏷️

标签

➡️

继续阅读