T5模型论文精读

总结

T5 是谷歌提出了一个统一预训练模型和框架,模型采用了谷歌最原始的 Encoder-Decoder Transformer结构。 T5将每个文本处理问题都看成“Text-to-Text”问题,即将文本作为输入,生成新的文本作为输出。通过这种方式可以将不同的 NLP 任务统一在一个模型框架之下,充分进行迁移学习。

为了告知模型需要执行的任务类型,在输入的文本前添加任务特定的文本前缀 (task-specific prefifix ) 进行提示,这也就是最早的 Prompt 。也就说可以用同样的模型,同样的损失函数,同样的训练过程,同样的解码过程来完成所有 NLP 任务。

Abstract

迁移学习,即模型首先在数据丰富的任务上进行预训练,然后再在下游任务上进行微调,已成为自然语言处理 (NLP) 中的一种强大技术。在本文中,我们通过引入一个统一的框架来探索 NLP 迁移学习技术的前景该框架将所有基于文本的语言问题转换为文本到文本格式。我们的系统研究比较了数十种语言理解任务的预训练目标、架构、未标记数据集、迁移方法和其他因素。新的数据集“Colossal Clean Crawled Corpus”,我们在许多基准测试中取得了最先进的结果。

1 Introduction

本文工作的基本思想是将每个文本处理问题视为“文本到文本”问题,即将文本作为输入并生成新文本作为输出。至关重要的是,text to text框架允许我们将相同的模型、目标函数、训练程序和解码过程直接应用于我们考虑的每项任务。我们通过评估各种基于英语的 NLP 问题(包括问答、文档)的性能来利用这种灵活性。

2 Model

T5采用的是Encoder-Decoder Transformer架构,实现严格遵循原生的Transformer架构。
与原生的Transformer不同的点在于:
T5在Positional Embedding的计算上采用的是相对位置编码方式(原生的采用的是绝对位置的正弦信号编码)。
相对位置嵌入不是对每个位置使用固定的嵌入,而是根据自注意力机制中比较的“键”和“查询”之间的偏移量产生不同的学习嵌入。我们使用一种简化的形式的位置嵌入,其中每个“嵌入”只是一个标量,它被添加到用于计算注意力权重的相应 logit 中。

T5模型代码架构

从代码层面看:

  1. 输入:只有一个shared的word embedding,没有加上pe(采用相对位置)
  2. encoder: 第一个block的attention 加入了relative_attention_bias,添加相对位置信息, 后面11个block没有relative_attention_bias层
  3. decoder: 同encoder,第一个block的attention 加入了relative_attention_bias,添加相对位置信息, 后面11个block没有relative_attention_bias层
  4. 与gpt2相同,与gpt1和transformer原生不同,T5在12个transformer块之后,lm_head之前,额外加了个final_layer_norm层

T5模型通过实验对比来选择最优的方式,以下是实验结果

  • Transformer Encoder-Decoder 模型;
  • BERT-style 式的破坏方法;
  • Replace Span 的破坏策略;
  • 15 %的破坏比;
  • 3 的破坏时小段长度。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容