扫码阅读
手机扫码阅读

ChatGPT爆火出圈,它背后的核心技术是什么?

344 2023-07-20

↑ 点击上方“亮哥圆桌派”关注我们 

    


GPT-3.5
    书接上文,我们知道ChatGPT是从GPT-3.5系列中的一个模型进行微调的,从2021年第四季度开始就混合使用文本和代码进行训练,于 2022 年初完成训练。
    而GPT-3.5包含了以下三个模型:
    code-davinci-002,这是一个基础模型,非常适合纯代码完成任务;
    text-davinci-002,是基于code-davinci002的InstructionGPT模型;
    text-davinci-003,是对text-daviinc-002的改进。
    那么根据OpenAI的说法ChatGPT是InstructGPT的兄弟模型,为什么这么说呢?
    因为ChatGPT和InstructGPT在模型结构,训练方式上都完全一致。都使用了指示学习(Instruction Learning)和人类反馈强化学习(Reinforcement Learning from Human Feedback,RLHF)来指导模型的训练,它们不同的仅仅是采集数据的方式上有所差异。
    这也是为什么你会感觉ChatGPT的回答能够这么接近人类的原因。
    所以要搞懂ChatGPT,我们必须要先搞懂InstructGPT是什么?
    而要搞懂InstructGPT,我们就必须知道GPT是什么?(这一点都不绕)
    GPT:Generative Pre-trained Transformer,是生成型预训练变换模型的缩写,目的是为了使用深度学习生成人类可以理解的自然语言。
    这是一种通用预训练语言模型,是一种利用Transformer作为特征抽取器,基于语言模型进行训练的预训练语言模型。 
    目前我们讨论的GPT一般指的是GPT-3或GPT-3.5。当然,在之前肯定还有GPT-2和GPT-1。
GPT-1
    关于OpenAI的GPT系列源自于OpenAI在2018年发布的论文《Improving Language Understanding by Generative Pre-Training》(如下图),随后他们发布了GPT-1。

    和大家看一样,基本上看论文就跟看天书一样,但是基本上这篇论文的大概意思是:GPT-1模型是通过二段式进行训练,第一个阶段是利用语言模型进行预训练(无监督形式),第二阶段通过Fine-tuning的模式解决下游任务(监督模式下)。基于这种方式,GPT-1可以很好地完成若干下游任务,包括分类、蕴含、相似度、多选等。

    在GPT-1之前,传统的NLP模型往往使用大量的数据对有监督的模型进行任务相关的模型训练,但是这种有监督学习的任务存在两个缺点:
  •     需要大量的标注数据,高质量的标注数据往往很难获得,因为在很多任务中,图像的标签并不是唯一的或者实例标签并不存在明确的边界;
  •     根据一个任务训练的模型很难泛化到其它任务中,这个模型只能叫做“领域专家”而不是真正的理解了NLP。
    所以GPT-1的核心思想是先通过在无标签的数据上学习一个通用的语言模型,然后再根据特定热任务进行微调,处理的有监督任务包括:
    自然语言推理(Natural Language Inference 或者 Textual Entailment):判断两个句子是包含关系(entailment),矛盾关系(contradiction),或者中立关系(neutral);
    问答和常识推理(Question answering and commonsense reasoning):类似于多选题,输入一个文章,一个问题以及若干个候选答案,输出为每个答案的预测概率;
    语义相似度(Semantic Similarity):判断两个句子是否语义上市是相关的;
    分类(Classification):判断输入文本是指定的哪个类别。
    基于这个思想,将无监督学习左右有监督模型的预训练目标,因此叫做通用预训练(Generative Pre-training,GPT),这也就是GPT命名的开始。
GPT-2
    时间来到了2019年,OpenAI发布了论文《Language Models are Unsupervised Multitask Learners》(如下图),紧接着发布了GPT-2。
    同样,基本上也是在看天书,但大概意思就是认为可以用无监督的预训练模型去做有监督任务(我们能够感知到的最典型的应用就是就是手机上面的输入法,根据当前输入词推荐下一个词),这点和上一篇论文是一致的,而且,提出了可以通过多任务预训练+超大数据集+超大规模模型来实现其目的。
    什么目的呢?就是旨在训练一个泛化能力更强的词向量模型。
    从论文的内容上来看,GPT-2并没有对GPT-1进行过多的结构的创新与设计,只是使用了更多的网络参数和更大的数据集。
    GPT-2的学习目标是使用无监督的预训练模型做有监督的任务。因为文本数据的时序性,一个输出序列可以表示为一系列条件概率的乘积,说人话就是根据已知的上文来预测未知的下文 。
    因此模型可以表示为   。对于一个有监督的任务,可以通过建立MQAN模型将机器翻译,自然语言推理,语义分析,关系提取等10类任务统一建模为一个分类任务,而无需再为每一个子任务单独设计一个模型。
    基于上面的思想,作者认为,当一个语言模型的容量足够大时,它就足以覆盖所有的有监督任务,也就是说所有的有监督学习都是无监督语言模型的一个子集。
    所以,GPT-2的核心思想概括为:任何有监督任务都是语言模型的一个子集,当模型的容量非常大且数据量足够丰富时,仅仅靠训练语言模型的学习便可以完成其他有监督学习的任务。
    基于这个理论,GPT-2的神经网络参数已经从GPT-1的1.17亿个上升到了15亿个。
GPT-3 
    时间来到了2020年,OpenAI又发布了一篇论文《Language Models are Few-Shot Learners》(如下图),同样的,随后发布了GPT-3。
    嗯,依旧是看天书,你懂的,但是大概内容看是能看明白,意思就是说如果你使用史无前例的大量算力和数据让语言模型获得足够的准确率,它也就获得了无需额外训练,仅使用简单的自然语言提示即可解决大量任务的能力。比如回答简单的问题、生成文章、确定电影评论是否积极,以及英法互译等
    同时在论文中,明确指出了GPT-3在一些任务中的能力胜过其他模型,并用大量篇幅探讨这项技术的优缺点。同时论文中还考虑了这项技术的潜在有害影响,如低成本生成难以检测的假新闻,模型因训练数据偏见在种族、性别和宗教等敏感话题上产生倾向性。
    应该说截至目前,地球上最强大的语言模型就是GPT-3,仅仅需要zero-shot或者few-shot,GPT-3就可以在下游任务表现的非常好。除了几个常见的NLP(自然语言处理)任务,GPT-3还在很多非常困难的任务上也有惊艳的表现,比如撰写难以判别是否由真人完成的文章,完成复杂的脚本,编写SQL查询语句,React或者JavaScript代码等等。
    而这些强大能力的能力则依赖于GPT-3疯狂的1750亿的参数量,45TB并且不断上涨的训练数据以及一次就高达450万美元的训练费用。
GPT-3.5
    GPT系列模型的简介完了,我们再来说一说GPT-3.5。
    相比较GPT-3.5,GPT-3更像是已给资料搜集者的角色,单纯的使用神经网络上的资料进行训练。GPT-3.5是基于GPT-3微调出来的,但是这种关系并不像GPT-1到GPT-2,GPT-2到GPT-3那样。GPT-3.5用了不同的训练方式,产生的不同的模型,而这种不同的训练方式,就是上面说到的InstructGPT(关InstructGPT同样内容很多,下次单独介绍)。
    而ChatGPT就是建立在GPT-3.5之上进行微调的结果,这个微调可以一点都不微,加上了更加完整的RLHF(Reinforcement Learning by Human Feedback 人类反馈强化学习),就是说基于人类的反馈来对语言模型进行强化学习。
    简单来说,就是开发人员会给模型提出各种可能的问题,并对反馈的错误答案进行惩罚,对正确的答案进行奖励,从而实现控制ChatGPT的回答。
    举个简单的例子,比如在训练时,命令AI不能说“我支持歧视女性”,那么AI就不太可能会说出“我支持歧视女性”,但是再进一步泛化的情况下,我们可能诱导出AI说出“我觉得女性比不上男性”这种类似的话。
    当然,这也是OpenAI在持续完善的过成当中。实际上,面对ChatGPT,我们普通人很难绕过RLHF。
    基本上ChatGPT和GPT-3.5已经是革命性的技术了,大规模的应用就是眼前,就行互联网那样,可以可以各行各业相结合,改变我们的生活。


扫一扫关注亮哥圆桌派
分享更多你需要的知识!

来到圆桌派

我们一起旁观者清



原文链接: https://mp.weixin.qq.com/s?__biz=Mzg3NDc0MDc4Mg==&mid=2247484413&idx=1&sn=3a02df1c5aa7e87a3e6c9a2f029fe70e

对待离自身尚远的事物时,人们可以把它分析得淋漓尽致;但到了自己身上,就往往成了当局者迷,旁观者清。譬如软件开发,譬如项目,譬如产品,譬如敏捷,譬如精益,譬如管理,譬如思辨,譬如哲科思维,譬如哲学。来到圆桌派,让我们一起旁观者清!

35 篇文章
浏览 11.7K
加入社区微信群
与行业大咖零距离交流学习
软件研发质量管理体系建设 白皮书上线