一文读懂 ChatGPT 工作原理

生成式 AI 是如何工作的

生成式 AI 是目前最热门的技术之一,ChatGPT 等应用的出现使人们对于如何在各种领域中应用生成式 AI 有了许多新的思考。

但这些领域的从业者并不都具备 AI 相关的知识背景。所以我们制作了这个教程,向无 AI 知识背景的读者介绍生成式 AI 是如何工作的。

在互联网上,已经有许多非常精彩的生成式 AI 及其背后 AI 模型的工作原理介绍,例如:

  • 《The Illustrated Transformer》
  • 《Illustrated Guide to Transformers- Step by Step Explanation》

但它们都花了较多篇幅相对深入地介绍了生成式 AI 背后的模型 Transformer,这对应着许多专业术语和复杂的数学逻辑。这是我们在本教程中将避免的。

如果你希望获取这部分的信息,建议阅读上述文章。

与本教程目标最相近的是 Financial Times 最新发布的一期文章,在制作本教程的过程中我们也大量参考了其内容组织思路和可视化风格。与其内容相比,本教程在内容上进行了一些增减,使其更符合我们认为易于理解的逻辑思路,但 FT 的这篇文章同样值得一看。

我们将从一些例子出发,逐步理解生成式 AI 如何实现:

  1. 理解词语
  2. 理解句子
  3. 进一步生成内容

图中的文本是一个典型的例子:“买了一袋很甜的苹果,和新款的苹果手机”,苹果一词出现了两次但含义不同。

目前可用的生成式 AI 都克服了这一难题,能够准确理解两次出现的苹果的不同含义,让我们一起探索这一神奇能力背后的原理吧!

AI 如何理解词语

对于 AI 模型来说,在完成生成文本等更复杂的任务之前,首先需要完成第一步:理解词语。

对于人类来说,词语是在学习一门语言时逐渐掌握的知识,基于对语言的学习与应用,加深对词语含义的理解。

AI 模型同样通过一个学习过程掌握词语的含义,而学习的素材则是对应语言的海量文本。文本越多,AI 模型的学习效果越好,对词语的理解也就更准确。

但与人类不同的是,AI 模型需要将对词语的学习结果总结为一个量化的结果,才能被计算机程序存储以及持续使用。为了得到量化的结果,AI 领域的研究人员想到了一种方法:将词语在不同维度上分类打分,来对词语归类。

按照这个思路,我们在图中画出了两个维度:性别和年龄。再将四个词语 国王王后王子公主在两个维度上打分,可以看到它们被清晰的分成了不同的类别。

在性别维度上相同的词语,说明词语在性别上的含义相同;同理,在年龄维度上相同的词语,则说明词语在年龄上的含义相同。

为了进一步量化,AI 模型会在维度上标记一些具体的分数代表不同的含义,例如性别维度上用 1 代表男性、2 代表女性,年龄维度上 1 代表少年、2 代表中年、3 代表老年。

以此类推,只要维度足够多、打分足够准确,AI 模型就可以越精准的理解一个词语的含义,而词语在 AI 模型眼中的量化结果就是一组不同维度上的分数。

对于目前较为先进的 AI 模型来说,通常维度的数量可以达到上千个。

AI 眼中的词语

在学习之后,AI 眼中每个词语的量化结果不同,但含义相似的词语在更多维度上会有相同或相近的分数。

如图中所画,国王王子两个词语并不相同,但两者之间的含义比国王大海之间相关性更强,因此它们的量化结果就会更相近。

我们在后续的章节中也将以不同颜色的一组色块示意一个词语在 AI 眼中的量化结果。

与上文所说一致,国王王子相关性更强,大海湖泊相关性更强,足球篮球相关性更强。相关性更强的词语量化结果越相近。

AI 如何理解句子

学习词语并理解为量化的结果只完成了第一步,接下来 AI 就需要进一步理解一组词语的合集:句子。

在教程的开篇,我们提到了一个句子中出现两次苹果的例子。对于同一个 AI 模型,经过学习之后,苹果这个词语就拥有了固定的量化结果,那么如何体现它在这个句子中两次出现的不同含义呢?

目前流行的生成式 AI 模型都使用了相似的技术解决这一问题,而这类技术的理论基础是 2017 年 Google 发布的论文《Attention Is All You Need》,这篇论文也被视作生成式 AI 的开端。

这篇论文提出了一种名为自注意力(Self Attention)的机制。简单来说,当 AI 理解包含了一组词语的句子时,除了理解词语本身,还应该将每个词语和句子中的其他词语相结合进行第二轮理解。单个词语和句子中其他词语之间的关联性,称之为“注意力”,由于是和同一个句子自身的词语结合理解,所以称之为“自注意力”。

与图中所画类似,每个词语都将经历一轮与句子中其他词语的结合理解,图中所画的是第一个词语与其他词语的结合过程,其他词语以此类推。

当句子中第一次出现的苹果与其他词语进行结合理解时,基于词语的位置和它自身的量化结果,AI 模型就能理解它与句子中的哪些词语关联性更强。

对于第一次出现的苹果来说,它与图中右侧标记为蓝色的词语关联性更强,蓝色越深代表关联性越强,AI 模型也就会向这些关联性强的词语投入更多的注意力。

在补充自注意力之后,AI 模型就更倾向于认为第一次出现的苹果在句子中的含义是水果,因为只有水果可以使用一袋作为量词、很甜作为形容词。

同样的在补充自注意力之后,AI 模型就更倾向于认为第二次出现的苹果在句子中的含义是一个手机品牌,因为只有手机品牌可以和新款一起形容手机。而句子中的则让 AI 正确的进行了断句。

基于自注意力的句子理解能力对于生成式 AI 来说是至关重要的,在此基础上,AI 模型才能过避免理解错误或进一步生成错误的内容。

这样的理解能力不仅仅能够在理解“多义词”时起作用,对于其他复杂的场景同样奏效。

我们在原本句子的基础上补充了新的内容它很好用,因为最后一个词语是,所以在理解这个词语时,AI 就从与手机相关的词语中获得了更多的注意力,最终正确理解的含义是新买的手机。

如果将最后一个词语是改为,那么在理解这个词语时,AI 就会从与水果相关的词语中获得了更多的注意力,最终正确理解的含义是新买的水果。

从这些例子中可以看出,句子中的信息越丰富,使用自注意力技术的模型对于句子中各词语的理解就会越准确,这也是这一技术的强大之处。

以此为基础,AI 模型在理解多个句子时表现的会更好,这也是 ChatGPT 等产品使用人机对话的形式使用 AI 的原因。

AI 如何生成内容

从前面的章节中我们已经知道 AI 模型在理解一个句子中的各个词语时,除了词语自身的量化结果,还会从句子中的其余词语中获取注意力。

在图中,我们以买了一袋很甜的这一不完整的句子作为基础,示意了每个词语自身的量化结果(加号左侧)和来自其余词语的注意力(加号右侧)。

由于所有的信息在 AI 模型中实际都是量化结果,所以 AI 模型可以将所有量化结果进行汇总计算,得到一组新的量化结果(虚线下方)作为它对整个句子的总体理解。

当进行生成时,AI 模型会从自己的词汇表中对比各个词语和当前句子的关联性。

对于我们的例子来说,苹果橘子都与目前不完整的句子有很高的关联性,而西瓜因为相对较少用一袋形容,所以关联性比前两者更低,报纸的关联性就理应极低了。

在 AI 模型眼中,关联性越强的词语代表它出现在句子之后“可能性”越高,AI 模型就会选择可能性最高的词语作为生成的内容。

当可能性最高的词语被选中之后,句子也将被变为新的更长的句子,AI 模型将重复这一过程,选择下一个可能性最高的词语,从而生成更多内容。

拓展

ChatGPT基于全网的一些数据,很多数据来源于开源。ChatGPT首先肯定是一个效率提升,也会在各行各业很快开花结果但如果要开发一些小领域的应用,它的数据非常少,初期可能泛化性比较差一些。所以我觉得这一块还是另外一个风口——低代码更胜一筹

介绍一款程序员都应该知道的软件 JNPF 快速开发平台,基于 Java/.Net 双技术引擎,专注于低代码,采用业内领先的 SpringBoot 微服务架构、支持 SpringCloud 模式,完善了平台的扩增基础,满足了系统快速开发、灵活拓展、无缝集成和高性能应用等综合能力;采用前后端分离模式,前端和后端的开发人员可分工合作负责不同板块,省事又便捷。

免费体验官网:www.jnpfsoft.com/?csdn

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

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

相关文章

Temu数据面板:Temu商家必备的数据分析工具

在Temu这个电商平台上,越来越多的商家意识到数据分析的重要性。数据分析可以帮助商家更好地了解店铺的运营情况,从而制定更有效的运营策略,提高销售业绩。而在这个过程中,Temu数据面板成为了一个不可或缺的工具。 先给大家推荐一款…

【ElementUI】一行代码解决图片预览

【ElementUI】一行代码解决图片预览 只需要在图片标签上加入:preview-src-list 只需要在图片标签上加入:preview-src-list 完整代码如下&#xff1a; <el-table-column label"封面" align"center" prop"cover" :sort-orders"[descend…

IDEA 保存自动ESLint格式化

作为后端人员&#xff0c;偶尔修改一下前端代码&#xff0c;ESLint总提示格式不正确。有没有什么办法实现自动格式化呢&#xff1f; 安装插件Save Actions Tool 设置中搜索eslint 勾选 Run eslint --fix on save 这样以后&#xff0c;只要保存文件就会自动格式化了。 参考 …

“探秘某音开放平台接口:掌握潮流电商的秘密武器“

一、概述 接口是某音开放平台提供的一套API接口&#xff0c;开发者可以通过这些接口快速构建与某音平台的数据交互能力。本文将详细介绍某音接口的使用方法、技术细节以及注意事项。 二、接口地址 某音接口的地址为&#xff1a;https://open.douyin.com/platform/doc/standa…

java语言中受检异常和非受检异常的区别是什么?

在Java语言中&#xff0c;异常可以分为两种类型&#xff1a;受检异常&#xff08;Checked Exception&#xff09;和非受检异常&#xff08;Unchecked Exception&#xff09;。 受检异常&#xff08;Checked Exception&#xff09;&#xff1a;这是编译器要求必须进行处理的异常…

Redis——Redis简介

Redis是目前最流行的键值对&#xff08;key-value&#xff09;数据库&#xff0c;以出色的性能著称&#xff0c;官方提供的数据是可以支持100000以上的QPS。Redis具有高性能的主要原因如下&#xff1a; Redis是基于内存的存储数据库&#xff0c;绝大部分的命令处理只是纯粹的内…

BabySpartan:对non-uniform computation的Lasso-based SNARK

1. 引言 前序博客有&#xff1a; Lasso、Jolt 以及 Lookup Singularity——Part 1Lasso、Jolt 以及 Lookup Singularity——Part 2深入了解LassoJoltmultilinear多项式承诺方案benchmark对比 见Srinath Setty和Justin Thaler 2023年论文《BabySpartan: Lasso-based SNARK fo…

协同过滤算法:个性化推荐的艺术与科学

目录 引言&#xff1a; 一、协同过滤算法的基本原理 二、协同过滤算法的应用领域 三、协同过滤算法的优缺点 四、协同过滤算法的未来发展方向 五、结论 引言&#xff1a; 在当今数字化时代&#xff0c;信息过载成为了一个普遍的问题。为了帮助人们更好地发现符合个性化需…

HTTP 和 HTTPS的区别

一、HTTP 1.明文传输&#xff0c;不安全 2.默认端口号&#xff1a;80 3.TCP三次握手即可 二、HTTPS 1.加密传输&#xff0c;更安全(在HTTP层与TCP层之间加上了SSL/TTL安全协议) SSL和TTL是在不同时期的两种叫法&#xff0c;含义相同。 2.默认端口号&#xff1a;443 3.TCP三…

【广州华锐互动】风电场检修VR情景模拟提供接近真实的实操体验

风电场检修VR情景模拟系统由广州华锐互动开发&#xff0c;这是一种新兴的培训方式&#xff0c;它通过虚拟现实技术将风力发电场全范围进行1:1仿真建模还原&#xff0c;模拟监视风力发电场各种运行工况下的运行参数和指标&#xff0c;同时可进行升压站系统的巡视&#xff0c;倒闸…

Windows系列:Zabbix agent一键部署-windows版本(windows 安装zabbix客户端安装、bat文件修改文件内容)

Zabbix agent一键部署-windows版本&#xff08;windows 安装zabbix客户端安装、bat文件修改文件内容&#xff09; 一. Zabbix agent一键部署-windows版本二. windows 安装zabbix客户端安装1.下载安装zabbix agent2.配置zabbix agent2.1 修改配置文件2.2 将zabbix agent安装为wi…

windows系统配置别名

习惯了linux下的别名管理机制&#xff0c;而windows下却没有类似的功能。我看有些博客介绍说windows下配置别名还得修改注册表&#xff0c;太麻烦了&#xff08;个人认为&#xff0c;windows的这一套&#xff0c;终究会被抛弃&#xff09;。我自己摸索出一条比较便利的方式。 …

同旺科技 USB TO SPI / I2C --- 调试W5500_TCP Client接收数据

所需设备&#xff1a; 内附链接 1、USB转SPI_I2C适配器(专业版); 首先&#xff0c;连接W5500模块与同旺科技USB TO SPI / I2C适配器&#xff0c;如下图&#xff1a; 发送数据6个字节的数据&#xff1a;0x11,0x22,0x33,0x44,0x55,0x66 在专业版调试软件中编辑指令&#xff0c…

坦克大战-部分

通过键盘操控坦克移动&#xff0c;转弯&#xff0c;射击 消灭所有敌人可以过关 23个类&#xff0c;3个gif图片 wsad控制移动 j射击 砖墙限制移动&#xff0c;可以打穿&#xff1b;铁墙&#xff0c;限制移动&#xff0c;不能打穿&#xff1b;水&#x…

【PyTorch】多层感知机

文章目录 1. 模型和代码实现1.1. 模型1.1.1. 背景1.1.2. 多层感知机1.1.3. 激活函数 1.2. 代码实现1.2.1. 完整代码1.2.2. 输出结果 2. Q&A 1. 模型和代码实现 1.1. 模型 1.1.1. 背景 许多问题要使用线性模型&#xff0c;但无法简单地通过预处理来实现。此时我们可以通过…

智能联动第三方告警中心,完美实现故障响应全闭环

前言 我们曾讨论完善的告警策略是整个数据监控系统的重要组成部分&#xff08;参见《机智的告警策略&#xff0c;完善监控系统的重要一环》&#xff09;&#xff0c;介绍了如何配置告警通知以及场景示例&#xff0c;帮助用户及时更多潜在的故障和问题&#xff0c;有效地保障系…

Windows server系列:将windows server2019打造成个人操作系统

一、组策略 WIN键R键&#xff0c;输入gpedit.msc&#xff0c;进入组策略设置。      1、计算机配置&#xff0c;Windows设置&#xff0c;安全设置&#xff0c;帐户策略&#xff0c;密码策略&#xff1a;“密码必须符合复杂性要求”&#xff0c;设置为"已禁用"。…

力扣labuladong一刷day26天常数时间访问删除操作数组

力扣labuladong一刷day26天常数时间访问删除操作数组 文章目录 力扣labuladong一刷day26天常数时间访问删除操作数组一、380. O(1) 时间插入、删除和获取随机元素二、710. 黑名单中的随机数 一、380. O(1) 时间插入、删除和获取随机元素 题目链接&#xff1a;https://leetcode…

Linux 统计命令Netstat详解

一、查看本机IP连接 netstat -anp netstat常见参数 -a (all)显示所有选项&#xff0c;默认不显示LISTEN相关 -t (tcp)仅显示tcp相关选项 -u (udp)仅显示udp相关选项 -n 拒绝显示别名&#xff0c;能显示数字的全部转化成数字。 -l 仅列出有在 Listen (监听) 的服務状态 -p 显示…

Redis 之 ZSET 实战应用场景,持续更新!

前言 大白话介绍 Redis 五大基本数据类型之一的 ZSET 开发中常见的应用场景 ZSET 介绍 ZSET 与 SET 相同点&#xff1a;都是是 String类型元素的集合&#xff0c;且不允许重复的成员ZSET 与 SET 不同点&#xff1a;ZSET 每个元素都会关联一个 Double 类型的分数&#xff0c;Re…