赞
踩
2019年OpenAI发布的模型,OpenAI在2018年的GPT1中给出了一种半监督的训练方法,在GPT2中针对如下问题做了升级:
在GPT1的基础上,GPT2中在多种NLP任务表示、训练数据准备、输入表示、模型设计四个方面上进行了改进实现。
论文关注的核心是NLP的语言模型,对于一个指定的NLP任务来说是通过条件概率p(output|input)
来获取输出;对于多任务学习来说,输出应该跟任务是相关的,即p(output|input,task)
;参考论文【Multitask Learning as Question Answering】把多种NLP训练任务都变成了基于上下文的问答任务(Question-Answering-Over-Context)。例如翻译任务表示成(translate to french, english text, french text)
,阅读理解任务表示成(answer the question, document question, answer)
使用了自己准备的WebText数据集,使用了Dragnet和newspaper内容提取器。总共有800万文档,共40GB的文本数据。
输入表示采用了BPE(Byte Pair Encoding)
算法进行tokenizer,这里没有直接使用Unicode做为基础的词表,因为Unicode共有超过130000个字符太多了,这里采用了字节粒度的BPE,初始词表有256个(2**8)。
模型设计上是基于GPT1进行改造的,GPT1的结构是基于transformer decoder设计的。GPT2的结构如下:
GPT2跟GPT1相比不同的点在于以下几点:
1/sqrt(N)
,N
是residual的层数GPT2的不同网络结构的参数大小如下:
效果上zero-shot不用经过训练和finetune有些也可以达到SOTA:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。