技术科普与解读:ChatGPT 大模型硬核解读!(一)家族历史从GPT-1到ChatGPT

多模态,指的是融合文本、图像、视频或音频等多种模态作为输入或输出。

GPT-4是严格意义上的多模态模型,可以支持图像和文字两类信息的同时输入,输出为文本。从学术界的分析来看,无论是知识/能力获取还是与现实物理世界的交互,多模态感知都是实现通用人工智能的必要条件。

fff7fa6054cb9f32eff62435c4888300.png

没有多模态,AI 大概难以充分“理解”这个世界。之前的ChatGPT或GPT-3.5就像AI蒙上双眼在那里“盲答”,而到了多模态的 GPT-4,就是 AI 一边看一边思考。

在GPT-4中,多模态输入的图像和文本都基于 Transformer 作为通用模块/接口,图形感知模块与语言模块对接进行进一步融合计算。通过在多模态语料库上预训练模型,训练数据包括文本数据、任意交错的图像和文本,以及图像-字幕对,可以使模型获得原生支持多模态任务的能力。

一方面,多模态技术将大语言模型的应用拓宽了到更多高价值领域,例如多模态人机交互、文档处理和机器人交互技术。

另一方面,也更为重要的是,不同模态的模型内部融合产生了更多能力,而不是简单的模态功能叠加。这一现象类似于视觉启发了更深层次的语言表达和理解。

GPT-4之前有几个前辈:GPT-1、GPT-2、GPT-3和ChatGPT。GPT家族与来自Google的BERT模型都是知名的NLP模型族,两者都基于 Transformer 技术。GPT-4则是在 GPT-3.5/ChatGPT 基础上增加了额外的视觉语言模块,理论上具有更大的模型尺寸和输入文本窗口。

1. GPT和BERT之前的时代

7cf09e64bc38e7c4313ab7288adadd31.png

基于规则的NLP V.S. 基于机器学习的NLP V.S. 基于深度学习的NLP

(from Jaeyeol Song, Deep learning-based extraction of predicate-argument structure (PAS) in building design rule sentences, 2020)

自然语言处理(NLP)的研究可以追溯到 20 世纪 40 年代。早期NLP技术是基于规则的,即基于特定的规则使用程序/代码和知识图谱进行固定模式的对话,所有的应答都是固定模式和已有知识库的。基于规则的NLP不容易出现幻觉,但是应答能力仅限于与特定领域相关的内容,且不容易形成逻辑推理。在机器学习和深度学习诞生后,NLP技术逐渐进入基于模型的时代。

在进入深度学习模型阶段后,早期的NLP文本生成是通过传统循环神经网络 (RNN)、长短时记忆神经网络 (LSTM)或门控循环单元 (GRU)实现的。这三类经典模型都是基于循环结构实现的。

传统循环神经网络 (RNN)包含串行数据点之间的依赖关系(前后或时间关系),并将记忆的概念引入神经网络。通过训练长程 RNN单元 记住基于上下文的概念,从而学习到这些可重复的模式。

但循环神经网络存在短时记忆问题。对于很长的语言/文本序列,将信息从较早的单元传递到较晚的单元容易出现失真。特别是在处理大段长文本时,RNN甚至有可能在一开始的传输中就遗漏或丢失重要信息。另外,在反向传播训练过程中,RNN容易遇到梯度消失这类训练难题。

之后提出的LSTM 和 GRU 是解决RNN短时记忆问题的优化模型。LSTM 和 GRU内部通过门控的机制,进行信息要素的调节。门控可以调节并保留序列中的重要信息,丢弃非关键信息,将有价值的数据信息传递到长序列链中的后级进行计算。LSTM 和 GRU 已经广泛用于各类云边端的语音识别、语音合成和文本生成。

这三类模型能够较好的进行模式识别,在输出单个单词或短语方面表现良好,但无法生成高精度的多轮对话,更无法实现逻辑推理能力。

6a09c8576c3981906b027c2391a37a6f.png

RNN-LSTM-GRU单元架构对比

2. Transformer 与注意力机制

这里只简单介绍 Transformer 的基本结构(更详细的概念,架构和设计涉及算法等细节,感兴趣可以后续文章继续科普)。

"Attention is All You Need"(Vaswani, et al., 2017 https://arxiv.org/abs/1706.03762)是2017年最有影响力的NLP论文之一。这篇论文提出了很多对注意力技术的改进,在循环网络单元的情况下实现 seq2seq 建模,并且提出新的 Transformer 架构。

Transformer在数学上是大矩阵的计算,通过计算不同语义之间的关联度(概率)来生成具有最高概率的语义反馈。RNN、LSTM或者GRU主要是进行模式识别,而Transformer不仅仅是一个矩阵计算。Transformer事实上还承载着语义关联的重要功能。

Transformer中的核心组件是多头自注意机制模块。Transformer将输入的编码表示视为一组键值对(K,V),两者的维度都等于输入序列长度。

f29817252bd6e072ce8e16cd28004441.png

多头自注意机制(Multi-Head Attention)模块(from Google)

多头注意力机制的模块内采用缩放点积注意力机制:输出是值的加权和,其中分配给每个值的权重由查询(Q)与所有键(K)的点积决定:

7dc0b6df2fbbb2e9b73e4774588ed184.png

多头机制不是只计算一次注意力,而是并行运行缩放点积注意力算法。独立的注意力输出被Concat连接(矩阵连接,非计算)并线性转换为预期的维度。

73a1c3104472868bc598dc5c55390512.jpeg

原始的Transoformer包括编码器-解码器架构(GPT只有解码器结构)。编码器和解码器都是N个相同层的堆叠,源序列和目标序列(原始数据可以是图像或文本)都经过嵌入层以产生相同维度的数据。

8cfc910207da4e99c90cc6d548d7d60f.png

Transformer整体架构(from google)

单个编码器层由多头注意力块(含有Q、K、V输入)和一个前馈模块组成。解码器层由多头注意力块开始,后面是一个连接编码器堆栈输出的多头注意块(即查询Q来自解码器,而值V和键K来自编码器),然后是一个前馈模块,最终在 Softmax(选择概率最高的分类或词汇)模块进行分类器输出。

随着Transformer技术的发展,Transformer也使用在了CV (计算机视觉)领域,并形成了Vision Transformer技术。

eec7310fd0530c226577368b20aefb8a.png

视觉与语言Transformer技术的演进(来源:陈巍)

3. GPT-1与无监督训练

64484892058b6ad104167a8492d09ec9.png

GPT-1模型的Transformer结构(来源:OpenAI)

2018年6月,OpenAI 发表了GPT-1,以预训练生成式变换器为名的GPT家族首次登上历史舞台。在当时,OpenAI还笼罩在Google的光环之下,并不是很知名。

在GPT-1这项工作之前,绝大多数最先进的 NLP 模型都是使用监督学习,专门针对特定垂直领域任务(如情感分类等)进行训练。但已有的监督模型有两个主要限制:一方面需要大量带有标注的训练数据来学习不容易获得的特定任务,另一方面无法将现有模型泛化到训练数据集以外的任务。

也就是说,如果在真实生活场景使用有监督模型,训练数据集的构建任务将异常庞大和琐碎,数据集的标注成本会异常的高。为了解决这些问题,OpenAI提出了GPT-1。

GPT-1的核心是Transformer,通过两个途径针对性的解决上述的两个问题:

1)通过无监督训练,解决需要大量高质量标注数据的问题,降低数据成本。

2)通过大量不同类型混杂语料进行预训练,解决训练任务的泛化问题。

f0745e6de4cc216e2aa188ac5a68720b.jpeg

BERT与GPT的技术基本架构对比

(图中En为输入的每个词汇,Tn为输出的每个词汇,来源:互联网)

在GPT-1诞生的时代,AR(Autoregressive,自回归)与AE(Autoencoding,自编码)是无监督学习中的两大路径。AR类语言模型基于大量语料统计,基于单向或双向上下文进行文本生成,对数据的前后相对关系敏感,适合文本生成类任务。AE则通过被掩盖的输入重建原始数据(例如BERT),弥补了单向或双向信息的损失,但却由于信息的掩盖可能导致训练与实际推理的偏差。换句话说,BERT这类基于编码器的模型训练难度可能是高于同尺寸GPT类的。

GPT-1 是一个典型的自回归语言模型,只具有解码器模块。GPT-1模型使用 768大小词嵌入。使用 12 层模型,每个自注意力层有 12 个注意力头,并使用GELU 作为激活函数。

GPT-1模型训练使用了BooksCorpus数据集。训练主要包含两个阶段:第一个阶段,先利用大量无标注的语料(节约标注成本)预训练一个语言模型。在BooksCorpus 数据集上训练后,GPT-1能够学习到大范围的文本/词汇的隐含关系,并在包含连续文本和长文的多样化语料库中获取大量知识。

接着,在第二个阶段对预训练好的语言模型进行精调,将其迁移到各种有监督的NLP任务。也就是后文提到的“预训练+精调”模式。

OpenAI团队也在GPT-1的研究中评估了模型层数对无监督预训练和有监督精调的影响。

实验表明转移嵌入(transferring embeddings)明显改进了模型性能,每个Transformer层在MultiNLI数据集上获得的提升可高达9%。

bea87c60147203cf3554e7925a8c79b4.png

GPT-1在MultiNLI和RACE上的表现与转移层数的关系(from OpenAI)

4. GPT-2与Zero-shot Learning

2019年,OpenAI 发表了另一篇关于他们最新模型 GPT-2 的论文( Language Models are Unsupervised Multitask Learners )。该模型开源并在很多NLP任务中使用。相对GPT-1,GPT-2是泛化能力更强的词向量模型,尽管并没有过多的结构创新,但是训练数据集(WebText,来自于Reddit上高赞的文章)和模型参数量更大。目前很多开源的GPT类模型是基于GPT-2进行的结构修改或优化。

GPT-2 有 15 亿个(1.5B)参数。是 GPT-1(117M 参数)的 10 倍以上。GPT-2与 GPT-1 的主要区别包括:

1)GPT-2 有 48 层,使用 1600 维向量进行词嵌入,使用了 50,257 维标记的更大词汇量。

使用1024大小的上下文窗口。

2)GPT-2的层归一化被移动到每个子块的输入,并在最终的自注意力块之后添加了一个额外的层进行归一化。

3)GPT-2在初始化时,残差层的权重按 1/√N 缩放,其中 N 是残差层的数量。

GPT-2的研发团队训练了 117M(与 GPT-1 相同)、345M、762M 和 1.5B参数的四种语言模型,并比较了不同大小的模型精度。在同一数据集上,模型的性能随着参数数量的增加而提升。这一现象事实上导致了后来的语言模型的尺寸的迅速增加。

GPT 2 的一个关键能力是零样本学习(Zero-shot Learning)。Zero-shot是零样本任务迁移的一种特殊情况,即在没有提供示例情况下,模型根据给定的指令理解特定任务。

GPT-2使用的 WebText 的数据集包含来自超过 800 万份文档的 40GB 文本数据。比 GPT-1 模型的 BookCorpus 数据集更加庞大。

ec68d109851210102679bc794b69c085.jpeg

GPT-2性能与模型大小关系(from OpenAI)

5. GPT-3与上下文学习

2020年6月,OpenAI 发表了另一篇关于GPT-3 模型的论文(Language Models are Few-Shot Learners)。该模型的参数是 GPT-2 的100 倍以上(175B),并且在更大的文本数据集(低质量的Common Crawl,高质量的WebText2,Books1,Books2和Wikipedia)上进行训练,从而获得更好的模型性能。

GPT-3实际上是由多个版本组成的第3代家族,具有不同数量的参数和所需的计算资源。包括专门用于代码编程的Code系列。GPT-3的后继知名版本包括InstructGPT和ChatGPT。

ceb503efdbbd9bdca8b753018d1bbba2.jpeg

GPT-3家族(来源:互联网)

由于使用了大量参数和广泛的数据集, GPT-3在零样本和少样本设置中的下游 NLP 任务上表现良好,其编写的文章与人类撰写的在很多时候难以区分,继续延续了GPT-2越大越好的理念。GPT-3还可以执行从未明确训练过的即时任务,例如求和数字、编写 SQL 查询和代码、解读句子中的单词。

GPT-3 有 96 层Transformer层,每层有 96 个注意力头。GPT-3 的词嵌入大小从 GPT-2 的 1600 增加到 12888。上下文窗口大小也从 GPT-2 的 1024 个增加到 GPT-3 的 2048个。并且使用了局部带状稀疏注意力模式。

GPT-3一个突出的特点是上下文学习(In-Context Learning)。在学习预测给定上下文词汇的下一个词汇的同时,GPT-3也学习或模仿数据中的模式,通过对应的关键信息匹配和模式模仿来输出对应情境下的回答。在问答中出现少量提示信息时,语言模型会将示例的模式与其训练时从类似数据中学到的知识或模式进行匹配,并使用知识或模式来应答。上下文学习能力,随着模型参数数量的增加而增强。这一显著能力同样体现在了ChatGPT和GPT-4中。

37fbedcfc9ac2b1e456401986bb218c6.png

GPT-3与以往模型的训练算力需求对比(from OpenAI)

GPT-3 在五个不同语料库(Common Crawl、WebText2、Books1、Books2 和 Wikipedia。)的混合训练数据集上进行训练,每个语料库都分配不同的权重。相对高质量的数据集权重更高,且使用频次超过1次。 从这时我们可以注意到,对于大语言模型,训练的效果很大程度要要依靠于高质量的语料。

6. GPT-3.5/ChatGPT与指令微调

851b37ff4d6757fe533064f1ab1d3021.jpeg

GPT-3与GPT-3.5分支(来源:OpenAI)

2022 年 3 月 15 日,OpenAI 发布了名为“text-davinci-003”的新版模型,该模型被描述为比以前版本的 GPT 更强大更具有逻辑能力。目前有若干个属于GPT-3.5 系列的模型分支,其中code-davinci针对代码完成任务进行了优化。

ChatGPT 是基于GPT-3.5(Generative Pre-trained Transformer 3.5)架构开发的对话AI模型,是InstructGPT 的兄弟模型,也是GPT-3.5系列的最高规格。ChatGPT很可能是OpenAI 在GPT-4 正式推出之前的演练,或用于收集大量对话数据。

5a6cd18d3147511980d7390b7af01096.png

GPT-3.5家族与GPT-3家族对比(from OpenAI)

OpenAI使用 RLHF(Reinforcement Learning from Human Feedbac,人类反馈强化学习) 技术对 ChatGPT 进行了训练,且加入了更多人工监督进行微调。

ChatGPT 具有以下特征:

1)可以主动承认自身错误。若用户指出其错误,模型会听取意见并优化答案。

2)ChatGPT 可以质疑不正确的问题。例如被询问 “哥伦布 2015 年来到美国的情景” 的问题时,机器人会说明哥伦布不属于这一时代并调整输出结果。

3)ChatGPT 可以承认自身的无知,承认对专业技术的不了解。

4)支持连续多轮对话。

与大家在生活中用到的各类智能音箱和“人工智障“不同,ChatGPT在对话过程中会记忆先前使用者的对话讯息,即上下文理解,以回答某些假设性的问题。ChatGPT可实现连续对话,极大的提升了对话交互模式下的用户体验。

4f1f21ca3f4ac4dc6baa74d6469d5d99.png

从GPT-1到GPT-4的对比(来源:陈巍团队)

下期预告:GPT-4的多模态架构和关键技术。


关注我,一起学习 ChatAI,掌握 AI 工具。

公众号后台发送消息:“领资料”,领取九大类别,数百篇 AI 学习资源。‍‍

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/20168.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【宏观经济学】chatGPT会让我们失业吗?

文章链接:chatGPT会让我们失业吗?

Transformer模型详解

2013年----word Embedding 2017年----Transformer 2018年----ELMo、Transformer-decoder、GPT-1、BERT 2019年----Transformer-XL、XLNet、GPT-2 2020年----GPT-3 Transformer 谷歌提出的Transformer模型,用全Attention的结构代替的LSTM,在翻译上取得了更…

阐述说明NLP发展历史,以及 NLP与chatgpt的关系

自然语言处理(Natural Language Processing,NLP)是人工智能(AI)领域的一个重要分支,关注计算机与人类(自然)语言之间的交互。NLP的目标是使计算机能够理解、生成和解释自然语言&…

【GPT】你需要了解的 ChatGPT的技术原理- Transformer架构及NLP技术演进

目录 概述 The Concept of Transformers and Training A Transformers ModelTransformers 的概念和训练 Transformers 模型

思科模拟器之端口聚合技术

端口聚合也叫做以太通道(ethernet channel),主要用于交换机之间连接。由于两个交换机之间有多条冗余链路的时候,STP会将其中的几条链路关闭,只保留一条,这样可以避免二层的环路产生。 工作原理&#xff1a…

如何在群晖NAS上安装cpolar内网穿透

系列文章 做内网穿透外网远程访问群晖NAS 1-2做内网穿透外网远程访问群晖NAS 2-2如何在群晖NAS上安装cpolar内网穿透配置群晖NAS中的cpolar开机自启动 1-2配置群晖NAS中的cpolar开机自启动 2-2为公网远程访问群晖NAS配置固定域名 1-2为公网远程访问群晖NAS配置固定域名 2-2 上…

如何使用cpolar内网穿透群晖NAS套件

系列文章 如何安装cpolar内网穿透群晖NAS套件如何使用cpolar内网穿透群晖NAS套件 上一篇: 如何安装cpolar内网穿透群晖NAS套件 在上一篇介绍里,我们在群晖系统中成功安装了图形化界面的cpolar,由于cpolar从命令行界面转入图形化界面&#xf…

QNAP威联通NAS搭建SFTP服务,并内网穿透实现公网远程访问

文章目录 前言1. 威联通NAS启用SFTP2. 测试局域网访问3. 内网穿透3.1 威联通安装cpolar内网穿透3.2 创建隧道3.3 测试公网远程访问 4. 配置固定公网TCP端口地址4.1 保留一个固定TCP端口地址4.2 配置固定TCP端口地址4.3 测试使用固定TCP端口地址远程连接威联通SFTP 转载自远程内…

cpolar内网穿透将本地的论坛网站发布公网访问 2/2

在上篇文章中,我们成功的在本地部署了一个论坛网站,我们有了邀请同事或游友加入并分享各自的想法和乐趣的基础。现在,我们就要通过cpolar建立一条长期稳定存续的数据隧道,并通过这个数据隧道,将这个论坛发布到公共互联…

华为防火墙地址映射(NATserver)

287、实验:NATserver映射 实验topo: 将内网DMZ安全域的http服务映射出外网,并且不让DMZ的服务器主动去访问外网: 做完策略之后点击诊断,测试服务器的存活性: 做安全策略,允许local访问dmz&#…

如何在群晖nas中使用cpolar内网穿透

系列文章 cpolar内网穿透远程访问连接群晖nas如何在群晖nas中使用cpolar内网穿透 上一篇: cpolar内网穿透远程访问连接群晖nas 在上一篇介绍里,我们在群晖系统中成功安装了图形化界面的cpolar,由于cpolar从命令行界面转入图形化界面&#xf…

使用cpolar内网穿透远程访问家里的群晖NAS

在现代企业中,协同办公和数据共享的作用已经受到广泛认可,而群晖作为小型数据处理中心,也已经进入很多公司,并成为局域网内的数据存储和处理中心。但如果需要在公共互联网访问公司内的群晖NAS的情况时,公网设备无法直接…

群晖NAS使用VPN套件实现异地映射

目前异地访问NAS数据越来越频繁,之前分享的使用WebDAV实现异地访问的方法虽然可以满足小文件的传输,由于WebDAV协议限制,无法实现大文件的传输,此教程指导大家如何使用群晖VPN Server来实异地映射传输大文件。 由于政策所限&#…

如何安装cpolar内网穿透群晖NAS套件

系列文章 如何安装cpolar内网穿透群晖NAS套件如何使用cpolar内网穿透群晖NAS套件 cpolar作为一款高效安全的内网穿透软件,在很多场景中都可以得到应用,特别对于开发人员,更是增加工作效率的好帮手。但对于一般用户,cpolar的命令行…

Cisco Packet Tracer 思科模拟器利用NAT实现外网主机访问内网服务器

前两篇讲解了动态NAT地址转换,以及静态NAT地址转换,本篇文章主要讲解如何理由NAT实现外网主机访问内网服务器,含有重分布教学 情境分析 公司只申请了一个公网IP地址,基于私有地址与公有地址不能直接通信的原则,公网的…

利用cpolar为群晖NAS建立稳定外网地址(1)

系列文章 利用cpolar为群晖NAS建立稳定外网地址(1)利用cpolar为群晖NAS建立稳定外网地址(2) 在任何企业中,商业数据的存储和管理都是十分重要的工作,加之协同办公的概念日渐兴盛,使得企业内部…

[ 隧道技术 ] 利用内网穿透工具将内网端口映射到公网

🍬 博主介绍 👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…

群晖NAS安装cpolar内网穿透套件(群晖6.X版)

系列文章 群晖NAS安装cpolar内网穿透套件(群晖6.X版)内网穿透远程群晖NAS:使用随机临时地址 1/5内网穿透远程群晖NAS:使用固定二级子域名 2/5内网穿透远程群晖NAS:使用自定义域名 3/5内网穿透远程群晖NAS:…

解封你的微信外挂服务器,微信自助工具解封操作方法

摘要 腾兴网为您分享:手机直播伴侣,扫描成pdf,情书翩翩体,学习机软件,鬼鬼刷迷你币器,起名解名,008神器,隐藏文件夹病毒,德州社保,维棠,k酷音乐,小米路由器软…

WhatsApp 批量解封提交工具

本文所有教程及源码、软件仅为技术研究。不涉及计算机信息系统功能的删除、修改、增加、干扰,更不会影响计算机信息系统的正常运行。不得将代码用于非法用途,如侵立删! WhatsApp 批量解封提交工具 效果 配置 Google 表格 创建一个 Google …