T5(Text-to-Text Transfer Transformer)是由谷歌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分词器,词汇表大小为32,000,在英语、德语、法语和罗马尼亚语文本的10:1:1:1比例混合上训练。
架构细节
T5系列完全基于编码器-解码器Transformer (architecture)架构构建。在这种设计中,编码器接收输入文本并生成隐藏表示序列,解码器随后使用这些表示自回归地逐词生成输出文本。每个编码器和解码器层包含自注意力机制、交叉注意力(在解码器中)和前馈网络。模型通过使用相对位置嵌入和去除层归一化中的偏置项,与原始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数据集上对T5-XL检查点进行指令调优创建。UL2也来自2022年,使用T5架构但扩展到200亿参数,并在C4上使用混合去噪目标训练;它意外地在TPU集群上训练。T5X于2022年发布,是T5代码库在JAX中的重新实现,而原始实现使用TensorFlow和MeshTF。
应用和影响
T5模型因其灵活的文本到文本接口而被广泛采用于各种自然语言处理任务。它们已应用于机器翻译、摘要、问答和语法错误纠正等领域。模型在单一框架内处理多个任务的能力简化了部署和实验。T5还影响了后续的机器学习模型家族,特别是在指令调优模型和混合专家架构的发展中。其编码器-解码器设计在后续模型的设计中仍然具有影响力,尽管许多后续大型语言模型,如来自OpenAI和Anthropic的模型,更倾向于仅解码器架构。
原始T5论文在包括GLUE和SuperGLUE在内的一系列基准测试上报告了强劲性能,并证明了文本到文本方法可以在最少的任务特定工程下实现跨多样任务的最先进结果。T5代码库和预训练检查点的发布促进了在学术和工业环境中的采用。
影响和遗产
T5帮助普及了将所有NLP任务构建为文本到文本问题的概念,这一思想影响了后来的指令调优模型和多任务学习框架。T5的发布也促进了扩展基于Transformer的语言模型的更广泛趋势,变体参数达到200亿。C4数据集和T5代码库的可用性为后续研究提供了基础资源。尽管更新的架构已经出现,T5的架构和训练范式继续为机器学习和深度学习领域的持续工作提供信息。