GPT-3:更像人脑的大模型
从上一篇GPT-2的文章可以看出尽管其新意度很高(在下游任务中使用无监督训练),但有效性比较低,并没有取得SOTA效果。GPT-3就是尝试解决GPT-2的有效性问题。
GPT-3不再像GPT-2一样极致地追求Zero-Shot,而是采用In-context learning,只给少数样本来学习。就像人的大脑一样(人的大脑可以看成一个十分强大的预训练模型),只给定少数样本就能产生很好的学习效果。如果语言模型要想做到这种效果就要保证模型足够大。因此,GPT-3参数量达到了惊人的1750亿(175B)。
GPT-3在下游任务中不做任何的梯度更新和微调,In-context learning的样本和prompt直接输入到模型中(毕竟这么大的模型微调起来用到的算力和电费都还是很感人的)。
Zero-Shot、One-Shot可以看作特殊的Few -Shot。Few-Shot通过给出K个上下文和补全的例子,然后给出最后一个上下文的例子,并期望模型提供补全。K的大小为10到100。Few-Shot的主要优点是大大减少了对特定任务数据的需求,并且减小了从大而窄的微调数据集中学习到过于狭窄分布的可能性。
GPT-3不做微调的好处就是有可能提高模型的泛化性。NLP模型一般是在大的数据集上进行预训练,下游任务是在特定数据集上进行微调。但微调之后效果好并不代表模型泛化能力强,因为预训练用到的大数据集很可能包括了微调阶段的特定数据集(模型早都看过这些数据,那么微调效果当然好)。GPT-3不微调就避免了这样的可能性。
GPT-3被设计成了8种不同大小的模型,和GPT-2相比,GPT-3是有更宽的倾向。最大的175B参数的模型每个Batch Size有3.2Mtoken的大小,显存占用巨大。
从GPT-1到GPT-3,其在文本生成方面已经取得十分优秀的成绩了。纵观GPT-3这份技术报告,作者并没有展示太多的技术细节,但也从方方面面介绍了所做的工作以及做出这样能以假乱真的文本生成模型的一些社会影响。十分建议大家阅读一下原文,在有ChatGPT的今天也一定会有新的感悟。