翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习一

news2024/11/18 14:02:47

合集 ChatGPT 通过图形化的方式来理解 Transformer 架构

  1. 翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习一
  2. 翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习二
  3. 翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习三
  4. 翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习四
  5. 翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习五
  6. 翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习六

Generative Pre-trained Transformer (生成式预训练Transformer)

GPT 是 Generative Pre-trained Transformer 的缩写。

前面的词比较直白,它们是指能生成新文本的机器人。

"Pre-trained"指的是模型已经经历了从大量数据中学习的过程,暗示着模型在特定任务上还有进一步训练和微调的潜力。
在这里插入图片描述

然而,最后一个词才是真正重要的部分。

Transformer(Transformer)是一种特定类型的神经网络,一种机器学习模型,它是当今人工智能快速发展的核心。
在这里插入图片描述

通过这个视频和接下来的章节,我希望能以一种易于理解的方式解释Transformer内部究竟发生了什么。
在这里插入图片描述

我们将一步步探索其中的数据流。
在这里插入图片描述

你可以用Transformer构建许多不同类型的模型。
在这里插入图片描述

有些模型接受音频输入并生成文本。
在这里插入图片描述

这句话来自一个反向的模型,它只需要文本输入就能生成人工语音。
在这里插入图片描述

所有那些在2022年席卷全球的工具,例如DALL-E和MidJourney,它们能够将文本描述转换为图像,这些都是基于Transformer的。

即使我无法让它完全理解什么是"π生物",我仍然对这样的事情能够发生感到惊讶。
在这里插入图片描述

最初的Transformer由谷歌在2017年推出,
在这里插入图片描述

主要用于将文本从一种语言翻译成另一种语言。
在这里插入图片描述

但我们将重点关注的版本,也就是像ChatGPT这样的工具所依赖的类型,将是一个接受一段文本(可能伴随一些图像或声音)然后预测接下来会出现什么文章的模型。
在这里插入图片描述

这个预测以概率分布的形式呈现,涵盖了大量可能出现的下一个文本片段。

乍一看,你可能会认为预测下一个词似乎与生成新词相去甚远。

但当你有了这样一个预测模型,你就可以尝试通过给它一个初始片段,然后从你刚刚生成的概率分布中随机抽取一个样本,将该样本附加到文本中,然后再进行一轮预测,这次是基于所有新生成的文本。

我不知道你怎么想,但我真的不认为这种方法会很有效。
在这里插入图片描述

例如,在这个动画中,我在笔记本电脑上运行GPT-2,让它不断预测和抽样下一段文本,试图根据一个开始的文本片段生成一个故事。

结果是,这个故事基本上没有任何逻辑。
在这里插入图片描述

但如果我切换到GPT-3的API调用,这是相同的基本模型,只是规模大得多,突然之间就像魔术一样,我们不仅得到了一个有逻辑的故事,甚至还暗示了一个π生物如何栖息在一个充满数学和计算的世界里。
在这里插入图片描述

这个过程就是通过反复预测和选择来生成文本,这正是你在使用ChatGPT或其他大型语言模型时所体验到的,它们逐字生成文本。

实际上,我希望有一个功能,可以让我看到它为每个新选择的词所基于的潜在概率分布。
在这里插入图片描述

让我们从宏观层面看看数据如何在Transformer模型中流动。

接下来,我们将详细探索、解释和扩展每一步。

但总的来说,当聊天机器人生成一个特定的词时,它是这样工作的。
在这里插入图片描述

首先,输入被分割成许多小片段。这些小片段被称为标记(token)。

对于文本,这些标记通常是单词、单词的小部分或其他常见的字符组合。
在这里插入图片描述
在这里插入图片描述

如果是图像或声音,一个标记可能代表图像的一小块区域或声音的一小段片段。
在这里插入图片描述

然后,每个标记都对应一个向量,即一串数字,其目的是以某种方式传达该片段的含义。
在这里插入图片描述

如果你把这些向量看作高维空间中的坐标,那么具有相似含义的词往往位于彼此接近的向量上。
在这里插入图片描述
这些向量序列
在这里插入图片描述

然后经过一个称为"注意力块"(attention blocks)的过程,允许向量相互"交谈",并根据彼此的信息更新自己的值。
在这里插入图片描述

例如,"model"这个词在"fashion model"中的含义与在其他上下文中不同。
在这里插入图片描述

注意力模块的目的是确定上下文中的哪些词与更新其他词的含义相关,以及这些含义应该如何精确地更新。
在这里插入图片描述

每当我说"含义"这个词时,都是指向量中的数字。
在这里插入图片描述

之后,这些向量经过另一个过程,根据数据的不同,可能被称为多层感知器(multilayer perceptron)或前馈层(feedforward layer)。
在这里插入图片描述

在这个阶段,向量不再相互"交流",而是并行地经历相同的过程。
在这里插入图片描述

虽然这一步有点难以理解,我们稍后会讨论,它有点像为每个向量提出一系列问题,然后根据这些问题的答案更新向量。
在这里插入图片描述
在这里插入图片描述

这两个处理阶段本质上都是大量的矩阵乘法,我们要学习的是如何解释其背后的矩阵。
在这里插入图片描述

在解释中,我省略了一些中间步骤的归一化细节,毕竟这只是一个宏观概述。
在这里插入图片描述

接下来,这个过程基本上会重复。
在这里插入图片描述

你需要不断在注意力模块和多层感知器(MLP)模块之间切换,直到结束,我们期望以某种方式,文章的核心含义已经完全整合到序列的最后一个向量中。
在这里插入图片描述

然后,这个最后的向量经过一个特定的操作,产生一个概率分布,涵盖了所有可能出现的下一个标记,代表任何可能出现的小文本片段。
在这里插入图片描述

就像我说的,一旦你有了一个根据一小段文本预测下一步的工具,你就可以给它一些初始文本,让它不断预测下一步,从概率分布中抽样,添加到现有文本中,
在这里插入图片描述

然后一遍又一遍地重复这个过程。
在这里插入图片描述

了解这一点的人可能会回想起,早在ChatGPT出现之前,GPT-3的早期演示就是这样,根据一段起始文本自动完成故事和文章。
在这里插入图片描述

将这样一个工具转变为聊天机器人的一个简单方法是准备一段文本,
在这里插入图片描述

设定一个用户与有用的AI助手互动的场景,称为系统提示(system prompt)。
在这里插入图片描述

然后,你可以用用户的初始问题或提示开始对话,
在这里插入图片描述

然后让AI开始预测有用的AI助手将如何回应。

为了让这个过程更好地工作,还有额外的训练步骤,但总的来说,这就是基本思路。

参考

https://youtu.be/wjZofJX0v4M?si=DujTHghH5dYM3KpZ

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

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

相关文章

CAD的DWG文件如何进行搜索文字

1.目的 想搜索CAD文件中的数字或文字是否存在DWG文件中。 2.方法 方式1:菜单栏 编辑→查找 方式2:指令格式 图纸的左下侧→命令处,进行输入find→再按回车enter 3.结果

Day 22 SSH远程管理服务

sshd服务,系统自带,默认开机自启运行 云/物理服务器的安全组和防火墙默认放行该端口 软件包:openssh-server(服务端);openssh-client(客户端); 格式:ssh I…

【C++语法练习】计算梯形的面积

题目链接:https://www.starrycoding.com/problem/158 题目描述 已知一个梯形的上底 a a a,下底 b b b和高 h h h,请求出它的面积(结果保留两位小数)。 输入格式 第一行一个整数 T T T表示测试用例个数。 ( 1 ≤ T …

JeeSite主子表

classroom表代码生成配置(主表) student表代码生成配置(子表) 设置“班级”菜单 班级列表页面 点击“三年级二班”,显示班级中的学生列表页面 班级表 CREATE TABLE classroom (classroom_id int NOT NULL AUTO_…

Meditron:基于 Llama 完全开源的医学大语言模型

健康危机就在眼前,当医疗资源有限时,每一秒钟都至关重要!Meditron 就像一位忠实的医疗助手,提供基于证据的护理建议和情境意识的推荐,帮助医疗工作者在诊断和治疗过程中做出更准确的决策。 在资源有限的医疗环境中&am…

C/C++实现高性能并行计算——1.pthreads并行编程(中)

系列文章目录 pthreads并行编程(上)pthreads并行编程(中)pthreads并行编程(下)使用OpenMP进行共享内存编程 文章目录 系列文章目录前言一、临界区1.1 pi值估计的例子1.2 找到问题竞争条件临界区 二、忙等待三、互斥量3.1 定义和初始化互斥锁3.2 销毁。3.3 获得临界区的访问权&…

《读懂财务报表》手绘版读书笔记:通过报表找好公司

通过财报的三张表判断好公司: 然后是在三表中,计算各个项目占总体的比例,以及做比率分析, 比率分析,从偿还能力,运营能力,盈利能力三方面分析: 1) 偿还能力 2&#xff09…

新建stm32工程模板步骤

1.先使用keil新建一个project的基本代码 2.stm32启动文件添加 将stm32的启动文件,在原工程当中新建一个Start文件夹把相关的启动文件放到文件夹当中 然后还需要找到下面三个文件 stm32f10x.h是stm32的外设寄存器的声明和定义,后面那两个文件用于配置系…

Python数据预处理1:导入与基本操作

2024/4/30 After installing the xlrd package, you should be able to read Excel files using pandas without any issues. #需要在pyCharm命令行中下载两个包 pip install pandas pip install xlrd .xls数据导入 #数据的导入 import pandas as pd #导入EXCEL表格数据 df…

Java基于微信小程序+uniapp的校园失物招领小程序(V3.0)

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

【大数据】利用 Apache Ranger 管理 Amazon EMR 中的数据权限

利用 Apache Ranger 管理 Amazon EMR 中的数据权限 1.需求背景简介2.系统方案架构图3.主要服务和组件简介3.1 Amazon EMR3.2 Simple Active Directory3.3 Apache Ranger 4.部署步骤4.1 部署 Simple AD 服务4.2 部署 Apache Ranger4.3 部署 Amazon EMR4.4 在 Amazon EMR 的主节点…

FPGA高端项目:FPGA帧差算法多目标图像识别+目标跟踪,提供11套工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐FPGA帧差算法单个目标图像识别目标跟踪 3、详细设计方案设计原理框图运动目标检测原理OV5640摄像头配置与采集OV7725摄像头配置与采集RGB视频流转AXI4-StreamVDMA图像缓存多目标帧差算法图像识别目标跟踪模块视频输出Xilinx系列FPGA工程源…

spring-boot示例

spring-boot版本:2.0.3.RELEASE 数据库: H2数据库 (嵌入式内存性数据库,安装简单,方便用于开发、测试,不适合用于生产) mybatis-plus框架,非常迅速开发CRUD

Liunx磁盘管理(上)

Liunx磁盘管理(中)-CSDN博客 目录 一.硬盘类型 机械硬盘(HDD) 固态硬盘(SSD) 二.插拔方式 1. 热插拔(Hot Swapping) 2. 冷插拔(Cold Swapping) 3. 模块…

新唐的nuc980/nuc972的开发3-官方源码编译

上一节中bsp已经安装,交叉环境已经搭建,理应就可以正常的编写上层的应用程序啦。 但是系统启动次序是- uboot-> kernel内核 ->挂载文件系统 ->上层应用程序 下面是bsp安装后的文件: 因此本章节,将讲解 uboot-> kerne…

MySql-日期分组

一、分别统计各时间各类型数据条数 数据库的 request_time字段 数据类型:timestamp 默认值:CURRENT_TIMESTAMP 例子: 2024-01-26 08:25:48 原数据: 1、将数据按照日期(年月日)形式输出 按照request_…

C语言:文件操作(下)

片头 嗨!小伙伴们,在前2篇中,我们分别讲述了C语言:文件操作(上)和 C语言:文件操作(中),今天我们将会学习文件操作(下),准…

电商技术揭秘四十一:电商平台的营销系统浅析

相关系列文章 电商技术揭秘相关系列文章合集(1) 电商技术揭秘相关系列文章合集(2) 电商技术揭秘相关系列文章合集(3) 文章目录 引言一、用户画像与精准营销用户画像与精准营销的概念用户画像在精准营销中…

基于FPGA的数字信号处理(7)--如何确定Verilog表达式的位宽

一般规则 很多时候,Verilog中表达式的位宽都是被隐式确定的,即使你自己设计了位宽,它也是根据规则先确定位宽后,再扩展到你的设计位宽,这常常会导致结果产生意想不到的错误。比如: timescale 1ns/1ns mod…

Docker命令(持续更新)

目录 下载和安装 安装必要的依赖项 添加Docker仓库 安装Docker Engine 启动Docker服务 配置阿里云镜像 卸载Docker 镜像 删除指定id镜像 删除所有镜像 镜像保存本地 本地镜像加载到docker服务器内 容器 创建容器 查看所有容器 停止所有容器 启动已存在容器 删…