cha

ChatGPT专题报告:解析ChatGPT背后的技术演进|自然语言处理|模型|训练

  (报告出品方/作者:方正证券,方闻千)

  自然语言处理(Natural Language Processing, NLP)作为人工智能的 重要研究方向,旨在帮助计算机理解、解释和运用人类语言。回顾 NLP 的主要发展历程,可大致分为三个阶段:1)上世纪 80 年代之前, 人工智能开始萌芽,基于规则的语言系统占据主导;2)80 年代之后, 从机器学习的兴起到神经网络的引入,带动了 NLP 的快速发展和商业 化;3)2017 年至今,基于 Attention 注意力机制构建的 Transformer 模型开启了大语言模型时代。

  第一阶段:基于规则的语言系统。早在上世纪 50 年代前后,人工智 能就已经诞生,1956 召开了达特茅斯会议,首次正式提出了“人工智 能”。1980 年,自然语言处理的分为了两大阵营,分别为基于语言规 则的符号派和基于概率统计的随机派,而当时基于规则方法的势头明 显强于基于概率统计的势头,因此当时大多数 NLP 系统都使用复杂 的逻辑规则,能够处理包括字符匹配、词频统计等一些简单的任务。 同时在这一时期,也产生了一些机器翻译以及语言对话的初级产品, 比较著名的是 1966 年 MIT 发布的世界上第一台聊天机器人 Eliza, Eliza 能够遵循简单的语法规则来实现交流。但总体来看,这一时期 NLP 领域形成的成果还无法商业化,包括机器翻译的成本还是远高于 人工翻译,而且还无法与人真正实现基本的对话。

  第二阶段:从机器学习到神经网络。1980 年美国的卡内基梅隆大学召 开了第一届机器学习国际研讨会,标志着机器学习在全世界兴起,而 自然语言处理也逐渐走向纯粹的统计学。90 年代以后,神经网络模型 被引入到 NLP 领域,其中最著名的两个神经网络模型为循环神经网络 (Recurrent Neural Network, RNN)和卷积神经网络(Convolutional Neural Networks,CNN),特别是 RNN 因其处理序列数据的特性, 成为了大部分 NLP 模型的主流选择。2000 年后,一方面 Multi-task learning,Word Embedding,Seq2seq 等层出不穷的新技术推动了 NLP 技术的快速进步,另一方面 NLP 逐步实现了商业化,包括机器翻译、 文本处理等商业化产品开始大量出现。

  第三阶段:基于 Attention 注意力机制构建的 Transformer 模型奠定 了大语言模型的基础。2017 年 Google 机器翻译团队发布了著名论文 《Attention is All You Need》,提出了基于 Attention 注意力机制构建 的 Transformer 模型,这也成为了 NLP 历史上的一个标志性的事件。 相较于传统的神经网络,基于 Attention 注意力机制构建的 Transformer 模型在提升了语言模型运行的效率(效率更高),同时能够更好的捕 捉语言长距离依赖的信息(效果更好)。2018 年 OpenAI 公司的 GPT 以及 Google 公司的 BERT 均是基于 Attention 注意力机制与 Transformer 而构建,而 NLP 也正式进入到了大语言模型的全新阶段。

  注意力(Attention)机制与 Transformer 模型构建了大语言模型的基 石。注意力(Attention)机制最早由 Bengio 团队在 2014 年提出,随 后开始广泛应用在深度学习中的各个领域。Attention 的思想很简单, 它的最初灵感来源于人类的视觉,即当人用眼睛观察东西的时候,会 首先快速扫描全局图像,然后再捕捉需要重点关注的目标区域,将视 觉重点聚焦在这个目标区域,对重点区域投入更多注意力资源,同时 忽略其他信息。因此 Attention 机制最早应用在计算机视觉领域,用 于捕捉图像上的感受野,随后在 NLP 领域也开始得到应用,并且在 NLP 领域真正的发扬光大。2017 年,Google 机器翻译团队发布 Transformer 模型, 在 Transformer 中抛弃了传统的 CNN 和 RNN 结构, 整个网络完全是由 Attention 机制组成,2018 年 Google 的 BERT 模型 以及 OpenAI 公司的 GPT 模型都是在 Transformer 的基础上构建。

  在 Attention 注意力机制应用于 NLP 领域以前,大部分语言模型都是 基于 RNN 及 CNN 所构建,特别是 RNN 处理序列信息的特性,使得 其在 NLP 领域得以广泛应用。RNN 对处理具有序列特性的数据非常 有效,比如在自然语言处理领域,将每一个字或每一个词的组合作为 一个序列;在语音处理领域,将每一帧的声音信号的组合作为一个序 列;在时间序列方面,比如股价数据,将每一天或者每一时刻的股票 价格的组合作为一个序列。因此通过利用了 RNN 处理序列数据的能 力,在语音识别、机器翻译等领域中取得了很多成果,很多早期的 NLP 商业化产品都是基于 RNN 所构建。与此同时,为什么说后来的 Attention 机制优于之前的 RNN 以及 CNN,可以从运算机制和算法思 想等方面对三者的角度做一个直观对比。

  ChatGPT专题报告:解析ChatGPT背后的技术演进|自然语言处理|模型|训练(图1)

  首先,RNN 在 NLP 领域得到广泛应用的同时,其算法机制一直存在 着两个缺点,第一个缺点就是语言的长距离信息会被弱化。比如在这 样的长句子中:“原来是你把我的苹果拿走了,下次记得提前跟我说 一声,我还得用它来发邮件呢”,我们要确定“苹果”指代的是苹果电 脑/手机还是水果,就需要进行通过长距离的信息学习。由于在 RNN 模型中,对序列中的元素是按顺序处理的,比如在第一个 RNN 层中 的第二个节点 h2,它的计算是由第一个节点 h1,即词向量 1 输入模 型后得出的结算结果,以及词向量 2 的输入,二者共同决定的。在 RNN 模型中,两个词之间的交互距离可以认为是他们之间的相对距 离,因此第 1 个词和第 n 个词之间的交互距离是 n-1,因此如果一个 序列足够长,RNN 模型中的节点经过许多阶段的计算后,之前比较长 的时间片的特征已经被覆盖,很难将将信息从较早的时间步传送到后 面的时间步,距离越远的信息越容易被忽略掉。虽然在实际情况下, 大多数词的词义在一个较小范围的上下文语义环境中就可以确定,对 于一个更好的语言模型而言,我们的期望是模型能够更好的获取长距 离的信息。

  RNN的第二个缺点就是RNN是串行处理机制所带来的计算效率低的 问题。从 RNN 实现的原理来讲,是因为每个时间步(time step)的 计算,都依赖于对前一时间步的计算和输出结果,难以进行并行化运 算进行加速。并且在长句中的每个时间步都包括一个 memory I/O 操 作,这导致了模型的性能严重受限于 GPU 的最大线程和最大内存带 宽的约束。特别是在处理长句的训练样本时,RNN 存在的模型运行速 度慢的问题会体现的更加明显,因此导致了语言模型中能够堆叠 RNN 的数量受到了明显的限制。

  为了应对 RNN 模型存在的缺陷,一般会使用双向的 RNN 及 LSTM 长时间的短期记忆网络(Long Short-Term Memory Networks),比 传统 RNN 在长距离信息识别方面有更好的表现。双向 RNN 结构作为 RNN 的变体,在使用一个 RNN 对序列中的元素从左往右进行处理的 同时,另一个 RNN 对序列从右向左进行处理,因此能够在一定程度 上优化对长距离信息的处理,可以考虑整个句子的信息,然而双向 RNN 的缺点在于需要完整数据的序列,比如语音识别系统中,必须等 待一个人说完整句话,才能做出识别,这样就有一个比较长的等待时 间。而 LSTM 作为一种带有门控(Gate)机制的 RNN 模型,是一种 让信息选择式通过的方法,门控可以只保留有效信息来进行预测,并 忘记不相关的数据。因此能够记住重要的信息,而忽略无关紧要的信 息。LSTM 虽然理论上可以对历史信息进行有选择的存储和遗忘,但 是门控参数量一定的情况下,这种能力是一定的。随着句子的增长, 相对距离的增大,存在明显的理论上限。

  ChatGPT专题报告:解析ChatGPT背后的技术演进|自然语言处理|模型|训练(图2)

  相较于 RNN 在 NLP 领域的广泛应用,CNN 此前较多应用于计算机 视觉领域,同样,CNN 也存在长距离信息丢失的问题。 从 CNN 的 运算机制来看,每一层的 CNN 每个节点覆盖的语义环境范围是一定 的,这是由 CNN 存在的感受视野(Receptive Field)所决定的,比如 第一层 CNN 中第二个节点 h2 的计算只利用了词 1、词 2、词 3 的信 息。而第二个 CNN 层覆盖的语义环境范围会变大,且越往上层覆盖 的语义环境会变得越大。因此,在语言序列中,一个词首先会与自身 距离较近的词发生交互,比如在第一层的第二个节点 h2 中,词 1、词 2、词 3 发生了交互,而距离较远的词,如词 1 和词 n,则需要在高层 上才能发生交互。因此词与词之间的信息的获取与相互关键,取决于 它们之间的相对距离,距离越远,信息获取的难度也就越大,因此同 样,CNN 也存在语言序列的长距离信息依赖的问题。

  相较于 RNN 和 CNN,Attention 注意力机制的原理就是在每一层的 计算中都考虑了词与词之间的全连接关系,在模型的并行化运算的同 时,能够很好的解决长距离信息依赖的问题。从 Attention 的计算过 程来看,一个语言序列中的每一个词和 Attention 中每一个节点都是 全连接的关系,比如第一层中第一个节点 h1 的计算会考虑全部输入 词 1 到词 n 的信息,而第一个 Attention 层和第二个 Attention 层之间 的全部节点也都是全连接的关系,因此任意两个词之间的交互,与词 与词之间的远近距离都不存在关系。句子中每个词义的确定,都考虑 了与整个句子中所有的词的关系(计算量更大),因此这样能够更好 的捕捉到长距离的信息,就算文本或者语句比较长,也能够抓住重点, 不丢失掉重要的信息。同时,Attention 模型是并行计算的,每一步计 算不依赖于上一步的计算结果,可以并行处理语言序列数据,大幅提 升了语言模型运行的效率,在运算机制上更加契合现代 GPU 的硬件 架构。

  ChatGPT专题报告:解析ChatGPT背后的技术演进|自然语言处理|模型|训练(图3)

  从 Attention 和 CNN 的关系来看,CNN 可以看作是有注意力范围的 Attention,而 Attention 则是实现了全连接的 CNN。二者之间的区别 就是 CNN 存在的感受野(Receptive Field),有局部的归纳偏置,而 Attention 是全连接的,能够捕捉全局信息的。因此从训练难度的角度 来说,Attention 的难度更大,因为 Attention 没有做任何的局部归纳, 因而也需要更多的数据。而早期 CNN 之所以更多的应用在视觉领域, 是因为图片天然具有局部特征,因此 CNN 能做到在不需要非常多数 据的情况下有比较好的效果。但是在 NLP 领域,Attention 通常在数 据量足够的时候,表现比 CNN 更优秀。

  Attention 的数学原理来看,就是用数字来表达词与词之间的相关程 度,当数字越大时,这两个词之间相关程度越高。比如在“原来是你 把我的苹果拿走了,下次记得提前跟我说一声,我还得用它来发邮件 呢。”这句话中,语言模型要去理解 “苹果”指的是苹果电脑/手机还 是水果,就需要计算苹果与这个句子中其他所有词包括之间的相关系 数,用相关系数,或者说注意力分数来表达他们之间的相互联系,得 出的分数越高,那么这两个词之间的相关程度就越高。比如在这个句 子中,通过计算,能够发现“苹果”与“邮件”的分数较高,最终可以得 出“苹果”指代的就是苹果电脑/手机,以此来实现了注意力机制。

  在 Attention 注意力机制中又包含了自注意力机制 Self-Attention、交 叉注意力机制 Cross-Attention 等,而自注意力机制 Self-Attention 就 是 Transformer 等大语言模型的核心组成部分。自注意力机制指的不 是输入语句和输出语句之间的 Attention 机制(不同输入),而是在输 入语句的内部元素之间发生(同一输入),即在同一个句子内部实现 注意力机制。Self-Attention 的详细计算具体可分为以下三步:

  第一阶段,信息的预处理:词的向量化,句子的矩阵变换。在运行 Attention 机制之前,需要对输入模型的语句文本进行预处理,首先需 要讲文本语句进行分词操作(Tokenization),即将语言序列切分成 一个个字符串。对英文来说,分词操作为输出一个一个的单词,对中 文来说分词操作为输出一个一个的字。然后,我们需要将字或词向量 化(Word Embeddings)(比如在我们输入的句子中每一个词都转化 为一个向量,而这个句子则是一个矩阵,而 Attention 机制本质上就是 对这个输入语句的矩阵进行了多次的矩阵变换)。在分词和向量化后, 得到了向量序列(a1,a2,a3,a4),接下来需要对输入向量做矩阵 变换,即用三个权重矩阵 Wq ,Wk ,Wv(这三个权重矩阵实际上 就是我们所需要训练的内容,因为其他输入都是既定的)与(a1,a2, a3,a4)分别相乘,得到三个向量序列 Q(q1,q2,q3,q4),K(k1, k2,k3,k4),V(v1,v2,v3,v4)。由于在 self-Attention 中,Q、K、V 都是由同一个矩阵变换而来,因此 Q、K、V 是同源的,而 Q、 K、V 之间的相互计算 Self-Attention(Q、K、V),则称之为自注意 力。

  第二阶段,相关程度计算:计算出词与词之间的相关程度。在预处理 之后,接下来需要通过 Q 和 K 来计算 Attention 相关度。比如计算第 一个词与句子中的所有词(包括自己)的相关度,即用向量 q1 与向 量 k1,k2,k3,k4 分别两两求点积(由两个向量的点积可以得到两 个向量的相似度)。因此在每次输入了两个向量后,输出一个数,比 如用 q1 和 k1 可以得出α1,1,而α1,1,α1,2,α1,3,α1,4 则代表 了第一个词与句子中所有词(包括自己)的相关程度,如果第一个词 和第三个词关联性较高,那么α1,3 的数值就会比较大。在计算完成 之后,再使用 Softmax 函数归一化处理就得到了α1,1,α1,2,α1,3, α1,4,使得每一个数的范围都在(0,1)之间,且所有数之和为 1。最后 得到的α1,1,α1,2,α1,3,α1,4 就代表了第一个词与其他词的相关 系数。

  第三结算:输出最终结果:用相关系数来加权求和。在经过 softmax 的 归一化处理得到了一组注意力系数α1,1,α1,2,α1,3,α1,4 之后, 最后再依次乘以预处理的第三个向量序列 V(v1,v2,v3,v4),并 求和,即α1,1*v1+α1,2*v2+α1,3*v3+α1,4*v4,得到输出结果 b1, 如果 a1 和 a3 关联性比较高, 则α1,3 的数值就会就比较大,而输出 的向量 b1 就与向量 v3 更加接近,同理可以并行计算出 b2、b3、b4。 因此,回顾整个 Self-Attention 的计算过程,输入的是向量(a1,a2, a3,a4),输出的向量(b1,b2、b3、b4)就是 attention 的最终输出 结果。

  Transformer 作为大语言模型的基础模型,分为编码器和解码器两大 模块,实际模拟的是人类大脑从理解语言到表达语言的过程。从 Transformer 的结构来看, Transformer 由 Encoder 编码器和 Decoder 解码器两个部分组成,具体而言是由 6 个编码器和 6 个解码器堆叠而 成。而编码器-解码器结构作为语言模型的经典结构,它模拟的是大脑 理解自然语言的过程,其中编码就是将语言转化成一种大脑所能理解 和记忆的内容,而解码就是将大脑中所想的内容表达出来。比如在计 算机训练语言模型的过程中,最初是不知道“你好”和“Hello”背后 的意思的,也不知道他们所表达的含义是相关的,而模型学习的过程, 就是将这两种不同的表达映射到同一个意识概念上。因此在以 Transformer 为代表的语言模型中,编码器的功能就是把自然语言序列 映射为某种数学表达,而解码器则是再把这个数学表达映射为自然语 言序列的过程。

  ChatGPT专题报告:解析ChatGPT背后的技术演进|自然语言处理|模型|训练(图4)

  整个 Transformer 网络没有使用传统的 CNN 和 RNN 结构,而完全是由 Attention 机制组成,其中 Self-Attention 则是 Transformer 最核心的组 成部分。首先看编码器 Encoder 的结构:编码器 Encoder 由两个子层 组成,第一个子层为 Muti-head Attention(多头注意力机制) +Add&Norm 层,其中多 Muti-head Attention 是将多个 Self-Attention 拼 接在一起,本质上仍是 Self-Attention;第二个子层为 Feed Forward Neural Network(前馈神经网络)+Add&Norm 层,这一层中通过引入 了非线性函数(具体为 ReLU 激活函数,此前的自注意力层都是线性 变换),能够使得神经网络中的神经元也具有了稀疏激活性,即能够帮助模型更好的挖掘相关特征,拟合训练数据。同时在两个子层中, 均加入了 Add&Norm 层,Add&Norm 包含 Residual connection(残差连 接)和 Normalization(标准化)两个部分,这也是此前语言模型中被 验证过的有效的方法,即通过 Residual connection 用于防止网络特征 退化,而 Normalization 的使用可以加快模型的收敛速度。总的来说, Transformer 中编码器 Encoder 的多层结构即为 self-attention 层与 Feed Forward 层的堆叠使用,其中 self-attention 层是 Transformer 最核心的 部分。

  Transformer 的解码器 Decoder 与编码器 Encoder 在结构上有许多共 同之处,二者的最大不同,就是解码器使用了带有遮盖的自注意力机 制(Masked Self-attention)。解码器与编码器同样也是多层结构, 即 self-attention 层与 Feed Forward 层的堆叠使用,而二者的侧重点有 所不同的是,Decoder 是用来预测信息的,因此在训练预测能力的时 候,模型需要将未来的信息遮盖住(只看上文),而不能提前看到训 练的答案(不看下文),因此解码器采用了 Masked Self-attention。 Masked Self-attention 与 Self-attention 在算法原理上的主要不同,即Masked Self-attention 每一步的计算都只能依赖当前时刻以前的输出, 而看不到当前时点之后的输出。比如在 Self-attention 中,输出的结果 b2 读取了所有的输入 a1,a2,a3,a4…,而 Mask Self-attention 中, b2 只能读取 a1,a2,而读取不了 a3,a4…的信息。总的来看,解码 器 Decoder 的运算过程中需要进行多次 mask 操作。

  ChatGPT专题报告:解析ChatGPT背后的技术演进|自然语言处理|模型|训练(图5)

  在基于 Transformer 所构建的大语言模型中,最著名的两个模型是 OpenAI的 GPT和 Google的 BERT,虽然二者都是基于 Transformer, 但 GPT 模型仅使用了解码器的部分,而 BERT 仅使用了编码器的部 分,二者在技术路线上也走向了两条不同的道路。具体来说,BERT 仅运用了 Transformer 的 Encoder 框架,而 Encoder 中采用了 Self-attention 机制,即训练时每一个词需要对整个输入序列的上下文进行相关性分析,从模式上来看更接近于一个完形填空模型;而 GPT 运用了 Transformer 的 Decoder 框架,Decoder 中的 Self-attention 机制 是 Mask Self-attention,在训练时会对下文进行了遮盖(mask)处理, 仅基于上文,来生成下文,因此 GPT 更接近人类的语言生成模式,更 适合来构建语言生成模型。

  从 GPT 的语言生成模式来看,并不是一次性将整个序列全部生成, 而是每个字每个词逐一生成,即在生成每一个词的时候,必须先生成 它的前一个词。而每一个字的生成,会用到这个字之前的全部上文, 即全部输入+这个字之前的全部输出,比如向 GPT 提问:“地球有多 大?”,GPT 的完整回答为:“地球是太阳系内第三颗最靠近太阳的 行星,其直径约为...”,而在生成“系”这个字时,所用到的信息 为:输入“地球有多大?”+“系”这个字之前所已生成的输出“地 球是太阳...”。在生成“系”之后,再依照同样的原理,也“系” 也作为上文,再生成下一个字。因此 GPT 实际上是一种自回归生成的 语言模型,而在 GPT 和 BERT 的背后则是 Transformer 的编码器与解 码器在算法思想上的差异,因此 GPT 作为基于解码器所构建的语言模 型,在其后的语言生成方面也展现出了更大的潜力。

  总体来看,2017 年发布的 Transformer 无论是在机器翻译、文本生成、 问答系统等任务处理,还是在模型训练速度上,其性能均超过了之前 的模型,而这还仅仅只是 Transformer 的初始形态。从多项测试的结 果来看:1)机器翻译任务中,Transformer 在 WMT 2014 英德翻译任务上,相对于之前的 SOTA 模型,实现了近 2 个 BLEU 值的提升, 达到了 28.4 BLEU 分数;2)文本生成任务中,Transformer 在 WikiText-103 数据集上的困惑度仅为 18.3,相对于之前最好的困惑度 20.5,实现了很大的提升;3)问答任务中,Transformer 在 SQuAD 数 据集上的 F1 分数为 87.4,优于之前最好的模型。同时,Transformer 的运行速度也有了很大提升,例如,Google 使用了 64 个 TPU v3 设备 对 Transformer 进行训练,处理英德翻译任务的速度快于之前最好的 RNN 模型 7 倍。

  在 2018 年,自然语言处理 NLP 领域正式步入了大语言模型时代, OpenAI 公司的 GPT 模型与谷歌的 BERT 模型在同年相继推出。2018 年 6 月,OpenAI 公司发布了 GPT 模型的初代版本,GPT-1 运用了 Transformer 的 Decoder 框架中 Mask Self-attention 机制,目前已经迭 代到了最新 ChatGPT 与 GPT-4,毫无疑问 GPT 模型已经成为了当前 最为强大的语言模型。在 2018 年 10 月,Google 也发布了 BERT 模型, BERT 采用了 Transformer 的 Encoder 框架中 Self-attention 机制,作为 一个拥有 3 倍 GPT 参数量的更大体量的语言模型,BERT 在当时的多 项测评以及业内影响力等方面,要领先于 GPT 的初代版本。特别是在 BERT 开源之后,包括 Facebook、百度等国内外大厂均推出了基于 BERT 之上开发的大模型,其中包括 Facebook 的 XLM、RoBERTa 模 型,以及百度的 ERINE 系列模型。

  ChatGPT专题报告:解析ChatGPT背后的技术演进|自然语言处理|模型|训练(图6)

  从 GPT 的初代版本来看,GPT-1 在训练方式上仍依赖于数据标注和 模型微调,同时 GPT-1 的语言泛化能力仍然不足,因此可以说 GPT-1 更接近于处理特定语言任务的专家模型,而非通用的语言模型。GPT-1的模型训练采取的是二段式的训练模式,第一阶段利用无监督学习进 行预训练,使用未标记的数据生成语言模型;第二阶段则根据特定的 下游任务来对模型进行人工微调,比如分类任务、自然语言推理、语 义相似度、问答和常识推理等任务。因此相较于此前 NLP 模型,GPT-1 实际上还是一个半监督式学习的语言模型。GPT-1 在多种语言任务方 面都有不错的效果,在自然语言推理、分类、问答、对比相似度的多 种测评中均超越了之前的模型。但与此同时,GPT-1 的语言泛化能力 仍然不足,无法解决通用的语言任务,且和同时代的 BERT 模型比较 的话,GPT-1 在能力上要逊色于 BERT。

  2019 年 2 月,GPT-2 正式发布,相较于 GPT-1,GPT-2 舍弃了模型 微调,构建了一个泛化能力更强的语言模型,这也开始让模型的通用 性得以充分展现。尽管此前 GPT-1 在特定任务上已经取得了不错的效 果,但实际上这类模型都需要针对单个语言任务使用大量的标注数据 和模型微调,因此也只能在解决特定语言任务时才能发挥作用。而 GPT-2 的泛化能力就体现在,能够让模型应用到不同的任务,而不需 要做专门的训练。这也更符合人脑处理语言信息的过程,因为人脑既 可以读小说,也可以看新闻,能执行不同的语言处理任务,而且这种 能力是相互关联的。而人脑在获取一个语句的信息时,这个信息是通 用的,因此我们所期望的一个通用的语言模型,既可用于分类任务, 也可以用于问答和常识推理等任务。具体而言,相较于 GPT-1 的无监 督式预训练+有监督式学习和模型微调,GPT-2 直接舍弃了微调阶段, 直接通过大规模数据进行预训练,让模型开始具备解决多种语言任务 的能力。

  ChatGPT专题报告:解析ChatGPT背后的技术演进|自然语言处理|模型|训练(图7)

  2020 年 5 月, GPT-3 正式发布,GPT-3 在训练方式上创新性的引入 了 In-context 学习(上下文学习),即在训练模型时,在输入的文本 中加入一个或多个示例,引导模型输出相对应内容。比如:“请把以 下中文翻译成英文:苹果=> apple;自然语言处理的发展历程”就是 一个典型的带有一个示例的输入文本。而 In-context 学习包含了三种 模式,分别为 Zero-shot Learning(零样本学习)、One-shot Learning (单样本学习)和 Few-shot Learning(少样本学习),zero-shot 就是 没有示例只给提示,one-shot 是只给一个范例,few-shot 则给多个范 例,实际上 zero-shot 在表达方式上已经接近于人类的语言表达方式。 In-context 学习的优点在于,输入规范化的语言模板,从人类的例子和 类比中去学习,无需进行模型微调和数据标注,特别是大量的标注数 据需要很高的人工成本。引入 In-context 学习后,从最终实际效果来 看,GPT-3 在 few-shot 上有非常强劲的表现,但同时 one-shot 和 zero-shot 的效果还不够优秀。因此对于 one-shot 和 zero-shot 效果的提 升也成为了下一代模型未来需要突破方向。

  GPT-3 参数量相较于 GPT-2 提升了两个数量级,达到了 1750 亿, 数据集在处理前容量达到了 45TB,成了真正意义上的超大语言模型。 GPT-3 在许多 NLP 任务上相较于 GPT-2 及其他语言模型有更多出色 表现,特别是机器翻译、聊天问答和文本填空。同时是在海量参数和 训练数据的支撑下,GPT-3 的开始能够完成一些比较困难的 NLP 任务, 比如 GPT-3 也可以生成新闻报道和撰写文章,并且很难将机器写的文 章与人类写的辨别开来,甚至 GPT-3 在编写 SQL 查询语句,React 或 者 JavaScript 代码也有十分优异的表现。而在 GPT-3 强大能力的背后 是对算力的巨大消耗,GPT-3 的计算量达到了 BERT-base 的上千倍, 根据 OpenAI 公司披露数据,GPT-3 的训练费用超过 1200 万美元,因 此到这一阶段就能看出,大语言模型逐渐成为了只有巨头才能参与的 游戏。

  ChatGPT专题报告:解析ChatGPT背后的技术演进|自然语言处理|模型|训练(图8)

  在 GPT-3 取得成功之后,OpenAI 在 GPT-3 的基础上推出了多个迭代 版本,经过 2 年左右的时间,在 2022 年 11 月正式推出 ChatGPT, 随即成为了全球范围内最强大的语言模型。OpenAI 公司在 GPT-3 与 ChatGPT 之间发布了多个迭代版本,其中包括:2021 年 7 月推出了 Codex 系列;2022 年 1 月,引入 RLHF(基于人工反馈的强化学习) 得到了 InstructGPT;2022 年 4 月至 7 月,推出了融合 Codex 和InstructGPT 的 code-davinci-002 版 本 ; 5 月 至 6 月 发 布 了 text-davinci-002 版本;11 月发布了 text-davinci-003 和 ChatGPT,两个 模型都是使用了基于人类反馈的强化学习的版本指令微调模型。

  ChatGPT 相较于 GPT-3,不仅是在文本生成等方面展现出了非常强 大的能力,与人类对话的智能感大幅提升,而且海量数据和参数的支 撑下,模型在逻辑推理与思维链等方面能力开始涌现。ChatGPT 可以完成许多相对复杂的语言任务,可以完成包括自动文本生成、自动问 答、多轮对话等,并且能够主动承认错误,质疑不正确的问题等。此 外,ChatGPT 还能编写和调试计算机程序。目前 ChatGPT 的应用主 要包括:1)聊天机器人,可以使用 ChatGPT 来自由对话,使机器人 能够向用户做出自然的回应;2)编写和调试计算机程序; 3)文学、 媒体相关领域的创作,包括创作音乐、电视剧、童话故事、诗歌和歌 词等;4)教育、考试、回答测试问题;5)通过 API 结构集成到其他 应用中,目前 GPT 已经集成到了 Bing 搜索和 Office 套件。ChatGPT 在推出后仅两个月活跃用户就达到了一个亿,成为了史上用户增长速 度最快的消费级应用程序。

  ChatGPT专题报告:解析ChatGPT背后的技术演进|自然语言处理|模型|训练(图9)

  基于人工反馈的强化学习(Reinforcement Learning from Human Feedback,RLHF)的引入,是 ChatGPT 相较于 GPT-3 在训练策略 上最重要的变化。关于强化学习,其应用的经典案例就是围棋人工智 能机器人 Alpha GO。Alpha Go 在应用了强化学习进行无数次自我对 弈训练后,其能力在短时间内得到了迅速的提升,2017 年战胜了当时 围棋世界排名第一的柯洁,而强化学习也因此为大众所认知。强化学 习的原理,就是让模型不断与环境进行交互,外部环境对每一次的交 互进行反馈,通过奖励或者惩罚,让模型不断调整自己的行动策略, 并且逐渐找到最优的行动策略,从而达到最大化奖励的目标。比如用 强化学习训练 AlphaGo 下围棋时,会在 AlphaGo 的每一步行动之后, 都给予 AlphaGo 一个明确的反馈,是“好”还是“不好”,让模型不 断优化对弈策略(参数调整),最终让棋子占领棋面上更多的区域并 取得胜利。

  而在 ChatGPT 训练过程分为三步,其中最重要的部分即用人工标记 的方式,训练出一个专门评价模型,再用这个评价模型来训练 GPT 模型,通过对其输出的内容打分,进而实现模型的训练与迭代。具体 而言: 第一步:预训练初始模型。在 GPT3.5 的基础上,使用有监督学习方 式,微调训练出一个初始模型。训练数据一部分来自使 OpenAI 公司 采集了 GPT-3 在公测期间用户提供的对话数据,另一部分来自 OpenAI 雇佣的 40 名标注师(labeler),由标注师分别扮演用户和 AI,人工 生成人工的多轮对话数据。预训练的数据量不大,但数据的质量和多 样性很高。 第二步:训练奖励模型。奖励模型的训练是 ChatGPT 的训练流程中最 重要的一步,具体方法就是,随机抽取一大批提示(prompt),输入 到第一阶段产生的模型中,模型会随机生成 K(4≤K≤9)个输出, 然后以两两配的形式对向标注师展示输出结果,而标注师则在两个结 果中选择效果更好的,通过人工打分排序的方式,对于符合人类价值 观的内容给予较高的分数,而对人类不喜欢的内容给予较低的分数, 最终实现对奖励模型的训练。 第三步:使用强化学习对语言模型进行训练。这一阶段开始应用海量 的无标注的数据,所用数据来自于抓取的网页、论坛、百科上的海量 数据。将海量数据输入到预训练的模型中,通过第二步训练得到的奖 励模型来对输出的内容进行打分,结合近端策略优化(Proximal Policy Optimization,PPO)算法,鼓励模型输出更高质量的内容,从而实现 语言模型的训练。

  ChatGPT专题报告:解析ChatGPT背后的技术演进|自然语言处理|模型|训练(图10)

  在展现强大能力的同时,ChatGPT 仍存在一定的局限性,主要受限 于标注团队的国籍分布、训练数据的语种以及训练数据的时效性。由 于 ChatGPT 的奖励模型的训练实际上 40 名 OpenAI 雇佣的 40 名标注 师对模型输出结果进行训练而得到的,因此 ChatGPT 的价值观是由这 40 个外包员工的价值观组合而成,40 名外包员工来自美国和东南亚, 分布比较集中且人数较少,因此实际上也会存在其他地区比较在意的 偏见问题。同时 ChatGPT 训练数据 96%以上是英文,其它 20 个语种 包括中文,法语,西班牙语等合计不到 4%,因此 ChatGPT 在其他语 种上的生成能力要逊色于英文。同时由于 ChatGPT 训练数据只更新到 2021 年,因此在一些问题的回答上缺乏时效性。

  2023 年 3 月 15 日,GPT-4 正式发布,相较于之前版本的 GPT 模型, GPT-4 在各项能力上有了质的的突破,除了在推理能力、文本生成能 力、对话能力等方面有了大幅提升之外,GPT-4 迈出了从语言模型向 多模态模型进化的第一步。GPT-4 最大的变化即能够接受图像的输入, 并且能够生成文本语言,并且在看图能力方面有让人惊喜的表现的。 同时 GPT-4 的各项能力相较于此前版本也有大幅提升,包括可以处理 超过 25000 字长文本,以及写作能力的大幅提升,能够编歌曲、写剧 本、学习用户写作风格,同时包括 GRE、SAT 等考试能力也有大幅提 升。在基于机器学习模型设计的各项基准上评估 GPT-4,GPT-4 大大 优于现有的大型语言模型,以及大多数 SOTA 模型。除了英语外, GPT-4 在包括拉脱维亚语、威尔士语和斯瓦希里语等 26 种语言上的性 能甚至都优于现有语言模型的英语性能。

  回顾 GPT 模型演进的 5 个重要阶段,从 2018 年 5 月发布到 GPT 初代 版本,到 2023 年 3 月的 GPT-4,仅 5 年时间 GPT 模型的性能就产生了 质的飞跃。在能力快速提升的背后,可以看到一方面是对训练方法的 持续迭代,从 GPT-1 的半监督式学习,到 GPT-2 舍弃了微调阶段,再 到 GPT-3 的 In-context 学习和海量数据,以及引入了基于人工反馈的 强化学习之后,最终进化到了 ChatGpt 和 GPT-4,另一方面,是 OpenAI 公司以及微软对研发和算力的高投入,通过“大力出奇迹”的方式, 支撑了模型参数和训练数据的快速膨胀。

  ChatGPT专题报告:解析ChatGPT背后的技术演进|自然语言处理|模型|训练(图11)

  近年来包括 Google,微软等海外大厂均已经在大模型上展开布局,未 来随着行业竞争门槛的迅速提升,头部厂商在算力资源、数据积累等 方面的竞争优势将进一步凸显。在语言大模型方面 OpenAI 公司的 GPT 模型已经处于绝对领先地位,Google、Facebook 等国外大厂紧随其后。 目前主流大语言模型的参数量已经达到千万级,同时背后对算力的需 求也非常巨大,包括 GPT-3 的单次训练费用超过 460 万美元,总训练 费用超过 1200 万美元,未来在大模型上的“军备竞赛”也将让大模 型成为了只有巨头才能参与的游戏。虽然模型的基本结构都已经通过 论文等方式公开,但是各厂商在工程实践方面仍存在明显的差异,包 括在数据的清洗、标注以及模型的微调、训练方法等方面仍需要长时 间的研发投入和经验积累。未来可预见到,这一领域头部厂商的先发 优势和马太效应会体现的非常明显,特别是 ChatGPT 作为第一个“出 圈”的大语言模型,目前每天有数以亿计的用户在使用 GPT 模型,随 着使用次数越来越多,更多的数据会被收集来不断迭代系统和算法, 而 GPT 模型的护城河也会越来越宽。

  全球范围来看,大模型的应用已经不局限于 NLP 领域,计算机视觉、 多模态等领域的大模型开始涌现。目前大模型包括三类:1)自然语 言处理(NLP)模型,如 Open AI 的 ChatGPT 模型,Google 的 LaMDA; 2)计算机视觉(CV)模型,如微软的 Florence;3)多模态模型,如 Open AI 的 GPT-4 模型,Google 的 Parti。

  国内互联网大厂包括百度、字节、阿里等厂商均推出了自己的大模型 或披露了相关计划。总体来看,和海外头部厂商相比,国内大模型在 工程实践上尚存在一到两年以上的差距。1)百度:3 月 16 日百度文 心一言多模态大模型正式发布,具备文学创作、商业文案创作、数理 逻辑推算、中文理解和多模态生成五个领域能力;2)阿里:2021 年, 阿里推出了最大规模的中文多模态预训练大模型通义-M6,并以该模 型为底座,覆盖 NLP、多模态、计算机视觉等领域,目前该模型系列 已在超过 200 个场景中提供服务;3)字节:2022 年,字节与清华联 合提出的 DA-Transformer 大模型,超越了自回归 Transformer 的性 能;4)腾讯:2022 年,腾讯发布了混元 AI 万亿大模型,采用腾讯太 极机器学习平台自研的训练框架 AngelPTM。此外包括 360、科大讯 飞等厂商也披露了相关产品计划。

  AIGC 是人工智能的重要演进方向,而生成算法、大模型与多模态三 大底层技术的突破成为了 AIGC 的质变的关键。从 2022 年以 DALL-E2、Stable Diffusion 为代表的 AI 作画系统,到 2023 年以 ChatGPT 为代表的对话机器人的出现,预示着 AIGC 底层技术的逐渐 成熟,从底层技术来看,主要来自于三个方面的技术突破:

  1)生成算法:包括生成对抗网络(GAN)、变分自编码器(VAE)、 Transformer 模型、扩散模型(Diffusion Model)等不断涌现生成算法。 2014 年出现生成对抗网络 GAN(Generative Adverserial Network)是 AIGC 早期的主流框架,但同时 GAN 一直存在对输出结果控制力弱, 难以生成新图像等缺点。随后扩散模型开始出现,在提升图像生成效 果的同时,大幅降低了计算量和计算时间,让文本生成图像能力走向 成熟,并逐渐取代 GAN 成为当前主流的图像生成器,包括 DALL-E2、 Stable Diffusion 等 AI 作画系统均是基于扩散模型所构建。

  2)大模型:大模型发展的关键节点是 2017 年出现的基于 Attention 注意力机制的 Transformer 模型,随后 Transformer 迅速成为了 NLP 领域的主流框架,并且于 2018 年发布的 GPT 以及 BERT 模型均是基 于 Transformer 所构建。不仅仅局限于 NLP 领域的应用,大模型可以广泛适用于各类下游任务,当前已经成为了 AIGC 的底层框架。许多 跨领域的 AI 应用均是构建于大模型之上,真正意义上解决了多任务、 多场景、多功能需求,让一个 AIGC 模型可以高质量地完成多种多样 的内容输出任务。

  3)多模态技术:多模态相关技术使得语言文字、图像、音视频等多 种类型数据可以互相转化和生成,而相关研究主要包含多模态表示学 习(对不同模态数据提取特征与表示)、多模态转化(将一个模态的 信息转换为另一个模态的信息)、多模态对齐(寻找同一实例不同模 态信息的对应关系)、多模态融合(联合多个模态的信息并进行预测)、 协同学习(使用一个资源丰富的模态信息来辅助另一个资源不足的模 态进行学习)等几个关键部分。

  ChatGPT专题报告:解析ChatGPT背后的技术演进|自然语言处理|模型|训练(图12)

  AIGC 能够自主生成创造出文字、图片、语音、视频、代码等各种形 式的内容,将深度改变办公、电商、娱乐、教育、媒体等各行各业, 并引领人工智能实现从感知理解到生成创造的跃迁。从 AIGC 各行业 的一些典型应用来看:1)办公:可以处理和分析大量数据,并且自 动生成内容,提供预测性分析、数据可视化、智能报告等功能,比如 微软推出的集成了 GPT-4 的 Microsoft 365 Copilot 就将内容生成能力 直接嵌入到 Office 365 全家桶中。2)媒体:AIGC 能够辅助包括智能 新闻写作,智能视频剪辑等传统媒体工作,同时包括 AI 合成主播等 新应用也有望得以广泛应用;3)教育:AIGC 可应用于智能教育机器 人,作为教学辅助工具帮助教师自动生成教案、作业批改等,并可用 于生成全新的教学工具;4)电商:AIGC 应用于智能客服,可以自动 化回答用户的常见问题并提出针对性建议,并可用于生成商品 3D 模 型,并可用于生成虚拟主播和虚拟商城;5)娱乐:可用于趣味性的 图片和音视频生成、以及虚拟偶像的生成等。

  微软正式推出集成了 GPT-4 的 Microsoft 365 Copilot,办公率先正式 进入 AIGC 时代。在 3 月 16 日发布的产品中,微软将生成式 AI 助手 Copilot 直接嵌入到 Office 365 全家桶中,对 Word、Excel、PowerPoint、 Outlook 和 Teams 等工具套件进行升级,具体功能体现在:1)Word: 能够基于用户所提供的要求或信息按照格式生成草稿,可以根据要求 对文档就行修改、缩减,并能进行语气语态的修改;2)Excel:可根 据用户要求引入函数、生成模型、插入图表等,并可总结相关规律、 分析趋势;3)PowerPoint:可实现 Word 与 PPT 的自动转换,同时也 可直接生成动画切换,并可根据已有的图表内容根据要求插入幻灯片 等;4)Teams:Copilot 作为的会议助手,可以组织关键讨论要点,根 据会议内容直接生成会议摘要;5)Outlook:除了自动生成邮件外, 还可管理邮件,标注重要项目。同时,Copilot 以 Business Chat 的形 式融入 Windows 的日历、邮箱、文档等软件中,通过用户的会议记录、 邮件、聊天记录等内容自动更新工作状态。我们认为,Copilot 的发布 预示着大模型及 AIGC 相关技术开始正式应用于办公领域,在大幅提 升用户办公效率的同时,也将推动的办公产品的快速升级迭代。

  ChatGPT专题报告:解析ChatGPT背后的技术演进|自然语言处理|模型|训练(图13)

  文心一言正式发布,国内预训练多模态大模型迈出第一步。3 月 16 日,百度文心一言正式发布,作为国内最受关注的预训练多模态大模 型,文心一言具备文学创作、商业文案创作、数理逻辑推算、中文理 解和多模态生成五个领域能力,并通过开放 API 接口,能够为金融、 汽车、互联网、汽车等多行业提供 AIGC 的能力。文心一言的底层是 飞桨深度学习平台和文心知识增强大模型,目前,飞桨已广泛应用于 金融、工业、农业、服务业等众多行业,开发者数量达 535 万,创 造了 67 万个模型,服务了 20 万家企事业单位,培养了超 200 万 AI 人才。同时,飞桨模型库中的自然语言处理开发库 PaddleNLP, 聚合了业界优质预训练模型并提供开箱即用的开发体验,覆盖 NLP 多场景,能为文心一言提供技术积累和补充。截至 2023 年 3 月,已 经有包括互联网、媒体、金融、保险、汽车、企业软件等行业的 650 多家头部企业宣布加入百度“文心一言”生态圈。

  (本文仅供参考,不代表我们的任何投资建议。如需使用相关信息,请参阅报告原文。)

  精选报告来源:【未来智库】。

  特别声明:以上文章内容仅代表作者本人观点,不代表新浪网观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与新浪网联系。


您可能还会对下面的文章感兴趣:

登录 注册 退出