T5.1.1:使用GLU改进预训练语言模型T5.

本文中作者借助门控线性单元(gated linear unit,GLU)对预训练语言模型T5进行了一次升级。将之前的预训练语言模型T5记为T5.1.0,而使用GLU后的预训练语言模型记为T5.1.1T5.1.1相对于T5.1.0的主要区别如下:

  1. T5.1.0中全连接层的激活函数使用ReLU:\(\text{FFN}_{\text{ReLU}}(x,W_1,W_2)=\text{max}(xW_1,0)W_2\);而T5.1.1中激活函数使用GELU激活的门控线性单元:\(\text{FFN}_{\text{GEGLU}}(x,W,V,W_2)=(\text{GELU}(xW) \otimes xV)W_2\)。尽管这样增加了一半参数,但效果明显提升。
  2. T5.1.0中编码器输入端的Embedding,解码器输入端的Embedding和解码器输出端的Embedding是共享参数的;而T5.1.1中只让编码器输入端的Embedding和解码器输入端的Embedding共享参数,额外训练解码器输出端的Embedding。尽管这样大大增加了参数量,但效果会更好。
  3. T5.1.1在预训练阶段只做无监督预训练,且去掉了Dropout;在下游任务的微调阶段使用Dropout

门控线性单元其实是一类方法的总称。对于具有门控特性的激活函数$\sigma$,可以构造门控线性单元:

\[GLU(x,W,V) = \sigma(xW) \otimes xV\]

实验证明门控线性单元能够有效地提升T5模型的性能: