T5(文本到文本转换器)是一系列由谷歌AI开发并于2019年推出的大型语言模型。T5的核心设计原则是将所有自然语言处理任务统一为单一的文本到文本格式:每个任务,无论是翻译、摘要还是问答,都被构建为输入文本并生成输出文本。这与早期模型形成对比,后者通常使用特定于任务的输出头或架构。与原始Transformer模型一样,T5模型采用编码器-解码器结构,其中编码器处理输入文本,解码器生成输出文本。
原始T5模型在Colossal Clean Crawled Corpus(C4)上进行预训练,该数据集包含从网络抓取的文本和代码。这种预训练使模型能够获得通用的语言理解和生成能力。预训练之后,T5模型可以在特定下游任务上进行微调,使其学习到的表示能够适应各种应用,包括聊天机器人、代码生成和机器人技术。
预训练任务
T5模型的预训练在多种任务上进行,所有任务都格式化为输入文本后跟输出文本。其中一项主要任务是文本修复,即输入的部分片段被替换为哨兵标记(如<X>和<Y>),模型必须重建原始文本。例如,输入“Thank you <X> me to your party <Y> week.”预期输出为“<X> for inviting <Y>”,其中哨兵标记指示缺失的片段。另一项任务是机器翻译,模型给定源语言文本,必须生成目标语言的翻译。此外,T5还在语法可接受性判断等任务上进行训练,模型需要判断一个句子在语言上是否规范。
架构
T5系列包含多个不同规模的模型,均为编码器-解码器Transformer。编码器处理输入文本,解码器生成输出文本,两个组件在所有已发布的配置中共享相同数量的层。2019年的原始论文报告了五种模型变体:T5-small、T5-base、T5-large、T5-3B和T5-11B。这些模型在层数、注意力头数、嵌入维度和前馈网络大小上有所不同,参数数量从T5-small的约6000万到T5-11B的110亿不等。
与原始Transformer架构相比,T5引入了几项修改:层归一化不添加偏置项,层归一化放置在残差路径之外,并使用相对位置嵌入。模型还采用共享的WordPiece分词器,词汇表大小为32000,在英语、德语、法语和罗马尼亚语文本的混合数据上以10:1:1:1的比例进行训练。
架构细节
T5系列完全基于编码器-解码器Transformer架构。在此设计中,编码器接收输入文本并生成一系列隐藏表示,解码器随后利用这些表示逐词元地自回归生成输出文本。每个编码器和解码器层包含自注意力机制、交叉注意力(在解码器中)和前馈网络。模型通过使用相对位置嵌入和去除层归一化中的偏置项,与原始Transformer区分开来。
对于较大的变体(3B和11B参数),模型维度不遵循常见的d_model = d_kv * n_heads关系,其中d_model是嵌入维度,d_kv是键/值维度,n_heads是注意力头数。这一设计选择使得模型在扩展时具有更大的灵活性。所有T5变体共享相同的分词器,该分词器在编码器和解码器之间共享。
变体与后续模型
在原始T5发布之后,出现了多种变体和衍生模型,通常采用非标准的命名约定。T5 1.1引入了改进版本,使用GEGLU激活函数替代原始ReLU,并将3B和11B模型分别重命名为XL和XXL。XL和XXL的模型形状在此版本中也进行了修改。
LM适应的T5模型于2021年发布,从原始T5检查点初始化,并在C4的额外1000亿词元上进一步训练。Switch Transformer也于2021年推出,将混合专家方法应用于T5,用基于专家的层替代标准前馈层。T0模型同样于2021年发布,从LM适应的T5检查点进行微调,以仅使用任务指令执行零样本任务。ByT5也来自2021年,直接在UTF-8字节上运行,而非分词后的文本,并在多语言C4数据集上进行训练。
Flan-T5-XL于2022年推出,通过在FLAN数据集上进行指令微调创建。UL2同样来自2022年,采用T5架构但扩展到200亿参数,并使用混合去噪目标在C4上进行训练;它是在TPU集群上意外训练的。T5X于2022年发布,是T5代码库在JAX中的重新实现,而原始实现使用TensorFlow和MeshTF。
应用与影响
T5模型因其灵活的文本到文本接口而被广泛采用于各种自然语言处理任务。它们已应用于机器翻译、摘要、问答和语法纠错等领域。模型在单一框架内处理多个任务的能力简化了部署和实验过程。T5还影响了后续的模型家族,特别是在机器学习领域,推动了指令微调模型和混合专家架构的发展。其编码器-解码器设计对后续模型的设计仍具有影响力,尽管许多后来的大型语言模型(如来自OpenAI和Anthropic的模型)更倾向于仅解码器架构。
原始T5论文在GLUE和SuperGLUE等多个基准测试上报告了强劲的性能,并证明了文本到文本方法能够在各种任务上以最少的任务特定工程实现最先进的结果。T5代码库和预训练检查点的发布促进了其在学术界和工业界的采用。
应用与影响
T5帮助普及了将所有自然语言处理任务构建为文本到文本问题的理念,这一思想影响了后来的指令微调模型和多任务学习框架。T5的发布也推动了基于Transformer的语言模型扩展趋势,其变体参数规模达到200亿。C4数据集和T5代码库的可用性为后续研究提供了基础资源。尽管更新的架构已经出现,T5的架构和训练范式仍在持续影响机器学习和深度学习领域的相关工作。