近年来,自然语言处理 (NLP) 领域的飞速发展主要得益于一个经验: 在海量文本上预训练大型模型,然后将其适配到特定任务。像 BERT、GPT-2、RoBERTa 和 XLNet 这样的模型都依赖于这种迁移学习范式,但它们在架构、预训练目标和数据集上有所不同——而这些差异往往难以厘清。

在《通过统一的文本到文本转换器探索迁移学习的极限》这篇论文中,谷歌大脑团队采取了不同的策略。他们没有仅仅提出又一个微小的改动,而是搭建了一个统一的实验平台,对多种变量进行了大规模、有原则的系统性探索: 架构、无监督目标、预训练语料、微调策略以及规模扩展方式。成果既是一份详尽的实证指南,也是一个名为 T5 (Text-to-Text Transfer Transformer,文本到文本迁移转换器) 的最先进模型家族。

本文将带你梳理论文的核心思想和发现,解释其中重要的实验,并重点总结在构建或选用模型时可直接借鉴的实践经验。

本文内容

  • 清晰解释驱动 T5 的文本到文本框架。
  • 基线设定 (模型、语料和目标) 。
  • 关键实验及其揭示的架构、目标、数据和训练策略方面的洞见。
  • 规模扩展与最终 T5 系列如何取得最先进成果。
  • 实践经验总结。

如果你想搞清楚在现代 NLP 迁移学习中哪些选择真正重要,这篇论文——以及这篇指南——将让事情变得更简单。

统一思想: 将每个任务都视为文本到文本

T5 最优雅的一步在于其核心理念: 将每个 NLP 问题都视作文本生成问题。

不再为分类任务单独设置输出层、为问答任务进行片段预测,或为摘要任务使用单独的解码器,T5 采用一个简短的文本前缀 (任务描述符) ,然后始终生成文本:

  • 翻译: translate English to German: That is good.Das ist gut.
  • 情感分类: sst2 sentence: it confirms fincher's status...positive
  • 摘要: summarize: <article><summary>
  • 回归 (STS-B 相似度分数) : stsb sentence1: ... sentence2: ...3.8

前缀指示了要执行的任务。模型的损失函数和解码过程在所有任务中保持一致。这种统一接口的强大之处在于两点:

  1. 能够在改变预训练方法、架构或数据集时进行公平的对比。
  2. 允许一个模型和一套代码同时处理生成式和判别式任务。

T5 文本到文本框架图,展示了不同的 NLP 任务 (如翻译、分类和摘要) 如何都被构建为文本输入,以提示模型生成文本输出。

图 1: 文本到文本框架示意。每个任务——翻译、问答、分类、摘要——都用输入文本加简短任务前缀的形式表示,模型训练生成目标文本。

基线设置: 编码器–解码器 Transformer + C4 + 去噪

在开展一系列实验之前,作者定义了一个符合现代实践的稳健基线:

  • 架构: 标准的编码器–解码器 Transformer (Vaswani et al., 2017) 。其“Base”模型约有 2.2 亿参数 (编码器与解码器规模与 BERT-base 相当) 。
  • 词表: SentencePiece 构建的 3.2 万词元词表,训练数据包括英语以及少量德语、法语、罗马尼亚语,以支持多语言解码。
  • 预训练语料: C4 (Colossal Clean Crawled Corpus,巨型清洗爬取语料) ,从 Common Crawl 提取,经清洗和去重,总计约 750GB 英文数据。
  • 预训练目标: 去噪/掩码片段目标,随机破坏 15% 的 token,将每个连续损坏片段替换为唯一的哨兵标记;目标是这些被丢弃片段的串联 (各片段前置相应的哨兵) 。这样生成的目标较短,有助于加快训练速度。

直观上: 输入中用哨兵标记替代移除的片段,模型需按正确顺序输出原始丢失内容。

展示 T5 基线去噪目标的示意图。原句“Thank you for inviting me to your party last week”中“for inviting”和“last”被屏蔽,替换为哨兵 <X> 和 <Y>。目标是“<X> for inviting <Y> last <Z>”。

图 2: 基线去噪目标。连续损坏的 token 在输入中合并成哨兵标记;解码器生成由相同哨兵分隔的缺失片段。

训练细节 (基线)

  • 预训练 524,288 步 (约 340 亿 token,使用填充) ;对各任务微调 262,144 步。
  • 优化器: AdaFactor。
  • 微调时解码策略: 贪心 (长输出的最终模型使用束搜索) 。
  • 评估: 涵盖 GLUE、SuperGLUE、SQuAD、CNN/DailyMail 摘要和 WMT 翻译任务。

在此基线上,研究人员一次仅改变一个因素,回答明确问题。

架构: 统一框架下编码器–解码器胜出

现代 NLP 中有多种架构类型:

  • 仅编码器 (BERT 风格) ——擅长分类与片段任务。
  • 仅解码器语言模型 (GPT 系列) ——自回归训练。
  • 前缀语言模型 (Prefix-LM,解码器结构,对前缀全局注意,输出因果注意) 。
  • 编码器–解码器 (经典 seq2seq) 。

如果要一个既能生成又能分类的通用型模型,哪种架构最好?

关键实验:

  • 在计算量或参数数相近条件下,比较编码器–解码器、仅解码器、前缀 LM。
  • 对比去噪 (掩码片段重构) 与自回归语言模型。

主要发现:

  • 编码器–解码器配合去噪目标在分类、问答、摘要、翻译各任务上表现最佳。
  • 前缀 LM 表现不俗,尤其在分类式任务,但显式的编码器–解码器注意力略胜一筹。
  • 编解码器参数共享能减少独立参数,性能损失不大,是有潜力的效率优化。
  • 在该框架下,去噪目标优于纯语言模型预训练。

可视化注意力模式和架构,论文给出了清晰的图示:

注意力掩码图: 全可见、因果、带前缀的因果。

图 3: 注意力掩码: 全可见 (每个 token 都能关注每个 token) 、因果 (不关注未来) 、带前缀的因果 (前缀全可见,其余因果) 。

三种主要 Transformer 架构示意: 编码器–解码器、语言模型、前缀 LM。

图 4: 架构比较。左: 编码器–解码器,中: 仅解码器语言模型,右: 前缀 LM (仅解码器,但对前缀全注意) 。

实践建议: 如需一个处理异构文本任务的单模型,基于去噪目标训练的编码器–解码器 Transformer 是简单且强劲的选择。

无监督目标: 去噪 (预测掩码片段) 更稳健

论文系统评估多种预训练目标,主要类别:

  • 前缀 LM (给出前半序列,预测后半) 。
  • BERT 风格掩码语言模型 (MLM) ——掩蔽 15% token,预测之。
  • 去噪变体: 替换连续片段为哨兵,仅预测这些片段 (T5 基线) 。
  • MASS 风格及其他序列级重构目标。
  • 去打乱 (Deshuffling) : 随机打乱 token 顺序并预测原序。

还实验了不同破坏策略: i.i.d. token 掩蔽 vs. 片段掩蔽;破坏率 (10%–50%) ;预测全输入或仅被掩蔽部分。

亮点:

  • 在此框架中,去噪/MLM 风格目标优于纯自回归语言模型。
  • 仅预测损坏片段且替换为哨兵标记的方式计算更高效,性能与重构全序列相当甚至略好。
  • 片段掩蔽 (平均长度≈3) 略优,目标更短,提高吞吐。
  • 约 15% 的破坏率合理,50% 过高,会损害 GLUE/SQuAD。

作者用流程图总结目标探索:

无监督目标探索流程图: 高层方法、破坏策略、比率、片段长度。

图 5: 论文探索的无监督目标设计空间。

实践建议: 采用连续片段去噪,仅重构丢弃片段,可兼顾性能与效率。

预训练数据: 干净、多样、大规模至关重要

论文引入 C4: 750GB 英文数据,从 Common Crawl 清洗去重而来。清洗规则包括:

  • 仅保留以终止标点结尾的行。
  • 丢弃少于五句的页面。
  • 删除含攻击性或占位词、JS 警告、花括号 (排除代码) 的页面。
  • 语言检测筛选高置信度的英文页面。
  • 对重叠的三句话片段去重。

实验: 在替代语料上预训练

  • 未过滤 C4: 无清洗。性能下降。
  • RealNews 类: 仅新闻。
  • WebText 类: Reddit 过滤的高质量内容。
  • 维基百科;维基百科+多伦多书籍语料 (TBC) 。

发现:

  • 清洗有益: 未清洗 C4 在各任务中更差。
  • 领域语料可提升相关任务表现,如 Wiki+TBC 在书籍数据上更好,但此类语料规模小。
  • 关键: 小语料多次循环预训练会伤下游泛化。重复样本导致训练损失迅速降低 (记忆) 而性能下降。

训练损失曲线直观展示截断/循环语料的记忆效应:

较小重复语料预训练会使训练损失降低 (记忆) 且下游性能下降的图表。

图 6: C4 与截断版的预训练损失。小数据集多次循环训练,训练损失显著降低 (表明记忆) ,下游性能下降。

实践建议: 用大而干净且多样化的数据,避免长时间预训练迫使小数据反复出现。

训练策略: 微调、Adapter、多任务学习

微调全部参数是最可靠方式,但成本高。论文评估了替代方案:

  • Adapter 层: 在 Transformer 子层间插入小型前馈模块;仅训练 Adapter 与层归一化 (参数高效) 。
  • 逐步解冻: 微调时逐层解冻。
  • 多任务训练: 混合多任务样本,调整采样策略 (按比例、温度缩放、均等混合) 。

发现:

  • 微调全部参数表现最佳。
  • Adapter 适当设计效果佳: 小型适配器适合低资源任务,大型适配器适合高资源组合任务。
  • 逐步解冻省算力,但若调优不当性能略逊。
  • 朴素多任务训练常不如“预训练+微调”,因采样比例难调。但多任务预训练后再任务特定微调,可接近标准流程,同时能在预训练中监控下游任务。

实践建议: 预算紧时 Adapter 很有前景;预算够则微调所有参数更稳。多任务预训练+微调适合需训练时监控的场景。

规模扩展: 有更多算力就加大模型与预训练

作者问: 若算力增至 4 倍,如何利用? 测试方案:

  1. 基线模型训练时间×4。
  2. 模型规模×2,训练时间×2。
  3. 模型规模×4,训练原时长。
  4. 独立训练 4 个基线模型并集成。

结论:

  • 所有扩展方式性能均提升。
  • 在同等算力下,增大模型是最有效单项投入。
  • 延长训练与增大批量同样有益,与增大模型互补。
  • 集成带来显著的正交提升,部分任务优于单增规模或时间。
  • 权衡重要: 大模型推理成本高;长训练是一次性投入,可服务多任务微调。

T5 系列: 整合经验,冲击 SOTA

结合上述洞见,最终 T5 配方如下:

  • 编码器–解码器 Transformer。
  • 片段去噪 (平均长度≈3,破坏率 15%) 。
  • 在干净的大型 C4 上预训练。
  • 多任务预训练混合+任务特定微调。
  • 训练多种规模: Small (~60M) 、Base (~220M) 、Large (~770M) 、3B、11B。
  • 预训练长达 1 万亿 token (大型模型) 。
  • 推理时对长输出用带长度惩罚的束搜索。

结果不言自明: T5 在多项基准上创下新高。

T5 在 GLUE、SQuAD、SuperGLUE 基准上的 SOTA 成绩表。

图 7: T5 测试表现: 在 GLUE、SuperGLUE、SQuAD、摘要基准中,大型 T5 模型成绩顶尖。

后续表格: T5 在更多 SuperGLUE 任务上的表现。

图 8: T5 在 SuperGLUE 与其他任务的详细表现。11B 模型在多个子任务上接近或超越此前 SOTA。

显著成就:

  • T5-11B: GLUE 平均≈90.3;SuperGLUE 平均≈88.9——接近人类水平。
  • 阅读理解 (MultiRC、ReCoRD) 显著提升,部分指标优于人类基线。
  • SQuAD: Exact Match 与 F1 显著超越此前最佳。
  • 翻译上未能超越专用顶尖系统 (它们常用反向翻译与专门双语增强) ,因 T5 预训练仅用英语。

重要细节: T5 论文剥离出非规模原因的提升。按 T5 配方训练的 T5-Base 在容量相同时优于训练更久的基线模型。因此,提升不只来自规模,目标设计、数据处理、分词、训练策略同样关键。

最终总结——经验法则

论文的系统研究提炼出如下原则:

  1. 文本到文本框架威力大。统一生成接口使架构与目标比较有意义。
  2. 编码器–解码器+去噪是稳健默认。从生成到分类都能胜任。
  3. 优先片段去噪,仅预测掩码片段,短目标提高吞吐。
  4. 用大、干净、多样的数据,避免小数据在长预训练中反复出现。
  5. 微调全部参数最佳,预算紧可用合适大小的 Adapter。
  6. 算力充裕时增大模型性价比最高;可接受推理成本时,集成也是提升准确的正交手段。
  7. 非规模性工程选择也重要: 在同规模同预训练量下,T5 配方仍优于朴素基线。

结束语

T5 论文有两大价值: 一是提供了严格控制的实证地图,明确了构建大型预训练 NLP 模型时的重要选择;二是带来了高性能的模型家族和公开数据集 C4,供社区使用和拓展。

如果你在设计或选择预训练模型,T5 的研究是清晰起点: 用文本到文本接口,采用片段去噪目标,在大型干净数据上预训练,并合理扩展模型容量。再根据限制——参数预算、推理延迟、多语言需求——通过针对性工程方法 (Adapter、蒸馏、参数共享) 进行调整。

T5 并非首创每个理念;它系统整合、规模验证、定量分析,形成有效可复现的配方。这种结合实用与科学严谨的方法,正是该领域从多套竞争性启发走向更佳、更可比实践所需。

想更深入了解: 阅读论文查看详尽表格与消融研究,探索公开的 T5 检查点;如要准备自有大规模预训练,可研究 C4。代码和数据集均公开——是复现并扩展成果的好机会。