T5(Transfer Text-to-Text Transformer)模型:一个统一框架,靠着大力出奇迹,将所有 NLP 任务都转化成 Text-to-Text (文本到文本)任务。

    比如英德翻译,只需将训练数据集的输入部分前加上“translate English to German(给我从英语翻译成德语)” 就行。假设需要翻译"That is good",那么先转换成 "translate English to German:That is good." 输入模型,之后就可以直接输出德语翻译 “Das ist gut.”。
对于需要输出连续值的 STS-B(文本语义相似度任务),
也是直接输出文本。

    通过这样的方式就能将 NLP 任务都转换成 Text-to-Text 形式,也就可以用同样的模型,同样的损失函数,同样的训练过程,同样的解码过程来完成所有 NLP 任务。

 

 

论文中做的对比实验:

  1. 首先作者们先对预训练模型中的多种模型架构(Transformer)进行了比对,最主要的模型架构可以分成下面三种。

            
    第一种,Encoder-Decoder 型
    ,即 Seq2Seq 常用模型,分成 Encoder 和 Decoder 两部分,对于 Encoder 部分,输入可以看到全体,之后结果输给 Decoder,而 Decoder 因为输出方式只能看到之前的。此架构代表是 MASS、BART等;

            
    第二种, 相当于上面的 
    Decoder 部分
    ,当前时间步只能看到之前时间步信息。典型代表是 GPT2 、 CTRL ;

            
    第三种,
    Prefix LM(Language Model) 型
    ,可看作是上面 Encoder 和 Decoder 的融合体,一部分如 Encoder 一样能看到全体信息,一部分如 Decoder 一样只能看到过去信息, UniLM 便是此结构。

  2. 然后
    是对预训练目标的大范围探索,
    总共从四方面来进行比较。

  • 第一个方面,高层次方法(自监督的预训练方法)对比,总共三种方式,其中发现 Bert-style 最好。

  • 语言模型式,就是 GPT-2 那种方式,从左到右预测;
  • BERT-style 式,就是像 BERT 一样将一部分给破坏掉,然后还原出来;
  • Deshuffling (顺序还原)式,就是将文本打乱,然后还原出来。
  • 第二方面,对文本一部分进行破坏时的策略,也分三种方法,效果最好的是 Replace Span 法,类似做法如 SpanBERT 也证明了有效性。

  • Mask 法,如现在大多模型的做法,将被破坏 token 换成特殊符如 [M];

  • replace span(小段替换)法,可以把它当作是把上面 Mask 法中相邻 [M] 都合成了一个特殊符,每一小段替换一个特殊符,提高计算效率;

  • Drop 法,没有替换操作,直接随机丢弃一些字符。

  • 第三方面,到底该对文本百分之多少进行破坏呢,挑了 4 个值,10%,15%,25%,50%,最后发现 BERT 的 15% 就很 ok了。

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

  •  结论:最终得到完整的 T5 模型,还有它的训练方法。

    1. Transformer Encoder-Decoder 模型;

    2. BERT-style 式的破坏方法;

    3. Replace Span 的破坏策略;

    4. 15 %的破坏比;

    5. 3 的破坏小段长度。

    来源:will-wil

    物联沃分享整理
    物联沃-IOTWORD物联网 » T5模型总结

    发表评论