机器之心从word2vec开始,说下GPT庞大的家族系谱( 六 )


【后浪时代】BERT & GPT & 其他
如果你足够细心的话 , 可以看到前面我提到的例子几乎都是机器翻译相关的 , 这是因为 Transformer 的 encoder-decoder 结构给其带来了很大的局限性 。 如果你想要做文本分类任务 , 使用 Transformer 的困难就很大 , 你也很难预训练好这个模型然后再在各种下游任务上 fine-tune 。 因此 , Transformer 的儿子们给我们带来了令人惊喜的后浪时代 。
大儿子 Transformer-decoder [6] —— 语言模型回来了!
Transformer 的大儿子首先发现了父亲公司的冗余机制 , 然后打出了自己的两块主要招牌:
翻译成中文就是:“我们的模型在裁员(encoder)后 , 看的更远了 , 也能 pretrain 了 , 还是儿时的味道(Language Modelling)!”
可以看出大儿子是个黑心老板 , 他发现只需要用一部分 Transformer , 就可以做成他想做的 language modelling , 因此它只保留了 decoder , 因为 decoder 在 Transformer 里的工作就是根据前面的词预测后面的词(跟 Language modelling 的任务一样) 。 但是如前文所述(图 11) , Transformer 除了其提出的 self-attention 以外 , 还保留了过去的 encoder-decoder attetion , 而现在因为没有 encoder 了 , 所以 encoder-decoder attention 层这里就没有了 。
机器之心从word2vec开始,说下GPT庞大的家族系谱
本文插图
图 11:Transformer 的 encoder-decoder 结构细节(图源:http://jalammar.github.io/)
如果你仔细读了上面那一句话 , 然后看了图 11 并相应地移除了 encoder-decoder attention 层 , 你就会发现 , encoder 和 decoder 的结构一模一样了!那为什么我还要提 BERT 和 GPT 使用的 Transformer 不同呢?先看一下图 12 中对于 transformer decoder 的描述:
机器之心从word2vec开始,说下GPT庞大的家族系谱
本文插图
图 12:transformer decoder 细节(图源: [6])
就是说本来 Transformer 中的 decoder 是要接收 encoder 那边对输入 (m) 处理后得到的信息 , 然后得到最终输出(y) , 而且在得到后面的 y 的时候 , 要考虑前面已经生成的 y , 因此在去掉 encoder 之后 , decoder 在考虑 y 的同时也得考虑 m 的信息 , 所以公司既然裁员了 , 那么 decoder 的活就得多一些 , 它的输入就是 m 和 y 的结合体了 , 同时中间还有 \ gamma 来分隔开输入输出(黑心老板无疑了) , 当然这样做的时候 , 给的工资也是更高的(输入序列长度从 512 变成了 1024) 。
基于回归语言模型的特性 , Transformer-decoder 为自己赢下了极好的声誉 , 而这良好的声誉引起了他的弟弟——GPT-1 的注意 。
二儿子 GPT-1 - NLP 也能迁移学习
GPT-1 从大哥 Transoformer-decoder 的成功中看到了机会 , 并且挖掘出了更本质的商机——用预训练好的模型做下游任务 。 基于这个想法 , 他然后打出了自己的招牌:
We demonstrate that large gains on these tasks (downstream tasks) can be realized by generative pre-training of a language model on a diverse corpus of unlabeled text, followed by discriminative fine-tuning on each specific task.
这块招牌里的 Generative Pre-Training (GPT)其实本质上就是大哥 Transformer-decoder 做的事 , 但是真的在 finetune 的时候 , 其实有很多麻烦 , 于是 GPT-1 公司体贴的在这个基础上做了很多很灵活的调整 , 给出了很多方案:
we make use of task-aware input transformations during fine-tuning to achieve effective transfer while requiring minimal changes to the model architecture.