论文学习笔记 - Language Models with Transformers

1 相关工作

语言模型主要是基于RNN和Transformer两种。在Transformer提出以前,RNN及其相关变体如LSTM等,一直是语言建模方面的中流砥柱。而Transformer的出现改变了这一状况。Transformer由于没有循环结构,在处理文本这类序列数据时要比循环结构的RNN高效。

2 解决问题

但是随着NLP的发展,模型容量越来越大,层越来越深,参数越来越多,要训练一个优良的模型需要大量的计算资源和存储空间,比如BERT和GPT。这两个模型都是Transformer在语言建模中的重要应用,但是这两个模型过于庞大,参数都达到亿级,且所需大量的训练数据。

针对此问题,即训练一个优良的模型需要大量的计算资源、存储空间以及训练数据,基于现存的预训练的模型,此文通过修改微调原始模型,取得了号称state of the art的成果。但是有个问题,如何修改原始模型?此文提出CAS(Coordinate Architecture Search)搜索算法来解决这个问题。

3 原理

此文是分别修改BERT和GPT两个模型,所做的修改有三:其一,添加线性层,其二,添加LSTM层,其三,选择模型的Transformer层的子集。线性层添加在模型的最后一层,但是LSTM添加在哪里(Transformer的下面还是上面),添加几层LSTM,选取哪些Transformer(选取基础模型的哪些层)?不同的LSTM位置,不同的LSTM层数量,不同的Transformer子集都对模型性能有着至关重要的影响。

此文提出的CAS(Coordinate Architecture Search)搜索算法是利用了贪心的策略来对不同的LSTM和Transformer子集组合进行搜索。原始算法见下图,算法1是随机搜索不同的层和LSTM的组合,过程如下:

  1. 选择一种结构作为当前模型,添加LSTM层,选择Transformer的子集
  2. 微调当前模型
  3. 比较当前模型与最优模型的性能,若当前模型性能较优,则当前模型为最优模型
  4. 重复1、2、3,直到停止条件

 

论文学习笔记 - Language Models with Transformers_第1张图片

论文学习笔记 - Language Models with Transformers_第2张图片

4 结论

这篇文章基于现存的预训练的BERT、GPT等模型,通过CAS搜索算法来选择不同的层、添加不同的结构,组合成新的模型,并对新模型微调,有效减少了重新训练模型所需的时间和计算资源。

另外,这篇文章也提供了一个思路,基于现存的模型,搜索不同的层组合成新的模型,以达到提高性能的目的。

 

参考文献

Chenguang Wang Mu Li Alexander J. Smola. Language Models with Transformers

你可能感兴趣的:(论文学习笔记)