ChatGPT到底是如何运作?

自从2022年11月30日发布以来,ChatGPT一直占据着科技届的头条位置,随着苹果的创新能力下降,ChatGPT不断给大家带来震撼,2023年11月7日,首届OpenAI开发者大会在洛杉矶举行,业界普遍认为,OpenAI的开发者大会可能会替代苹果发布会,成为AI时代最引人注目的“科技春晚”。

但ChatGPT的背后到底是如何运作的,它的超强能力究竟是如何形成的?它有什么特别之处?它的竞争对手能超越它吗?这一系列的问题正是本文所要讨论的。

什么是ChatGPT?

ChatGPT全称为Chat Generative Pre-trained Transformer,一个基于深度学习的大型语言模型,其模型结构使用了Transformer网络 。这个网络可以从输入的文本中学习语言的规律和模式,并用这些规律和模式来预测下一个单词或字符。

在chatGPT的训练过程中,chatGPT接受了海量的文本数据,这些数据包括各种来源,例如维基百科、新闻文章、小说、网页等等。这些庞大的数据集被用来形成一个模仿人脑的深度学习神经网络,在学习过程中,chatGPT试图学习这些数据中的语言规则和模式,预测文本序列中的下一个单词或字符,以提高自己的准确性。

当您与chatGPT交流时,您的输入会被转化为一个向量,然后输入到chatGPT的神经网络中。网络会对输入进行一系列的计算和转换,以生成对应的输出向量。最终,输出向量被翻译成文本,以回答您的问题或提供相关信息。
chatGPT的训练和推理过程需要大量的计算资源和数据存储,因此chatGPT通常在云端或大型服务器上运行。它被设计为可扩展和高效,可以处理海量的文本数据,并能够支持多语言和多种自然语言处理任务。
之所以大家对ChatGPT感到很震惊,是因为ChatGPT所做的事情,真正接近了人类理解和运用语言的能力——直接接收自然语言,然后直接回复自然语言,并保证了语言的流畅性与逻辑性。这是人与人的交流方式。

ChatGPT 的工作原理是尝试理解您的提问,然后根据训练的数据输出它预测最能回答您问题的字符串。虽然这听起来相对简单,但它幕后发生的事情的复杂性难以想象。

Transformer 架构

ChatGPT整个工作的核心是“Transformer”,这是一种用于处理自然语言数据的神经网络。神经网络通过互连节点层处理信息来模拟人脑的工作方式。将神经网络想象成一个曲棍球队:每个球员都有一个角色,但他们在具有特定角色的球员之间来回传递冰球,所有人一起努力得分。

AI的算法结构,也是经过了漫长的探索与积累之后,才有了今天Transformer的质变。

第一个阶段:模式匹配,给AI输入一些列的逻辑与规则,AI根据规则来进行判断与推理。代表性有符号逻辑,联结主义等,主要应用在包括象棋和国际象棋等游戏。

第二阶段:机器学习,让计算机不需要显式的程序也可以具备学习的能力,以处理更复杂的任务。代表性的算法包括反向传播、决策树、神经网络和规则引擎等。主要应用在语音识别、图像识别和机器翻译等领域。

第三阶段:人工神经网络,随着数据量的增加和计算能力的提升,一种基于神经网络结构的机器学习算法。这个时期的经典算法包括支持向量机、朴素贝叶斯、卷积神经网络和循环神经网络等。

第四阶段:深度学习神经网络,一种模仿人脑的复杂、多层、加权算法,它能够学习文本数据中的模式和关系,并利用创建类似人类的能力。通过预测任何给定句子中接下来应该出现的文本来做出响应。 代表算法有Transformer。

Transformer 架构在进行预测时,通过使用“自注意力”来权衡序列中不同单词的重要性来处理单词序列。自我注意力类似于读者回顾前一个句子或段落以了解理解书中新单词所需的上下文的方式。转换器查看序列中的所有单词,以了解上下文以及单词之间的关系。

转换器由多层组成,每层又包含多个子层。两个主要子层是自注意力层和前馈层。自注意力层计算序列中每个单词的重要性,而前馈层对输入数据应用非线性变换。这些层帮助转换器学习和理解序列中单词之间的关系。

虽然听起来很复杂,而且解释起来也很复杂,但 Transformer 模型从根本上简化了人工智能算法的设计方式。它允许并行计算(或同时完成),这意味着显着减少训练时间。它不仅使人工智能模型变得更好,而且使它们的生产速度更快、成本更低。

Transformer不使用单词,而是使用“标记”,“标记”是编码为矢量(具有位置和方向的数字)的文本块。两个标记向量在空间中越接近,它们就越相关。类似地,注意力被编码为向量,这使得基于 Transformer 的神经网络能够记住段落前面的重要信息。

GPT-3 接受了大约 5000 亿个标记的训练,这使得它的语言模型能够更轻松地分配含义,并通过将它们映射到向量空间来预测可能的后续文本。许多单词映射到单个标记,但较长或更复杂的单词通常会分解为多个标记。平均而言,令牌的长度大约为四个字符。

预训练与人类反馈强化学习 (RLHF)

Pre-trained的意思是“预训练”,这是 GPT 能够做到它能做的事情的一个非常重要的部分。 人工智能使用两种主要方法进行预训练:监督和非监督。

在 GPT 之前,性能最好的 AI 模型使用“监督学习”来开发其底层算法。他们接受了手动标记数据的训练,例如包含不同动物照片的数据库以及人类编写的每种动物的文本描述。这些类型的训练数据虽然在某些情况下有效,但制作成本非常昂贵,其扩展方式是有限的。人类培训师必须花大量的人力与时间大力气来预测所有的输入和输出。
不可能预测所有会被问到的问题,因此 ChatGPT 使用无监督预训练——这就是游戏规则的改变者。

GPT 采用了生成式预训练,给出了一些基本规则,然后输入大量未标记的数据——几乎是整个开放互联网。然后,它会在“无人监督”的情况下处理所有这些数据,并形成自己对控制文本的规则和关系的理解。

当然,当你使用无监督学习时,你并不真正知道你会得到什么,因此 GPT 也进行了“微调”,使其行为更加可预测和适当。 通过监督式的指令微调+人类反馈的强化学习来让模型的输出变得合理。

训练数据集

在早些时间的一些研究已经证明,随着参数量和训练数据量的增大,语言模型的能力会随着参数量的指数增长而线性增长,这种现象被称为Scaling Law。但是在2022年之后,随着进来对大模型的深入研究,人们发现当模型的参数量大于一定程度的时候,模型能力会突然暴涨,模型会突然拥有一些突变能力,如推理能力、零样本学习能力等。


ChatGPT 是一个独特的模型,除了 Persona-Chat 之外,还有许多其他对话数据集用于微调 ChatGPT。这里有一些例子:

  • 康奈尔电影对话语料库 包含电影脚本中角色之间对话的数据集。它包含 10,000 多个电影角色对之间的 200,000 多次对话,涵盖各种主题和类型。
  • Ubuntu 对话语料库 寻求技术支持的用户与 Ubuntu 社区支持团队之间多轮对话的集合。它包含超过 100 万个对话,使其成为用于对话系统研究的最大的公开数据集之一。
  • DailyDialog 各种主题的人与人对话的集合,从日常生活对话到有关社会问题的讨论。数据集中的每个对话都由几个回合组成,并标有一组情感、情绪和主题信息。

除了这些数据集之外,ChatGPT 还接受了互联网上大量非结构化数据的训练,包括网站、书籍和其他文本源。这使得 ChatGPT 能够从更一般的意义上了解语言的结构和模式,然后可以针对对话管理或情感分析等特定应用进行微调。

自然语言处理(NLP)

解决了准确性的问题,还需要解决交流的“自然流畅”问题。这就是自然语言处理技术,简称NLP,一种使计算机能够理解、解释和生成人类语言的技术。

NLP 的关键挑战之一是处理人类语言的复杂性和歧义性。首先接受您的提问,将其分解为标记,然后使用其基于 Transformer 的神经网络来尝试了解其中最显着的部分是什么,以及您真正要求它做什么。从那里,神经网络再次启动并根据从训练数据和微调中学到的知识生成适当的令牌输出序列。

NLP 算法需要接受大量数据的训练,才能识别并学习语言的细微差别。并且需要不断完善和更新,以跟上语言使用和上下文的变化。

算力

算力是指数据处理和计算的能力,它可以用每秒浮点运算次数(Flops)来衡量。目前,AI大模型主要依赖于GPU或CPU+FPGA、ASIC等算力芯片来实现其高效运行。这些算力芯片是针对人工智能算法做了特殊加速设计的芯片,也被称为AI加速器或计算卡,是AI的算力基础。

ChatGPT需要非常大量的算力(芯片)来支持其训练和部署。据微软消息,为ChatGPT提供计算支持的AI超级计算机,是微软2019年投资10亿美元建造的大型顶级超级计算机,配备了数万台英伟达A100台 GPU,还配备了60多个数据中心,部署了数十万个英伟达GPU辅助。

巨大的用户访问量也给算力带来巨大的性能和成本压力。根据Similarweb数据,今年2月OpenAI访问量已经达到11亿次,而根据Fortune的数据,用户每次与ChatGPT互动产生的云算力成本约0.01美元,如果往低了算,每次访问网站仅进行一次互动,那么单月仅算力成本也要1100万美元。

问题与期待

ChatGPT虽然已经有很强的能力,但上线以后随着使用的人越来越多,也发现了很多问题,对于复杂的推理分析计算类任务,他回答错误的概率仍然非常大。另外,在ChatGPT的训练过程中,使用了RLHF来引导模型按照人类偏好进行学习。然而,这种学习方式也可能导致模型过分迎合人类的偏好,而忽略正确答案。因此大家可以看到ChatGPT经常会一本正经的胡说八道。还有就是数据隐私安全。

虽然 ChatGPT是目前最流行的大型语言模型,但在接下来的几年里,可能会出现更多的竞争。例如,谷歌的Bard、Facebook 的Llama 2 、 Writer 的Palmyra LLM和 Anthropic 的Claude。

相比问题,我们更加期待ChatGPT的未来,它们将不断变得更加善于理解和回应我们人类,非常高效,可以在几乎任何设备上使用它们,比如手机甚至小型设备。它们还将成为特定领域的专家,如医学或法律,这非常酷。

还有,这些语言模型将能够处理不仅是文本,还包括图像和声音,并且将使用世界各地的语言。此外,人们正在努力确保这些AI模型是公平和负责任的,以使其更加开放和减少偏见。

最令人兴奋的是,这些语言模型将成为我们惊人的伙伴,帮助我们完成各种任务,并以无数方式使我们的生活变得更轻松。

参考资料:
1、https://jalammar.github.io/illustrated-transformer/
2、https://zapier.com/blog/how-to-use-google-bard/
3、https://openai.com/chatgpt
4、https://www.zdnet.com/article/what-is-chatgpt-and-why-does-it-matter-heres-everything-you-need-to-know/
5、https://www.yunliebian.com/yingxiao/article-44223-1.html
6、https://www.vinayiyengar.com/2022/08/04/the-promise-and-perils-of-large-language-models/
7、https://babylm.github.io/

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Text-to-SQL小白入门(九)InstructGPT论文:教你如何训练ChatGPT

论文概述 InstructGPT和ChatGPT 的训练流程基本一致 ,ChatGPT是改进后的InstructGPT,比如InstructGPT是基于GPT-3训练,而ChatGPT是基于GPT-3.5训练。 基本信息 英文标题:Training language models to follow instructions with h…

香港科技大学广州|智能制造学域博士招生宣讲会—华中科技大学专场

时间:2023年12月08日(星期五)15:00 地点:华中科技大学大学生活动中心A座603 报名链接:https://www.wjx.top/vm/mmukLPC.aspx# 宣讲嘉宾: 胡鹏程 副教授 https://facultyprofiles.hkust-gz.edu.cn/faculty-…

RabbitMQ消息队列

简介 MQ(message queue),从字面意思上看就个 FIFO 先入先出的队列,只不过队列中存放的内容是 message 而已,它是一种具有接收数据、存储数据、发送数据等功能的技术服务。 作用:流量削峰、应用解耦、异步处理。 生产者将消息发送…

黑马点评-Feed流的实现方案,基于推拉结合模式实现笔记推送

Feed流实现方案 我们关注了博主之后,当用户发布了动态后我们应该把这些数据推送给粉丝,关注推送也叫作Feed(投喂)流,通过无限下拉刷新获取新的信息 传统的模式内容检索: 粉丝需要主动通过搜索引擎或者是其他方式去查找想看的内容新型Feed流的效果: 系统分析用户到底想看什么,…

okhttp系列-拦截器的执行顺序

1.将拦截器添加到ArrayList final class RealCall implements Call {Response getResponseWithInterceptorChain() throws IOException {//将Interceptor添加到ArrayListList<Interceptor> interceptors new ArrayList<>();interceptors.addAll(client.intercept…

注意力机制(Attention Mechanism)

目录 1. 简介&#xff1a;探索注意力机制的世界 2. 历史背景 3. 核心原理 4. 应用案例 5. 技术挑战与未来趋势 6. 图表和示例 7. Conclusion 1. 简介&#xff1a;探索注意力机制的世界 在当今的人工智能&#xff08;AI&#xff09;和机器学习&#xff08;ML&#xff09;…

戴尔科技推出全新96核Precision 7875塔式工作站

工作站行业一直是快节奏且充满惊喜的。在过去25年中,戴尔Precision一直处于行业前沿,帮助创作者、工程师、建筑师、研究人员等将想法变为现实,并对整个世界产生影响。工作站所发挥的作用至关重要,被视为化不可能为可能的必要工具。如今,人工智能(AI)和生成式AI(GenAI)的浪潮正在…

npm管理发布包-创建与发布

创建与发布 我们可以将自己开发的工具包发布到 npm 服务上&#xff0c;方便自己和其他开发者使用&#xff0c;操作步骤如下 创建文件夹&#xff0c;并创建文件indexjs&#xff0c;在文件中声明函数&#xff0c;使用 module.exports 暴露npm初始化工具包&#xff0c;package.j…

浅谈硬件连通性测试几大优势

硬件连通性测试是确保硬件系统正常运行、提高系统可靠性和降低生产成本的关键步骤。在现代工程和制造中&#xff0c;将连通性测试纳入生产流程是一个明智的选择&#xff0c;有助于确保硬件产品的质量和性能达到最优水平。本文将介绍硬件连通性测试的主要优势有哪些! 一、提高系…

Java基础之集合类

Java基础之集合类 一、集合的框架1.1、集合概述1.2、集合与数组区别1.3、数组的缺点&#xff1a;1.4、常用集合分类1.5、Collection常用方法 二、List集合2.1、ArrayList2.2、LinkedList2.3、Vector2.4、区别 三、Set集合3.1、HashSet集合3.2、LinkedHashSet集合3.3、TreeSet集…

Unity 接入TapADN播放广告时闪退 LZ4JavaSafeCompressor

通过跟踪安卓日志&#xff0c;发现报如下错误 Didnt find class "com.tapadn.lz4.LZ4JavaSafeCompressor" 解决方案&#xff1a; 去掉Minify这边的勾选&#xff0c;再打包即可。

国内高速下载huggingface上的模型

前提 Python版本至少是3.8 安装 安装hugging face官方提供的下载工具 pip install -U huggingface_hub hf-transfer Windows设置环境变量 在当前窗口设置临时环境变量&#xff08;cmd.exe&#xff09; set HF_HUB_ENABLE_HF_TRANSFER 1 你也可以设置永久的环境变量&am…

MySQL基础进阶篇

进阶篇 存储引擎 MySQL体系结构&#xff1a; 存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表而不是基于库的&#xff0c;所以存储引擎也可以被称为表引擎。 默认存储引擎是InnoDB。 相关操作&#xff1a; -- 查询建表语句 show create …

uniapp 导航分类

商品分类数据&#xff0c;包括分类名称和对应的商品列表点击弹出 列表的内容 展示效果如下&#xff1a; 代码展示 ①div部分 <view class"container"><view class"menu-bar"><view class"menu"><view class"menu-sc…

差异性分析方法汇总与pk

在数据研究中&#xff0c;常见的数据关系可以分为四类&#xff0c;分析是相关关系&#xff0c;因果关系、差异关系以及其它。本次所进行研究的关系为差异关系。对于差异性分析方法常见可以分为三类&#xff1a;参数检验、非参数检验以及可视化图形。 一、参数检验 1、参数检验…

Flask Session 登录认证模块

Flask 框架提供了强大的 Session 模块组件&#xff0c;为 Web 应用实现用户注册与登录系统提供了方便的机制。结合 Flask-WTF 表单组件&#xff0c;我们能够轻松地设计出用户友好且具备美观界面的注册和登录页面&#xff0c;使这一功能能够直接应用到我们的项目中。本文将深入探…

Redis(二):常见数据类型:String 和 哈希

引言 Redis 提供了 5 种数据结构&#xff0c;理解每种数据结构的特点对于 Redis 开发运维⾮常重要&#xff0c;同时掌握每 种数据结构的常⻅命令&#xff0c;会在使⽤ Redis 的时候做到游刃有余。 Redis 的命令有上百种&#xff0c;我们不可能全部死记硬背下来&#xff0c;但是…

linaro交叉编译工具链下载与使用笔记

笔记 文章目录 笔记确定目标 &#xff08;aarch64&#xff09;选择版本&#xff08;7.5&#xff09;选择目标&#xff08;aarch64-linux-gnu&#xff09;下载地址工具链&#xff08;gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz&#xff09;编译测试 &#xff08…

Selenium+Python做web端自动化测试框架与实例详解教程

最近受到万点暴击&#xff0c;由于公司业务出现问题&#xff0c;工作任务没那么繁重&#xff0c;有时间摸索seleniumpython自动化测试&#xff0c;结合网上查到的资料自己编写出适合web自动化测试的框架&#xff0c;由于本人也是刚刚开始学习python&#xff0c;这套自动化框架目…

python爬虫实习找工作练习测试(以下内容仅供参考学习)

要求&#xff1a;获取下图指定网站的指定数据 空气质量状况报告-中国环境监测总站 输入&#xff1a;用户输入下载时间范围&#xff0c;格式为2022-10 输出&#xff1a;将更新时间在2022年10月1日到31日之间的文件下载到本地目录&#xff08;可配置&#xff09;&#xff0c;并…