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

news2024/11/16 21:48:41

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

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

在这里插入图片描述

例如,GPT-3中的1750亿个权重
在这里插入图片描述

被组织成大约28000个不同的矩阵。
在这里插入图片描述

这些矩阵然后被分为8个不同的类别,
在这里插入图片描述

你和我要做的就是一个一个地理解每一个类别,了解每种类型的功能。
在这里插入图片描述

接下来的过程将非常有趣,我们将查看GPT-3的具体数据,以弄清楚1750亿是如何分配的。
在这里插入图片描述

尽管现在有更大更好的模型可用,但GPT-3模型仍然具有独特的魅力,作为第一个吸引全球关注的大型语言模型,其影响不限于机器学习社区。
在这里插入图片描述

事实上,对于更现代的模型,公司往往对具体数据保持更严格的保密。
在这里插入图片描述

在这里,我想说明的是,当你深入研究像ChatGPT这样的工具的内部工作原理时,
在这里插入图片描述

你会发现几乎所有的计算过程都体现为矩阵和向量的乘积。

在这里插入图片描述

在大量的数字中很容易迷失方向,
在这里插入图片描述

但你需要在脑海中清楚地区分两个概念:模型的权重(我用蓝色或红色表示)和你正在处理的数据(我用灰色表示)。
在这里插入图片描述

权重是模型的"大脑"。
这些是在训练期间学习的,它们决定了模型的行为模式。
在这里插入图片描述

正在处理的数据只是对模型在一次操作中接收的特定输入进行编码,例如一段文本。
在这里插入图片描述

记住上面的基础知识,让我们探索文本处理示例的第一步:将输入分割成小片段并将这些片段转换为向量。
在这里插入图片描述

我之前提到过,这些小片段被称为tokens,它们可能是单词的一部分或标点符号,但在本章中,特别是在下一章中,我倾向于简化理解,假设它们对应于完整的单词。
因为我们人类是用词来思考的,通过参考小例子并解释每一步,我们可以让这个过程更容易理解。

在这里插入图片描述

该模型预设了一个包含所有可能单词的词汇表,比如说有50000个。
在这里插入图片描述

我们要遇到的第一个矩阵称为嵌入矩阵(embedding matrix),它为每个单词分配了一个单独的列。
在这里插入图片描述

这些列定义了第一步中每个单词转换成的向量。
在这里插入图片描述

我们称之为 W E W_E WE,就像我们看到的所有其他矩阵一样,
在这里插入图片描述

它的初始值是随机的,
在这里插入图片描述

但会根据数据进行学习和调整。
在这里插入图片描述

在Transformer出现之前,将单词转换为向量的做法在机器学习中已经很普遍,

虽然对于第一次接触的用户来说这可能看起来很奇怪,但它为接下来的一切奠定了基础,所以需要花一些时间来熟悉它。
在这里插入图片描述

我们通常将这种转换称为词嵌入(word embedding),它是一种表示,允许你从几何角度理解这些向量,将它们视为高维空间中的点。
在这里插入图片描述

将三个数字视为三维空间中的坐标很容易,但词向量的维度远远超过这个数量。
在GPT-3中,它们有惊人的12288个维度,正如你所看到的,选择一个有很多不同方向的空间来工作是很重要的。

在这里插入图片描述

就像你可以在三维空间中选择一个二维切片,并将所有点投影到这个切片上一样,为了使一个简单模型输出的词向量能够动态显示,
在这里插入图片描述

我采取了类似的方法,在高维空间中选择一个三维"切片",并将词向量映射到这个切片上进行显示。
在这里插入图片描述

这里的关键思想是,模型在训练过程中调整和微调权重,以确定单词如何具体嵌入为向量,并且它倾向于找到一组嵌入,使得这个空间中的方向具有特定的语义含义。
在这里插入图片描述

对于到目前为止我运行的这个简单的词向量模型,如果我搜索并找到与"tower"最相似的所有词向量,你会发现它们都有类似的"tower感"。
如果你想在家用Python试一试,这就是我用来制作动画的模型。
虽然它不是一个Transformer模型,但它足以说明空间中的方向能够传达特定的语义这一点。

在这里插入图片描述

一个经典的例子是,如果你计算"woman"和"man"向量之间的差异,你会发现这个差异可以可视化为连接一个词的尖端到另一个词的尖端的空间中的一个小向量,而这个差异与"king"和"queen"之间的差异非常相似。
在这里插入图片描述

因此,假设你不知道表示"女性君主"的词,你可以通过将"woman减去man"的方向加到"king"向量上,并搜索最接近该点的词向量来找到它。
至少在理论上是这样。
在这里插入图片描述

虽然这是我正在研究的模型的一个经典例子,但真正的"queen"嵌入实际上比这种方法可能设想的要远一些,
在这里插入图片描述

可能是因为在训练数据中,"queen"不仅仅是"king"的女性版本。
在这里插入图片描述

当我深入研究时,我发现似乎用家庭关系来解释这种现象更合适。
在这里插入图片描述

关键是,在训练过程中,模型发现采用这种嵌入方法更有利,即空间中的一个方向可以编码性别信息。
在这里插入图片描述

另一个例子是,如果你用意大利的向量表示减去德国的向量表示,再加上希特勒的向量表示,结果非常接近墨索里尼的向量表示。
在这里插入图片描述

就好像模型学会了将某些方向与"意大利"特征相关联,
在这里插入图片描述

而将其他方向与二战轴心国领导人相关联。
在这里插入图片描述

我个人最喜欢的一个例子是,在某些模型中,如果你计算"德国"和"日本"向量之间的差异,然后加上"寿司"的向量,你会得到一个非常接近"德国香肠"的结果。
在这里插入图片描述

此外,在搜索最近邻的过程中,我惊喜地发现"猫"与"野兽"和"怪物"非常接近。
在这里插入图片描述

一个有用的数学概念,特别是对于接下来的章节,是两个向量的点积
在这里插入图片描述

可以被看作是衡量它们是否对齐的一种方式。
在这里插入图片描述

从计算的角度来看,点积涉及将对应的元素逐一相乘,然后求和,这很好,因为我们的很多计算看起来都像是权重的总和。
在这里插入图片描述

从几何的角度来看,当两个向量指向相似的方向时,点积为正;
在这里插入图片描述

如果它们垂直,点积为零;
在这里插入图片描述

当它们指向相反的方向时,点积为负。
在这里插入图片描述

例如,假设你正在测试这个模型,通过从"cats"的向量表示中减去"cats"的向量表示。
有可能在这个空间中找到代表复数概念的方向。
在这里插入图片描述

为了测试这一点,我将计算一些特定单数名词的嵌入向量的点积,并将其与相应复数名词的点积进行比较。
在这里插入图片描述

如果你尝试一下,你会发现复数名词的点积通常高于单数名词,这表明它们在某个方向上更紧密地对齐。
在这里插入图片描述

更有趣的是,如果你将这个点积应用于像"one"、“two”、"three"等词的嵌入,你可以看到结果值逐渐增加,就像我们可以定量地衡量模型认为一个词有多"复数"一样。

参考

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

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

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

相关文章

图像处理:乘法滤波器(Multiplying Filter)和逆FFT位移

一、乘法滤波器(Multiplying Filter) 乘法滤波器是一种以像素值为权重的滤波器,它通过将滤波器的权重与图像的像素值相乘,来获得滤波后的像素值。具体地,假设乘法滤波器的权重为h(i,j),图像的像素值为f(m,…

【氮化镓】GaN器件在航天器高可靠正向转换器中应用

文章是发表在《IEEE Journal of Emerging and Selected Topics in Power Electronics》2022年10月第10卷第5期上的一篇关于GaN(氮化镓)器件在航天器高可靠性正向转换器中应用的研究。文章的作者是匹兹堡大学电气与计算机工程系的Aidan Phillips, Thomas Cook和Brandon M. Gra…

code-server容器webpack的ws无法连接解决方法

TLDR 通过指定client的wsrul去连接ws devServer.client.webSocketURL ‘wss://<Forwarded uri>/ws’ 拓扑 1、code-server: 用于编写代码、启动webpack dev-server 服务&#xff1b;[https://<domain>:8001] 2、webpack: 用于浏览dev-server服务&#xff1b;[ht…

【计算机网络】网络层总结

目录 知识梗概 IP地址 子网划分 IP包头格式 路由 网络层协议 ARP病毒/ARP欺骗 知识梗概 IP地址 IP相关介绍&#xff1a;机器之间需要交流&#xff0c;必须要一个地址才能找到对应的主机&#xff0c;IP地址是主机的一种表示&#xff0c;保证主机之间的正常通信&#xff…

农牧渔农业信息网整站源码优化版

下载地址&#xff1a;农牧渔农业信息网整站源码优化版.zip 适合做农产品、农业物资、农活用人信息平台

记录一次恢复假卡750ti的过程

有一张卡&#xff0c;一直上不了144hz我就很纳闷&#xff0c;下载了一个gpuz查看了一下 了解了一下gf116是550ti或者gts450.我到挺希望他是550ti的。 很坑

【STM32F407+CUBEMX+FreeRTOS+lwIP netconn UDP TCP记录】

STM32F407CUBEMXFreeRTOSlwIP netconn UDP TCP记录 注意UDPUDP1UDP2 TCPTCP clientTCP server图片 注意 1、超时 #include “lwipopts.h” #define LWIP_SO_RCVTIMEO 12、先保证能ping通 3、关于工程创建可参考 【STM32F407CUBEMXFreeRTOSlwIP之UDP记录】 4、…

NLP 笔记:TF-IDF

TF-IDF&#xff08;Term Frequency-Inverse Document Frequency&#xff0c;词频-逆文档频率&#xff09;是一种用于信息检索和文本挖掘的统计方法&#xff0c;用来评估一个词在一组文档中的重要性。TF-IDF的基本思想是&#xff0c;如果某个词在一篇文档中出现频率高&#xff0…

使用Python的Tkinter库创建你的第一个桌面应用程序

文章目录 准备工作创建窗口和按钮代码解释运行你的应用程序结论 在本教程中&#xff0c;我们将介绍如何使用Python的Tkinter库创建一个简单的桌面应用程序。我们将会创建一个包含一个按钮的窗口&#xff0c;点击按钮时会在窗口上显示一条消息。 准备工作 首先&#xff0c;确保…

图片懒加载:提升网页性能的秘诀

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

Python-Socket编程实现tcp-udp通信

本文章是记录我准备大创项目时学的socket编程的用法&#xff0c;纯属记录生活&#xff0c;没有教学意义&#xff0c;视频我是看b站up主王铭东学的&#xff0c;讲的很详细&#xff0c;我只粗略学了个大概&#xff0c;我想要通过tcp&#xff0c;udp传输yolo目标检测中的物体坐标信…

QT:按钮类控件

文章目录 PushButton快捷键Radio Buttion PushButton 这个类继承自QAbstractButton&#xff0c;是所有按钮的父类 创建一个带有图标的按钮&#xff1a; 假设这个图片是这个 那么我们就可以创建按钮并进行设置了&#xff1a; #include "widget.h" #include "u…

net lambda 、 匿名函数 以及集合(实现IEnumerable的 如数组 、list等)

匿名函数&#xff1a;》》》 Action a1 delegate(int i) { Console.WriteLine(i); }; Lambda:>>> Aciont a1 (int i) > { Console.WriteLine(i); }; 可以简写 &#xff08;编译器会自动根据委托类型 推断&#xff09; Action a1 &#xff08;i&#xff09;> {…

图像处理的一些操作(1)

图像处理 1.安装PIL&#xff0c;skimage库1.1导入skimage库中的oi模块和data模块 2.读取图像文件2.1读取图像文件2.2 以灰度模式读取图像2.3 查看示例图像的目录路径2.4 读取chelsea图片2.5 加载示例图片并保存2.6 获得加载图片的信息2.6.1 输出图片类型2.6.2 输出图片尺寸2.6.…

linux 光驱(光盘)安装

文章目录 自带 YUM 库创建 repo创建文件夹挂载光驱开机自启动挂载安装软件YUM 安装RPM 安装 自带 YUM 库 ls /etc/yum.repos.d创建 repo vim /etc/yum.repo.d/demo.repo // 编写 repo 相关配置 [demo] namedemo baseurlfile:///mnt/cdrom gpkcheck0创建文件夹挂载光驱 /dev/…

黑马点评项目个人笔记+项目优化调整

博客须知 本篇博客内容来源与黑马点评项目实战篇-16.用户签到-实现签到功能_哔哩哔哩_bilibili&#xff0c;作者对视频内容进行了整合&#xff0c;由于记笔记时图片使用的是本地路径&#xff0c;所以导致博客的图片无法正常显示&#xff0c;如果有图片需求可以下载上方的pdf须…

【介绍下大数据组件之Storm】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

树莓派点亮LED灯

简介 使用GPIO Zero library 的 Python库实现点亮LED灯。接线 树莓派引脚参考图如下&#xff1a; LED正极 接GPIO17 LED负极 接GND 权限 将你的用户加到gpio组中&#xff0c; 否则无法控制GPIO sudo usermod -a -G gpio 代码 from gpiozero import LED from time impor…

PhpAdmin-getshell

PhpAdmin-getshell 通过未授权成功写入&#xff0c;然后getshell 路径&#xff1a;C:\phpstudy_pro\Extensions\MySQL5.7.26\ 写入木马&#xff1a; into写入文件&#xff1a; 使用需看要secure_file_priv的值。 当value为“null”时&#xff0c;不允许读取任意文件 当value为…

VS Code工具将json数据格式化

诉求&#xff1a;json数据格式化应该在工作中用到的地方特别多&#xff0c;为了更方便、更仔细的对json数据查看&#xff0c;将json数据格式化是非常有必要的。 VS Code中如何将json数据快速格式化 1、在VS Code中安装Beautify JSON插件 2、安装完后在需要格式化的文件中按住…