13.4 编码器-解码器模型:T5 与 BART 的设计选择

编码器-解码器(Encoder-Decoder)是 Transformer 的原始架构形态。T5 和 BART 代表了这一架构在预训练时代的两种标志性使用方式。

13.4.1 T5:统一的文本到文本框架

Google 的 T5(Text-to-Text Transfer Transformer,Raffel 等人,2020 年)将所有 NLP 任务统一为文本到文本的生成问题

输入:"translate English to German: That is good." 
输出:"Das ist gut."

输入:"sst2 sentence: This movie is terrible."
输出:"negative"

输入:"summarize: [长文本]"
输出:"[摘要]"

这种统一框架的优势在于:同一个模型、同一种训练方式、同一种推理方式处理所有任务——极大简化了多任务学习和迁移学习的工程复杂度。

T5 的预训练使用文本填充(Span Corruption)目标:随机遮盖输入中的连续片段,用编码器处理被破坏的输入,解码器生成被遮盖的片段及其位置标识。这可以看作是 MLM 的推广——从预测单个词元到预测连续文本片段。

T5 团队在论文中系统地比较了数十种预训练策略、架构变体和训练方法,为后续研究提供了宝贵的实验基准。

13.4.2 BART:序列去噪的灵活性

Facebook 的 BART(Lewis 等人,2020 年)将预训练视为序列去噪自编码任务:对输入施加各种形式的噪声,训练模型恢复原始文本。

BART 支持五种噪声类型:

  • 词元遮盖(类似 BERT)

  • 词元删除(比遮盖更难——模型需要推断删除的位置)

  • 句子排列打乱

  • 文档旋转

  • 片段填充(用单个 [MASK] 替换一个连续片段)

不同的噪声组合使模型学到不同的能力。实验发现,文本填充和句子排列的组合效果最好——前者训练局部理解和生成,后者训练文档级的结构理解。

13.4.3 后续发展:Flan-T5 与 UL2

值得注意的是,编码器-解码器架构在指令微调方向上仍有建树。Google 的 Flan-T5(2022 年)通过在大规模指令数据集上微调 T5,在零样本和少样本任务上大幅超越原始 T5,证明了编码器-解码器架构同样受益于指令微调。UL2(Unified Language Learner)则尝试统一不同的预训练目标(自回归、前缀语言模型和文本填充),探索了更灵活的预训练范式。

然而在大规模实践中,这些改进仍未改变纯解码器架构占据主导的趋势。

13.4.4 编码器-解码器 vs 纯解码器的权衡

编码器-解码器架构在以下方面有理论优势:

输入-输出分离:编码器对完整输入进行双向编码(理解),解码器负责生成输出。这种分工在翻译、摘要等有明确“输入”和“输出”的任务中很自然。

编码器不受因果约束:编码器使用全双向注意力处理输入,信息利用更充分。

然而在大规模实践中,编码器-解码器架构面临两个劣势:

参数效率较低:编码器和解码器各占约一半参数。对于主要做生成任务的场景,编码器的一半参数在推理时只处理输入而不参与生成,利用率较低。

扩展性不如纯解码器:大规模 Scaling 实验表明,纯解码器架构在同等参数量下的通用能力更强。这是因为自回归预训练让每个词元都贡献训练信号,且统一的架构避免了编码器和解码器之间的能力不平衡。

这些因素共同解释了为什么 2023 年以后,几乎所有新的大语言模型都选择了纯解码器架构。

最后更新于