一文读懂 | GPT-3模型背后的深度学习 (2)

大家好, 我是Lucy@FinTech社区。

欢迎大家阅读GPT-3 系列的第二期文章,上一期(链接)中我们介绍了 GPT-3 模型丰富的应用场景,其广泛适用性和让人惊叹的模型能力给所有接触过他的人留下了深刻的印象,那么是什么样精巧的结构和算法赋予了GPT-3这样的能力呢

 

欢迎大家添加微信fintech34,或扫描底部微信,加入FinTech社区,攒人脉,求职招聘,提认知!

 

下面我们就来介绍一下支持GPT-3的标志性深度学习技术,分析是什么样的算法让GPT-3如此不同。

 

阅读本文你将收获:

一、GPT-3背后的深度学习算法

 


01  GPT 模型系列
 

机器学习的本质是通过找到结果与多维输入之间的关系来进行预测,通过经典的word2vec方法将自然语言变成向量之后,我们就可以使用机器学习处理了。

 

GPT-3 全称“General Pretrained Transformer-3”,即通用预训练转换器 第三版。作为众多经典NLP 模型中的一种,GPT 系列都是典型的自回归架构的自然语言处理模型
 

下表简单总结了GPT家族模型的特点。

 

通俗地讲,自回归模型假定某个时刻t的序列可以利用前期若干时刻的序列的随机变量的线性组合来描述。简单来说,也就是每一段文本,都会受到之前的文本的影响,现在的时刻是由过去的众多时刻决定的

 

对于我们人类来说,在接受一段文字材料之后,需要能感知并理解语境才能做出预测,而这种能力往往基于广泛的学习和阅读,同样的道理对GPT-3来说,它也需要进行学习和阅读。

 

02 模型预训练

总体上看GPT-3采用了经典的两段式思路,第一部分是对模型的预训练,GPT-3的主题模型并没有巨大的创新,仍然是包含注意力的Transfomer模型。受过训练的语言模型会生成文本。我们可以选择将一些文本作为输入传递给它,从而影响其输出,最终输出是根据模型在训练期间扫描大量文本时所“学习”的结果生成的

 

设计者用收集的海量语料库对GPT-3进行无监督预训练,数据集大约含有3000亿个token,训练的最终目标是让模型可以有能力根据截至目前的输入去预测下一个单词。如果在训练过程中发现模型预测结果是错误的,那么就会计算误差并更新模型,以此来加强模型的能力。这一学习过程要重复数百万次直到达到预期目标。

 

具体流程如下动图:

训练原句:a robot must obey(一个机器人必须服从)

输入:a robot must

当下模型输出:exterminate(消灭)

 

因此模型不符合要求,使用word2vec计算正确答案obey和exterminate之间的差距,更新原模型,使得模型在接受“a robot must”之后会输出正确答案 “obey”。


 

深度学习模型的预训练会消耗大量的计算资源,是最为困难的步骤,前向传播得到预测结果,计算误差和根据误差更新参数这些计算步骤都会随着模型参数数量的增大而变得越发困难。

 

作为对比,我们可以和另一个著名的模型--谷歌BERT比较, BERT有3亿参数,在实践中,使用了1400多个单颗价格数万人民币的V100 GPU组成的计算集群算了近1小时。而GPT-3 的规格已经远远超越了BERT,1750亿参数,数据集规模超过500GB的GPT-3预训练模型,经过推测,单一GPU训练GPT-3的时间将达到数百年,计算量(flops)是BERT的近2000倍。而要想成功训练GPT-3其背后的成本更是高达数百万美元,如此昂贵的成本,真的只有财大气粗的顶尖科技公司可以负担了。


 

03  Fine-tuning 微调

 

经过了复杂的预训练,此时的GPT-3模型可以说有了一定的通用“智能”,也就是对于语言的通用理解能力,接下来要做的就是对这个模型进行特殊的“专业指导”,只要对刚刚的模型进行微调,就能更好地处理各种有专业知识的任务。

 

GPT-3 的作者们在论文开头就指出,通过对大量文本进行预训练,针对特定任务进行微调,模型的性能可以在许多 NLP 任务以及基准测试中获得显著提升,实现用更少的特定领域数据、且不经过精调步骤来解决目标问题的目的

 


 

但与传统fine-tuning GTP-3 不同的是,GPT-3使用三种新定义的方式来衡量GPT-3的通用性能。

 

Few-Shot (FS):指的是在进行推理时对模型进行一些任务相关的示例演示,但却不会更新权重。大大减少了对特定任务数据的需求,并减少了过拟合的可能性。但是从论文中的实验来看,性能还不满意,也不能完全

One-Shot (1S):和FS一样,不允许权重更新,每次都处理单一实例,也是最接近人类处理方式的模式

Zero-Shot (0S) :没有示例演示,也没有权重更新

 

具体描述如下:


 

可以看到,GPT-3 重视的是从海量的数据中得到的泛用性,GPT-3试图向大家证明:使用足够丰富足够多的数据训练一个足够大的模型,可以获得更通用的自然语言处理能力,这些能力使它在预测时可以迅速地适应或识别出被赋予的任务。而事实证明 GPT-3是有效的。

 

当一个模型不再需要对于特定领域进行太多额外复杂的训练就能够有良好的预测效果时,就标志着离理想中的通用人工智能更近一步。


 

04  总结

 

相比预训练和微调以及论文中提到的其他精巧的设计,GPT-3最让人印象深刻的是其惊人的1750亿模型参数、和45TB的训练数据,论文署名多达31个作者在OpenAI的支持下共同完成了这一令人惊讶的工作


 

#今日互动#

对于GPT-3想了解更多, 

欢迎添加微信: fintech12

加入FinTech社区-机器学习群讨论!

 


近期热招: (点击标题,即可了解详情) 

一周热招 | 对冲基金-Global Pay

招聘 | 初级量化研究- Bondi Capital

招聘 | Quant Research(多因子)

招聘 | 机器学习科学家(Ph.D.)
招聘 | 量化研究(机器学习)