草庐IT

从GPT到chatGPT(一):GPT1

IGV丶明非 2023-04-04 原文

GPT1

文章目录

前言

GPT1,出自于OpenAI的论文《Improving Language Understanding by Generative Pre-Training》,是最早的将transformer以多层堆叠的方式构成语言模型的模型,其出现时间早于BERT,但二者有一个最大的区别在于BERT只用的是transformer的encoder层,而GPT1只用了transformer的decoder层。除此以外二者在目标函数等地方也有各自的方法,感兴趣的可以自行阅读对比,这里不再展开。

正文

模型架构

GPT1的训练主要分成无监督预训练有监督微调两部分:

  • 无监督预训练指的是现在大规模语料下,训练一个语言模型;
  • 有监督微调指的是基于下游任务的标注数据进行模型参数调整。

无监督学习

给一组无监督学习语料的tokens: U = { u 1 , u 2 , . . . , u n } \cal{U}=\{u_1, u_2,...,u_n\} U={u1,u2,...,un},我们以语言模型的目标函数作为目标,最大化其似然函数:
L 1 ( U ) = Σ i log ⁡ P ( u i ∣ u i − k , . . . , u i − 1 ; Θ ) (1) L_1(\cal{U})=\Sigma_{i}{\log{\it{P}}(u_i|u_{i-k},...,u_{i-1};\Theta)} \tag{1} L1(U)=ΣilogP(uiuik,...,ui1;Θ)(1)
其中 k k k表示窗口大小, P P P表示由参数 Θ \Theta Θ决定的神经网络所输出的条件概率值。
这里再简单用公式阐述下前言中提到的本文核心的多头transformer-decoder层:
h 0 = U W e + W p h l = t r a n s f o r m e r _ b l o c k ( h l − 1 ) , ∀ i ∈ [ 1 , n ] P ( u ) = s o f t m a x ( h n W e T ) (2) h_0=UW_e+W_p\\h_l=\mathrm{transformer\_block}\mathit (h_{l-1}),\forall{i\in[1,n]}\\P(u)=\mathrm{softmax}(\mathit h_nW_e^T)\tag{2} h0=UWe+Wphl=transformer_block(hl1),i[1,n]P(u)=softmax(hnWeT)(2)
其中 U = ( u − k , . . . , u − 1 ) U=(u_{-k},...,u_{-1}) U=(uk,...,u1)是文本的tokens向量, n n n是transformer的层数, W e W_e We是token embedding矩阵, W p W_p Wp是position embedding矩阵。

有监督学习

在完成了无监督学习后,我们希望在有标签的数据集上对模型进行有监督的微调。我们定义标注数据集为 C \cal{C} C,对于每一组序列tokens: x = { x 1 , x 2 , . . . , x m } x=\{x^1,x^2,...,x^m\} x={x1,x2,...,xm},都对应一个标签 y y y。输入 x x x通过预训练模型后得到最后一层transformer层的隐向量 h l m h_l^m hlm,通过一个线性层+softmax预测标签y:
P ( y ∣ x 1 , . . . , x m ) = s o f t m a x ( h l m W y ) (3) P(y|x^1,...,x^m)=\mathrm{softmax}(h_l^mW_y)\tag{3} P(yx1,...,xm)=softmax(hlmWy)(3)
由此我们的目标是使下面这个目标函数最大化:
L 2 ( C ) = Σ ( x , y ) ( l o g P ( y ∣ x 1 , . . . , x m ) ) (4) L_2(\cal{C})=\Sigma_{(x,y)}(\mathrm{log}\it P(y|x^1,...,x^m))\tag{4} L2(C)=Σ(x,y)(logP(yx1,...,xm))(4)
我们发现在在有监督微调的训练中,如果加入语言模型的目标函数,可以有两个好处:(a)使得有监督模型具备更强的生成能力;(b)加快训练的收敛。所以我们如下定义最终的目标函数:
L 3 ( C ) = L 1 ( C ) + λ ∗ L 2 ( C ) L_3(\cal{C})=L_1(\cal{C})+\lambda*L_2(\cal{C}) L3(C)=L1(C)+λL2(C)

处理不同特定任务

对于某些任务,如文本分类,我们可以直接如上所述对模型进行微调。某些其他任务,如QA或文本蕴含,其具有结构化输入,如有序的句子对,或文档、问题和答案的三元组。因为我们的预训练模型是在连续的文本序列上训练的,我们需要一些修改才能将其应用于这些任务。先前的工作提出了基于迁移学习的学习任务特定架构,这种方法重新引入了大量特定于任务的定制,对这些额外的架构组件使用迁移学习。相反,我们在这里不这么做,我们使用遍历样式方法,将结构化输入转换为预训练模型可以处理的格式,这些输入转换让我们避免对不同的任务都要进行任务架构改变。下面我们通过一些例子和一个示意图来解释。

  • 文本蕴含:我们将前提和假设的序列token按照顺序给拼接起来(可以用$等特殊标识符)
  • 文本相似度:将两个句子拼接起来,但由于相似度不存在前后关系,所以我们把句子以a b 和 b b和b bba两种方式均拼接一遍,最后将输出的两个 h l m h_l^m hlm逐个元素相加后再进入线性输出层。

具体示例如下图所示,包括了transform层的基本结构(mask多头attention+残差链接+LaryerNorm+FNN)

实验

训练细节

包括数据获取,数据处理,无监督训练参数设置,有监督训练参数设置等,这里不一一介绍。

实验结果

首先展示在Natural Language Inference常见公开数据集上的结果,以及和当前一些sota方法的效果对比:
然后是在Question answering and commonsense reasoning常见公开数据集上的结果,以及和当前方法的效果对比:
还有文本相似度任务以及分类任务等:

分析

预训练层参数转移的影响

我们想观察下从预训练模型中转移参数值作为有监督学习模型的初始化参数,到底会有多少提升:
可以看到,如果将模型的参数随机初始化,并在RACE和MultiNLI任务上进行训练,在验证集上的acc只有40%左右,但是如果将预训练模型的参数迁移过来的话,可以使acc提升到80+,这个提升确实十分明显。

zero-shot的表现

我们想更好的理解为什么基于transformer的预训练语言模型是有效的。一个假设说一方面,底层的生成模型学习如何在许多我们通常评估的任务上表现更好,以此来提高语言模型的能力;另一方面,transformer比LSTM在迁移学习上表现得更好。我们设计了一系列启发式解决方案,使用底层生成模型执行任务,而无需监督微调,并将其进行饿了可视化(Figure 2的右图)。
我们观察到这些启发式算法的表现是稳定的,并且随着训练而稳步增加,这表明生成性预训练支持多种任务相关功能的学习。另外我们也观察到LSTM在各种任务上的表现参差不齐,而且整体也不如transormer。

消融实验

最后是喜闻乐见的消融实验,主要关注有监督训练的时候加入aux目标函数对效果的影响,顺便对比了下finetune后的模型、没有进行finetune模型和LSTM模型的效果。transformer的效果显然好于LSTM,不必多说。但加入aux后finetune的模型在不同的任务上表现不一,但总的来说有一个趋势:在大数据集下,加入aux会提升最终的finetune效果,但是小数据集下,不加入aux目标函数效果更好。

总结

我们通过单一任务不可知(task-agnostic)模型实现了一个强大的自然语言理解框架,主要包括生成性预训练和区分性微调两部分。通过在长的连续文本的不同语料库上进行预训练,我们的模型获得了重要的世界知识和处理长距离依赖的能力,然后成功地将这些知识和能力转移到解决诸如问题回答、语义相似性评估、文本蕴含、文本分类等任务上,改善了我们研究的12个数据集中的9个数据集的sota。
长期以来,使用无监督(预)训练来提高辨别性任务的性能一直是机器学习研究的一个重要目标。我们的工作表明,实现显著的性能提升确实是可能的,并提供了关于哪些模型(Transformers)和数据集(具有长范围依赖关系的文本)最适合这种方法的一些提示。我们希望这将有助于对自然语言理解和其他领域的无监督学习进行新的研究,进一步提高我们对无监督学习如何工作的理解。

有关从GPT到chatGPT(一):GPT1的更多相关文章

  1. 亚特兰蒂斯的回声(中文版): chatGPT 的杰作 - 2

    英文版英文链接关注公众号在“亚特兰蒂斯的回声”中踏上一段难忘的冒险之旅,深入未知的海洋深处。足智多谋的考古学家AriaSeaborne偶然发现了一件古代神器,揭示了一张通往失落之城亚特兰蒂斯的隐藏地图。在她神秘的导师内森·兰登教授的指导和勇敢的冒险家亚历克斯·默瑟的帮助下,阿丽亚开始了一段危险的旅程,以揭开这座传说中城市的真相。他们的冒险之旅带领他们穿越险恶的大海、神秘的岛屿和充满陷阱和谜语的致命迷宫。随着Aria潜在的魔法能力的觉醒,她被睿智勇敢的QueenNeria的幻象所指引,她让她为即将到来的挑战做好准备。三人组揭开亚特兰蒂斯令人惊叹的隐藏文明,并了解到邪恶的巫师马拉卡勋爵试图利用其古

  2. 智能客服 | 浅谈人工智能聊天机器人ChatGPT - 2

    2022年底,OpenAI的预训练模型ChatGPT给人工智能领域的爱好者和研究人员留下了深刻的印象和启发,他展现的惊人能力将人工智能的研究和应用热度推向高潮,网上也充斥着和ChatGPT的各种聊天,他可以作诗、写小说、写代码、讨论疫情问题等。下面就是一些他的神回复:人命关天的坑: 写歌,留给词作者的机会不多了。。。 回答人类怎么样面对人工智能: 什么是ChatGPT?借用网上的一段介绍,ChatGPT是由人工智能研究实验室OpenAI在2022年11月30日发布的全新聊天机器人模型,一款人工智能技术驱动的自然语言处理工具。它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动

  3. 【ChatGPT】ChatGPT 的 N 种用法 - 2

    目录ChatGPT简介技术原理应用未来发展ChatGPT的10 种用法ChatGPT简介ChatGPT是一种基于深度学习的大型语言模型,由OpenAI公司开发。技术原理GPT是GenerativePre-trainedTransformer的缩写,意为生成式预训练变压器。它的技术原理是使用了一个基于注意力机制的变压器(Trans

  4. 「想体验ChatGPT中文聊天?」那快进来,你用不上算我输 - 2

    ♥️作者:白日参商🤵‍♂️个人主页:白日参商主页♥️坚持分析平时学习到的项目以及学习到的软件开发知识,和大家一起努力呀!!!🎈🎈加油!加油!加油!加油🎈欢迎评论💬点赞👍🏻收藏📂加关注+!「想体验ChatGPT中文聊天?」那快进来,你用不上算我输项目场景:项目条件一、那就开始吧1、安装ChatGPT-Desktop2、OpenAPI设置二、使用实例恭喜你!!!配置成功了!!!API和URL都是博主免费提供给大家的!!!恭喜你!!!配置成功了!!!API和URL都是博主免费提供给大家的!!!🎈🎈加油!加油!加油!加油🎈欢迎评论💬点赞👍🏻收藏📂加关注+!项目场景:近几个月可以说ChatGPT是火得一

  5. 半个月狂飙1000亿,ChatGPT概念股凭什么? - 2

    ChatGPT掀起了AI股历史上最疯狂的一轮市值狂飙。自春节后至今,ChatGPT概念股开始了暴走模式,短短半月时间,海天瑞声、开普云等ChatGPT概念股市值累计增加了近1400亿。如此的爆炸效应,得益于ChatGPT所展现出商业化落地的巨大潜力。要知道,在此之前,无论是十年AI投入超千亿的百度,还是困在硬件化里的AI四小龙,都在重复着AI商业化难落地的故事。ChatGPT的出现,让AI从生产力的赋能者直接成为一种创造生产力的工具。随着订阅模式的推出,ChatGPT已经成为第一个以AI技术为核心直接变现的消费者应用。本文持有以下核心观点:1、ChatGPT是AI技术迭代的受益者。过去受限技术

  6. 未来的趋势————以ChatGPT为标杆的AI对生活的影响是巨大的 - 2

    文章目录前言1.AI的发展历程2.我是如何接触到人工智能的概念和产品的3.对于ChatGPT的一点看法4.AI对大学毕业生的职业发展的利与弊5.对于AI的思考和问题前言随着ChatGPT的爆火,生成式AI,大模型的人工智能被越来越多的人注意到,同时他也带来了许多问题。本文将对几方面进行探讨。1.AI的发展历程远古时期在公元前第一个千禧年,中国,印度和希腊哲学家都提出了一些推理的研究理论,比如亚里士多德(Aristotle)进行了演绎推理三段论的完整分析,欧几里得(Euclid)所著Elements是一种形式推理的模型,MuḥammadibnMūsāal-Khwārizmī,发明了代数学,即我们

  7. 山石发声|风暴眼中的ChatGPT,看NLPer怎么说? - 2

    当前科技领域最有热度的话题,无疑是OpenAI新提出的大规模对话语言模型ChatGPT,一经发布上线,短短五天就吸引了百万用户,仅一个多月的时间月活已然破亿,并且热度一直在持续发酵,各行各业的从业人员、企业机构都开始体验关注甚至自研“类ChatGPT”模型。这里,笔者从一位NLP从业人员的角度谈一谈对ChatGPT的一些看法和思考。1、ChatGPT诞生之路1.1BERT2018年,谷歌提出BERT(BidirectionalEncoderRepresentationfromTransformer)模型,一时之间疯狂屠榜,在各种自然语言处理领域建模任务中取得了最佳的成绩,NLP自此进入了大规模

  8. ChatGPT教程之深入了解魔术背后的技术 - 2

    解开谜团:深入探索ChatGPT的技术奇迹。ChatGpt无处不在,无论是在播客、博客、YouTube还是社交媒体上。当我注意到这项新技术如此受欢迎时,我决定试一试,我被震惊了!有很多关于ChatGpt及其魔力的博客,但在这篇博客中,我将深入探讨其内部技术及其工作原理!ChatGpt简介根据OpenAI,ChatGpt被描述为:“我们训练了一个名为ChatGpt的模型,它以对话方式进行交互。对话格式使ChatGpt可以回答后续问题、承认错误、挑战不正确的前提并拒绝不适当的请求。ChatGPT是InstructGPT的兄弟模型,它经过训练可以按照提示中的说明进行操作并提供详细的响应。”OpenA

  9. 火爆的ChatGPT快速学成,要看哪些书? - 2

    以前我们经常打趣说:***,你out了!当然了,玩笑成分居多。但是如果作为一名技术人员,现在还没有听说过ChatGPT,那么你可能真的“out”了。比尔·盖茨说,ChatGPT的重要性堪比互联网的发明,甚至它“将改变我们的世界”。ChatGPT得到科技界大佬的如此推崇,那么,ChatGPT到底是什么?ChatGPT是2022年11月底,美国OpenAI公司推出的一款人工智能聊天机器人。两个月后,ChatGPT的月活用户已经突破1亿,成为有史以来增长速度最快的消费者应用程序。ChatGPT功能极其强大,它能够通过学习和理解人类的语言进行对话,还能根据上下文进行互动,实现像人类一样的聊天交流。除了

  10. ChatGPT陷伦理风波 “纯净版”机器人在赶来的路上 - 2

     近期,AI安全问题闹得沸沸扬扬,多国“禁令”剑指ChatGPT。自然语言大模型采用人类反馈的增强学习机制,也被担心会因人类的偏见“教坏”AI。4月6日,OpenAI官方发声称,从现实世界的使用中学习是创建越来越安全的人工智能系统的“关键组成部分”,该公司也同时承认,这需要社会有足够时间来适应和调整。至于这个时间是多久,OpenAI也没给出答案。大模型背后的“算法黑箱”无法破解,开发它的人也搞不清机器作答的逻辑。十字路口在前,一些自然语言大模型的开发者换了思路,给类似GPT的模型立起规矩,让对话机器人“嘴上能有个把门的”,并“投喂”符合人类利益的训练数据,以便它们输出“更干净”的答案。这些研发

随机推荐