[论文笔记] Language Models are Unsupervised Multitask Learners (GPT-2)
背景
-
现有的模型大多基于较小的语料,而且是针对特定任务的
-
从meta-learning的角度来看,multi-task learning需要相当多的 (task, dataset) 组合作为train sample,这是不现实的
创新点
-
提出了一个更大的LM架构,包含三种大小:GPT-1、BERT、GPT-2
-
提出了一个LM语料库,从Reddit的优质贴外链汇总得到
- 为了避免train set和test set重叠,删除了Wikipedia的网页
-
仅在大型语料库采用pretrain的情况下,发现模型能天然地适配于各种任务,而无需微调
- 一个无监督的模型在许多任务上取得了SOTA效果
-
证明了基于极大似然估计的语言模型能够拟合现实任务
缺点
- 在部分任务上,GPT-2的定量性能依然较差,不具备现实应用的能力
架构
-
大致与GPT-1相同,但有几点改进
-
Layer normalization从post-norm改为了pre-norm,这样可以提高训练的稳定性
-
每一层的initialization参数都进行了缩放,变为先前的 1/sqrt(n),这里n是层数
- 目的:为每层的初始化方差会累加,这样可以让方差稳定,防止梯度出现问题
-
词库和context size都有提升
-
-
编码器:BPE, byte pair encoder
- 这是一种位于字符级和单词级语言建模之间的编码方式,对于频繁出现的语素进行word-level的编码,反之则采用byte-level编码