2020年5月底OpenAI发布了有史以来最强的NLP预训练模型GPT-3,最大的GPT-3模型参数达到了1750亿个参数。论文《Language Models are Few-Shot Learners》长达74页已发布在arXiv。微信
视频讲解:架构
有网友估算最大的GPT-3模型大小大约有700G,这个大小即便OpenAI公开模型,咱们通常的电脑也没法使用。通常须要使用分布式集群才能把这个模型跑起来。虽然OpenAI没有公布论文的花费,不过有网友估计这篇论文大约花费了上千万美圆用于模型训练。
分布式
如此惊人的模型在模型的设计上和训练上有什么特别之处吗?答案是没有。做者表示GPT-3的模型架构跟GPT-2是同样的,只是使用了更多的模型参数。模型训练也跟GPT-2是同样的,使用预测下一个词的方式来训练语言模型,只不过GPT-3训练时使用了更多的数据。
ide
既然这样,那这只怪兽特别之处是什么?GPT-3论文的核心在于下图:
学习
通常的NLP模型都是先预训练一个语言模型,而后再使用这个语言模型来进行Fine-tuning完成不一样的任务。好比可使用文本分类数据集Fine-tuning一个专门用于文本分类的NLP模型;可使用翻译数据集Fine-tuning一个专门用于翻译的数据集;可使用问答数据集Fine-tuning一个专门用于问答的数据集等等。人工智能
而GPT-3只训练了一个语言模型,没有针对任何任务进行Fine-tuning。可是却能够完成多项NLP任务,而且每一项任务均可以获得很好的效果。如上图所示,GPT-3做者提出了三种模型预测方式,Zero-shot,One-shot,Few-shot。spa
Zero-shot表示直接告诉GPT-3要作的事,而后让它给出结果。好比告诉它"Translate English to French:cheese=>",模型就会输出跟翻译获得的法文。.net
One-shot表示给模型提出要求后给它举一个实际的例子:翻译
Few-shot表示给模型提出要求后给它举多个实际的例子:设计
GPT-3神奇的地方就在于咱们不须要Fine-tuning模型去学习翻译的任务,它就能够本身学会翻译。
一样的道理,做者使用GPT-3作了大量的实验,完成了大量NLP任务,好比做者用它来完成了填空,翻译,问答,阅读理解等任务而且都取得了不错的效果。并且它还能够用来作数学计算好比给它输入“Q:What is 48 plus 76?A:”,它会输出“124”。
从图标中咱们能够看到两位数三位数的加减法作的还不错,位数过高的话准确率就会下降不少。毕竟这个模型的训练过程当中历来没有学过数学,它只学习过根据前面的句子来预测后面一个词。因此它可以从词的预测中学习到基本的数学运算也是挺神奇的一件事。
另外它还能够进行文章生成,而且基本上达到了人类很难判别真假的水平。给它传入文章Title,它就能够生成文章内容:
告诉它一个词的用法,还能让它进行造句:
告诉它什么是正确的英文语法,什么是错误的英文语法,它还能够进行语法纠错:
总结:
如今NLP任务的常规作法都是预训练一个语言模型,而后使用语言模型对不一样任务进行Fine-tuning,通常Fine-tuning后的一个模型就只能完成一个专门的任务。而GPT-3就像是一个全能选手,基本上全部NLP的任务它均可以胜任而且能够获得不错的效果,这对NLP领域将来的发展来讲多是一个新的启发。
公众号后台回复今天日期:200609,便可下载论文。
想学AI点击下方阅读原文:
👇
本文分享自微信公众号 - AI MOOC人工智能平台(AIMOOC_XLAB)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。