T5: Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer

基本信息

标题、时间、会议、领域、code、paper 链接

站在 2023 这个时间点看 T5 这篇论文感觉五味杂成,T5 和 gpt2 多么像的技术方案,最终 gpt 引爆了 LLM 。

2020 年 Google 发表了 T5: Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer 这篇论文。

代码:T5: Text-To-Text Transfer Transformerhuggingface 上也有相关的代码

论文:https://arxiv.org/pdf/1910.10683.pdf

模型使用了比较标准的 seq-seq 的 transformer 结构,并且进行了非常多的有监督与训练无监督与训练,实现了一个看起来像是 zero-shot 的结果。

创新点

模型结构

3 种生成架构 描述 代表模型 场景
Encoder-Decoder encoder 进行理解后,进行 decoder 生成。 Transformer 翻译
LM 纯生成式,前边的文字永远看不到后边的文字。 GPT2 对话
Prefix LM encoder 和 decoder 的结合,部分内容可以全部看到的,部分内容只能看到过去的信息。 unilm 生成和理解的一种均衡

对于标准的语言模型 Language Model 来说,是使用前边的词来预测未来的词。 因为纯 decoder 是一个语言模型。

控制视野的抓手就是 attention mask,对于 encoder 来说一般使用如下图左侧的结构,对于 decoder 来说为下图中的结构。 Prefix 结构主要考虑为控制视野,Encoder 和 Decoder 的结合体。

作者们发现 Text-Text 这个场景上,Encoder-Decoder 效果最好。

训练方法

第一个方面,高层次方法(自监督的预训练方法)对比,总共三种方式。

  1. 语言模型式,就是 GPT-2 那种方式,从左到右预测;
  2. BERT-style 式,就是像 BERT 一样将一部分给破坏掉,然后还原出来;
  3. Deshuffling (顺序还原)式,就是将文本打乱,然后还原出来。

其中发现 Bert-style 最好。

第二方面,对文本一部分进行破坏时的策略,也分三种方法。

  1. Mask 法,如现在大多模型的做法,将被破坏 token 换成特殊符如 [M];
  2. replace span(小段替换)法,可以把它当作是把上面 Mask 法中相邻 [M] 都合成了一个特殊符,每一小段替换一个特殊符,提高计算效率;
  3. Drop 法,没有替换操作,直接随机丢弃一些字符。

发现 Replace Span 法最好,类似做法如 SpanBERT 也证明了有效性。

第三方面,到底该对文本百分之多少进行破坏呢,挑了 4 个值,10%,15%,25%,50%,最后发现 BERT 的 15% 就很 ok了。这时不得不感叹 BERT 作者 Devlin 这个技术老司机直觉的厉害。

第四方面,因为 Replace Span 需要决定对大概多长的小段进行破坏,于是对不同长度进行探索,2,3,5,10 这四个值,最后发现 3 结果最好。

数据处理

使用到了一个新的 relative position embedding,T5使用了简化的相对位置embeding,即每个位置对应一个数值而不是向量,将相对位置的数值加在attention softmax之前的logits上,每个head的有自己的PE,所有的层共享一套PE。个人认为这种方式更好一点,直接在计算attention weight的时候加入位置信息,而且每一层都加一次,让模型对位置更加敏感。

其中关键的函数是_relative_position_bucket 这里有一篇文章来详细介绍, https://zhuanlan.zhihu.com/p/444438914。

我们先构造出 relative_position,可以看出来是一个[-255,0] 和 [0,255]的滑动数字。

这边来看一下结果,从当前位置0开始,左边为 [1,15] ,右边为 [16,31]。

这些 id 会去 position_embedding 表中取出 embedding 来:

将这个 embedding 与 q * k 的结果相加,这里很特别。bert 是在 input_embedding 那里进行进行想加,这里是每一层都强化认知。

总结

T5 模型的成功一部分来源于夸张的参数量和数据集,以及合适的调参、数据集过滤等策略。而能实现这样大规模实验的关键思想在于,text-to-text 框架对各项 NLP 任务和相关数据的整合。

T5: Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer

https://iii.run/archives/2d124814131e.html

作者

mmmwhy

发布于

2023-03-23

更新于

2023-04-06

许可协议

评论