GPT-3依旧延续自己的单向语言模型训练方式,只不过这次把模型尺寸增大到了1750亿,并且使用45TB数据进行训练。同时,GPT-3主要聚焦于更通用的NLP模型,GPT-3模型在一系列基准测试和特定领域的自然语言处理任务(从语言翻译到生成新闻)中达到最新的SOTA结果。对于所有任务,GPT-3没有进行任何微调,仅通过文本与模型进行交互。与GPT-2相比,GPT-3的图像生成功能更成熟,不需经过微调,就可以在不完整的图像样本基础上补全完整的图像。GPT-3意味着从一代到三代的跨越实现了两个转向:
1.从语言到图像的转向;
2.使用更少的领域数据、甚至不经过微调步骤去解决问题。
2.1 预训练模型一般流程
一般预训练模型(如ELMo、BERT等)的流程如图1-23所示,其中微调是一个重要环节。
图1-23 预训练模型的一般流程
2.2 GPT-3 与BERT的区别
一般预训练模型中微调是一个重要环节,但GPT-3却无需微调,GPT-3与一般预训练模型(这里以BERT为例)还有很多不同之处,具体可参考图1-24。
图1-24 GPT-3 与BERT的区别
2.3 GPT-3与传统微调的区别
对下游任务的设置大致有以下四类:
1.Fine-Tunning(FT):
FT利用成千上万的下游任务标注数据来更新预训练模型中的权重以获得强大的性能。但是,该方法不仅导致每个新的下游任务都需要大量的标注语料,还导致模型在样本外预测的能力很弱。虽然GPT-3从理论上支持FT,但没有采用这种方法。
2.Few-Shot(FS)
模型在推理阶段可以得到少量的下游任务示例作为限制条件,但是不允许更新预训练模型中的权重。
3.One-Shot(1S)
模型在推理阶段仅得到1个下游任务示例。
4.Zero-Shot(0S)
模型在推理阶段仅得到一段以自然语言描述的下游任务说明。GPT-3与传统预训练模型对下游任务的处理方法的区别,可参考图1-25。
图1-25 传统微调与GPT-3采用的三种设置方法比较
2.4 GPT-3 示例
图1-26 为使用GPT-3 进行文本纠错的实例,从纠错结果来看,效果还是令人惊奇。
图1-26 GPT-3 进行文本纠错的实例