最近爆火的ChatGPT核心技术演进历程

news2025/1/18 3:16:29

文章目录

  • 1.前言
  • 2.初识ChatGPT
    • 2.1.什么是ChatGPT
    • 2.2.ChatGPT和其他模型对比具有的特性
  • 3.ChatGPT技术演进历程
    • 3.1.Transformer(转移学习)和基础模型
    • 3.2.GPT-1:简化模型,使其更适合自然语言生成
      • 3.2.1.什么是GPT-1
      • 3.2.1.GPT-1的优势
    • 3.3.GPT-2:支持多任务模型
      • 3.3.1.GPT-2介绍
      • 3.3.2.GPT-2的目标
      • 3.3.3. GPT-2存在的瓶颈
    • 3.4.GPT-3:图像生成领域的无监督学习
    • 3.5.InstructGPT:在GPT-3基础上进一步强化
    • 3.6.ChatGPT核心技术优势:提升了理解人类思维的准确性
  • 4.总结

1.前言

最近ChatGPT真是火的不行啊,准备针对ChatGPT出一个系列,帮助大家更好的理解,今天我们就简单聊聊ChatGPT的底层技术支持以及演进历程。

2.初识ChatGPT

2.1.什么是ChatGPT

ChatGPT是由OpenAI团队研发创造, OpenAI是由创业家埃隆·马斯克、美国创业孵化器YCombinator总裁阿尔特曼、全球在线支付平台PayPal联合创始人彼得·蒂尔等人于2015年在旧金山创立的一家非盈利的AI研究公司,拥有多位硅谷重量级人物的资金支持,启动资金高达10亿美金;OpenAI的创立目标是与其它机构合作进行AI的相关研究,并开放研究成果以促进AI技术的发展。

GPT即Generative Pre-training Transformer,于2018年6月由OpenAI首次提出。是一种自然语言处理模型,使用多层变换器来预测下一个单词的概率分布,通过训练在大型文本语料库上学习到的语言模式来生成自然语言文本从 GPT-1 到 GPT-3 智能化程度不断提升,ChatGPT 的到来也是 GPT-4 正式推出之前的序章。
在这里插入图片描述

2.2.ChatGPT和其他模型对比具有的特性

  • 更大的语料库: ChatGPT使用了更大的语料库,以更好地捕捉人类语言的复杂性。
  • 更高的计算能力: ChatGPT使用了更高的计算资源,以获得更好的训练效果。
  • 更加通用的预训练: ChatGPT的预训练是通用的, 因此它可以更好地适应各种不同的任务。
  • 更高的准确性: ChatGPT的训练效果比以往的大语言模型更好,因此它的准确性更高。
  • 更高的适应性: ChatGPT具有较高的适应性,可以根据不同的场景和任务进行微调,以提高其在特定领域的效果。
  • 更强的自我学习能力: ChatGPT具有自我学习能力,可以在不断接触新语料的过程中持 续提高自己的性能。

3.ChatGPT技术演进历程

3.1.Transformer(转移学习)和基础模型

转移学习的思想是将从一项任务中学习到的“知识”(例如,图像中的对象识别)应用于另一项任务(例如,视频中的活动识别)。在深度学习中,预训练又是转移学习的主要方法:在替代任务上训练模型(通常只是达到目的的一种手段),然后通过微调来适应感兴趣的下游任务。 基础模型通过转移学习和规模得以实现,因此转移学习使基础模型成为可能。

另外一个点就是基础模型的规模化训练。大规模化使基础模型更强大,因而GPT模型得以形成

大规模需要三个要素:

  • 计算机硬件的改进——例如,GPU吞吐量和内存在过去四年中增加了10倍;
  • Transformer模型架构的开发,该架构利用硬件的并行性来训练比以前更具表现力的模型 ;以及
  • 更多训练数据的可用性。

基于Transformer的序列建模方法现在应用于文本、图像、语音、表格数据、蛋白质序列、有机分子和强化学习等,这些例子的逐步形成使得使用一套统一的工具来开发各种模态的基础模型这种理念得以成熟。例如, GPT-3与GPT-2的15亿参数相比,GPT-3具有1750亿个参数,允许上下文学习,在上下文学习中,只需向下游任务提供提示,语言模型就可以适应下游有务, 这是产生的一种有兴属性。

Transformer摆脱了人工标注数据集的缺陷,模型在质量上更优、更易于并行化,所需训练时间明显更少

3.2.GPT-1:简化模型,使其更适合自然语言生成

3.2.1.什么是GPT-1

GPT-1模型基于Transformer解除了顺序关联和依赖性的前提,采用生成式模型方式,重点考虑了从原始文本中有效学习的能力,这对于减轻自然语言处理中对监督学习的依赖至关重要

GPT(Generative Pre-training Transformer)于2018年6月由OpenAI首次提出。 GPT模型考虑到在自然语言理解中有大量不同的任务,尽管大量的未标记文本语料库非常丰富,但用于学习这些特定任务的标记数据却很少,这使得经过区分训练的模型很难充分执行。 同时,大多数深度学习方法需要大量手动标记的数据,这限制了它们在许多缺少注释资源的领域的适用性。

在考虑以上局限性的前提下, GPT论文中证明,通过对未标记文本的不同语料库进行语言模型的生成性预训练 ,然后对每个特定任务 进行区分性微调,可以实现这些任务上的巨大收益。和之前方法不同,GPT在微调期间使用任务感知输入转换,以实现有效的传输,同时对模型架构的更改最小。
在这里插入图片描述

3.2.1.GPT-1的优势

GPT-1模型的核心手段是预训练,GPT相比于Transformer等 模型进行了显著简化,相比于Transformer,GPT训练了一个12层仅decoder的解码器 。相比于Google的BERT,GPT仅采用上文 预测单词。

注: ChatGPT的表现更贴近人类意图,部分因为一开始GPT是基于上文的预测,这更贴近人类的话语模式,因为人类言语无法基于将来的话来做分析。

3.3.GPT-2:支持多任务模型

3.3.1.GPT-2介绍

GPT-2在GPT-1的基础上进行诸多改进,实现执行任务多样性,开始学习在不需要明确监督的情况下执行数量惊人的任务。

在GPT-2阶段,OpenAI去掉了GPT-1阶段的有监督微调,成为无监督模型。大模型GPT-2是一个1.5B参数的Transformer,在其相关论文中它在8个测试语言建模数据集中的7个数据集上实现了当时最先进的结果。模型中,Transfomer堆叠至48层。 GPT-2的数据集增加到8 million的网页、大小40GB的文本。

机器学习系统通过使用大型数据集、高容量模型和监督学习的组合,在训练任务方 面表现出色,然而这些系统较为脆弱,对数据分布和任务规范的轻微变化非常敏感,因而使得AI表现更像狭义专家,并非通才。

3.3.2.GPT-2的目标

GPT-2转向更通用的系统,使其可以执行许多任务,最终无需为每个任务手动创建和标记训练数据集。

  • 解决零次学习问题:零次学习问题就是针对AI在面对不认识的事物时,也能进行推理。
  • 多任务模型的特点:跟传统ML需要专门的标注数据集不同(从而训练出专业AI), 多任务模型不采用专门AI手段,而是在海量数据喂养训练的基础上,适配任何任务形式。

GPT-2聚焦在无监督、 zero-shot(零次学习)上,然而GPT-2训练结果也有不达预期之处,所存在的问题也亟待优化。

3.3.3. GPT-2存在的瓶颈

在GPT-2阶段,尽管体系结构是任务无关的,但仍然需要任务特定的数据集和任务特定的微调:要在所需任务上实现强大的性能,通常需要对特定于该任务的数千到数十万个示例的数据集进行微调。

  • 从实用的角度来看,每一项新任务都需要一个标记示例的大数据集,这限制了语言模型的适用性; 对于其中的许多任务,很难收集一个大型的监督训练数据集,特别是当每个新任务都必须重复该过程时。
  • 预训练加微调范式中,可能在这种范式下实现的泛化可能很差 ,因为该模型过于特定于训练分布, 并且在其之外无法很好地泛化。微调模型在特定基准上的性能,即使名义上是人类水平,也可能夸大基础任务的实际性能。
  • 因为人类学习大多数语言任务不需要 大型受监督的数据集,当前NLP技术 在概念上具有一定的局限性。

3.4.GPT-3:图像生成领域的无监督学习

GPT-3是一个具有1750亿个参数的自回归语言模型,比之前的任何非稀疏语言模型多10倍。对于所有任务,GPT-3都是在没有任何梯度更新或微调的情况下应用的,仅通过与模型的文本交互来指定任务和few-shot演示。

GPT-3在许多NLP数据集上都有很强的性能,包括翻译、问题解答和完形填空任务,以及一些需要动态推理或领域适应的任务,如解译单词、在句子中使用一个新单词或执行三位数算术。 GPT-3可以生成新闻文章样本,并且已很难将其与人类撰写的文章区分开来。

当前openAi开源得最新模型就位GPT3,Git地址为:https://github.com/openai/gpt-3

3.5.InstructGPT:在GPT-3基础上进一步强化

InstructGPT使用来自人类反馈的强化学习方案RLHF,通过对大语言模型进行微调,从而能够在参数减少的情况下,实现优于GPT-3的功能

InstructGPT提出的背景:使语言模型更大并不意味着它们能够更好地遵循用户的意图,例如大型语言模型可以生成不真实、有毒或对 用户毫无帮助的输出,即这些模型与其用户不一致。另外, GPT-3虽然选择了少样本学习和继续坚持了GPT-2的无监督学 习,但基于few-shot的效果,其稍逊于监督微调的方式。

基于以上背景,OpenAI在GPT-3基础上根据人类反馈的强化学习方案RHLF,训练出奖励模型去训练学习模型(即:用AI训练AI的思路)

InstructGPT的训练步骤为:对GPT-3监督微调——训练奖励模型——增强学习优化SFT(第二、第三步可以迭代循环多次)

3.6.ChatGPT核心技术优势:提升了理解人类思维的准确性

InstructGPT与ChatGPT属于相同代际的模型,ChatGPT只是在InstructGPT的基础上增加了Chat属性,并且开放了公众测试。ChatGPT提升了理解人类思维的准确性的原因在于利用了基于人类反馈数据的系统进行模型训练
在这里插入图片描述

注:根据官网介绍, GhatGPT也是基于InstructGPT构建,因而可以从InstructGPT来理解ChatGPT利用人类意图来增强模型效果

4.总结

机器学习(ML)中的计算历史分为三个时代:前深度学习时代、深度学习时代和大规模时代,在大规模时代,训练高级ML系统的需求快速增长,计算、数据和算法的进步是指导现代机器学习进步的三个基本因素。在2010年之前,训练计算的增长符合摩尔定律,大约每20个 月翻一番。自2010年代早期深度学习问世以来,训练计算的规模已经加快,大约每6个月翻一番。 2015年末,随着公 司开发大规模ML模型,训练计算需求增加10至100倍,出现了一种新趋势——训练高级ML系统的需求快速增长。

2015-2016年左右,出现了大规模模型的新趋势。这一新趋势始于2015年末的AlphaGo ,并持续至今,ChatGPT大模型架构也是机器学习发展到第三阶段的必然产物。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

3.crypto-config.yaml配置文件分析和cryptogen工具使用[fabric2.2]

在fabric网络启动的过程中,会使用使用cryptogen 工具创建组织的证书文件,这时候就会用到crypto-config.yaml配置文件,例如fabric官方测试例程test-network中就用到了crypto-config-org1.yaml,crypto-config-org2.yaml,…

java实例解析类图中【关联、组合和聚合】的区别

总目录链接==>> AutoSAR入门和实战系列总目录 文章目录 聚合Composition聚合与组合的区别关联是两个独立类之间的关系,它通过它们的对象建立关联。关联可以是一对一、一对多、多对一、多对多。在面向对象的编程中,一个对象与另一个对象通信以使用该对象提供的功能和服…

轮盘赌选择法

轮盘赌选择原理 轮盘赌选择法(roulette wheel selection)是最简单也是最常用的选择方法,在该方法中,各个个体的选择概率和其适应度值成比例,适应度越大,选中概率也越大。 从图中可以看出一等奖、二等奖、…

Rust学习总结之数组,元组,结构体用法

学过数据结构的都知道有这么一个公式,程序数据结构算法,好的数据结构能大大降低算法设计的复杂度,也能更好的为算法服务。了解一门新的计算机编程语言其数据结构是必须首先要学的,这有利于对该语言的理解和快速上手。本文将对Rust…

vue引入cdn Vue 优化Vue引入 cdn vue cdn Vue优化引入CDN vue 项目 CDN优化

vue引入cdn Vue 优化Vue引入 cdn vue cdn Vue优化引入CDN vue 项目 CDN优化未引入 CDN前 main.js更改CDN方式引入在 vue.config 中引入 CDNindex.html 加载 cdn资源使用CDN引入资源后的main.js如果引入CDN后 组件不生效CDN 服务商推荐未引入 CDN前 main.js // 依赖使用 npm 方…

Windows server 2003怎么安装iis?Windows server 2003安装IIS教程

Windows 2008系统服务器安装IIS之前已经分享过了,和Windows 2003完全不同,今天飞飞将详细地和你分享Windows server 2003卸载和安装IIS的步骤方法,希望可以帮助到你~ 1、首先进入服务器,确定下服务器是否有安装IIS,有…

漫谈数据库表设计及索引设计

一.数据库表设计 在数据库表设计上有个很重要的设计准则,称为范式设计。 什么是范式设计? 范式来自英文Normal Form,简称NF。MySQL是关系型数据库,但是要想设计—个好的关系,必须使关系满足一定的约束条件&#xff0c…

论如何用C语言的数组手撕一棵特殊的完全二叉树----堆

目录 0.前言 1. 用数组表示存储一棵完全二叉树 2. 数组表示的完全二叉树的性质 3. 堆的基本概念 3.1 堆的核心性质 3.2 堆顶的性质 3.3 堆的单支性质 3.4 堆的左右支关系 4. 用代码实现堆 4.1 堆类的实现 4.2 堆的初始化 4.3 堆的销毁 4.4 获取堆顶的数据 4.5 …

这款 Python 工具进行数据分析及数据可视化真的很棒啊

前言 大家好,今天我们以全国各地区衣食住行消费数据为例,来分析2022年中国统计年鉴数据,统计全国各地人民的消费地图,看看: 哪个省份的人最能花钱 哪个省份的人最舍得花钱 哪个省份的人最抠门 全国各地区人民在吃、穿…

一文读懂SpringBoot整合Elasticsearch(一)

(本篇文章主要介绍Spring Boot如何整合Elasticsearch,包括基本配置、数据操作、搜索功能等方面。) 一、前言 Elasticsearch是一款全文搜索引擎,可用于快速、准确地存储、搜索和分析大量数据。而Spring Boot是一款快速开发框架&a…

JUC【Callable、ReentrantLock、Semaphore、CountDownLatch】

JUC > java.util.concurrent JUC标准库提供的多线程安全相关的包 Callable 接口声明带返回值的任务 类似于Runnable,都是用来描述这个线程的工作的。 Callable描述的任务带返回值,Runnable描述的任务不带返回值 区别:线程封装了一个 “返回值”&#…

【项目精选】基于网络爬虫技术的网络新闻分析(视频+论文+源码)

点击下载源码 基于网络爬虫技术的网络新闻分析主要用于网络数据爬取。本系统结构如下: (1)网络爬虫模块。 (2)中文分词模块。 (3)中3文相似度判定模块。 (4)数据结构化存…

【Python - Matplotlib】P2 plot 折线图

Matplotlib绘制折线图折线图完整代码与效果基础折线图设定横纵坐标设置中文显示添加网格添加描述信息再添加一个城市设置两个折线图前言 上一节内容主要围绕介绍 Matplotlib 的画板结构。 链接:https://blog.csdn.net/weixin_43098506/article/details/129331576 本…

云HIS系统 云his系统源码 基于电子病历的医院信息平台标准建设

云HIS系统 云his系统源码 基于电子病历的医院信息平台标准进行建设 云HIS系统采用SaaS软件应用服务模式,提供软件应用服务多租户机制,实现一中心部署多机构使用。相对传统HIS单机构应用模式,它可灵活应对区域医疗、医疗集团、医联体、连锁诊…

GB28181国标平台LiveGBS视频统一汇聚后如何获取固定的播放地址,实现监控视频Web页面无插件播放、拉流分析、上大屏等目的...

目前汇聚各种厂家监控设备的视频汇聚平台,基本都是通过GB28181标准协议实现的。下面介绍下LiveGBS Web无插件直播的GB28181视频平台将各厂家(包括海康、大华、华为、宇视、天地伟业等)监控汇聚到同一个服务器上后,如何或者直播链接可以直播浏览器播放&am…

flstudio21水果language选项中文设置方法教程

编曲是通过DAW(数字音频工作站软件)完成的,也就是我们常说的宿主软件。现在有很多优秀的宿主软件,例如Cubase、Studio One、FL Studio等。 FL Studio是一款功能强大的音乐制作软件,也被称为FruityLoops。目前已经推出…

Android上传手机图片到服务器(这篇你要是看不懂,全网没你可以看懂的了!!!)

Android上传手机图片到服务器1、整体流程2、页面布局3、选择图片流程实现演示结果完整代码4、路径转换路径转换Utils工具类权限申请完整代码5、创建文件6、服务器端7、传输8、演示9、完整代码目录结构AndroidManifest.xml布局文件activity_main.xml传输文件工具类HttpUtil路径转…

蓝桥杯-质因数个数

蓝桥杯-质因数个数1、问题描述2、解题思路2.1 质数判断2.2 求取因子3、完整代码实现1、问题描述 给定正整数 n, 请问有多少个质数是 n 的约数。 输入格式 输入的第一行包含一个整数 n。 输出格式 输出一个整数, 表示 n 的质数约数个数。 样例输入 396样例输出 3样例说明 3…

【教学典型案例】13.学情页面逻辑问题

目录一:背景介绍二:LocalStorage缓存①localStorage是什么?②如何使用localStorage缓存三:学情页面逻辑分析过程四:总结五:升华一:背景介绍 使用的前端技术是Vue2,前端逻辑&#xf…

SpringCloud:Eureka

目录 一、eureka的作用 二、搭建Eureka服务端 三、添加客户端 四、服务发现 提供者与消费者 服务提供者:一次业务中,被其它微服务调用的服务。(提供接口给其它微服务) 服务消费者:一次业务中,调用其它微服务的服…