一起学习:大型语言模型(LLM)中的QKV(Query, Key, Value)和多头注意力机制

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行! 订阅:https://rengongzhineng.io/

在自然语言处理(NLP)领域,大型语言模型(LLM),比如GPT-3和BERT,彻底改变了机器理解和生成人类语言的方式。这些模型的核心理念是QKV(Query、Key、Value)和多头注意力机制。一开始听起来很神秘,我也花了几周时间才弄明白。

以下是论文中的解释。

查询(Q): 代表模型当前关注的项目。 在序列中,查询就像对特定元素提出问题。 键(K): 代表序列中模型可能关注的所有项目。 键是查询用来比较的对象,以确定应该给予多少注意力。 值(V): 每个键都与一个值相关联。 一旦模型确定了哪些键是重要的(基于查询),就会使用相应的值来构建输出。 嗯,这还是有点难以理解。我们来看个例子。

对我们来说,“Tom is going to fish at the river bank”这句话很容易理解。为了让计算机理解它,我们需要将每个词编码成数字,这叫做词嵌入。假设在一个简单的六维空间中,单词“River”可以表示为词嵌入[-0.9, 0.9,-0.2, 0.4, 0.2, 0.6]。那些“相似度”较高的词会彼此靠近。例如,第1组)River、Fish和Fishman,第2组)Hospital、PostOffice和Restaurant。当我们尝试确定“Bank”这个词的位置时,就变得有趣了。它是一个多义词,可以根据所在句子的上下文有不同的解释。它应该更接近第1组还是第2组呢?

现在,我们再看看这句话,

Tom is going to fish at the river bank.

当我们读到它时,我们知道“bank”不可能是取钱的地方。为什么呢?好吧,单词“River”和“Fish”的存在对我们理解上下文的贡献更大,相比之下其他词的贡献较小。因此,它们应该有较高的注意力分数,并且与“bank”更接近。

计算机如何确定应该更多地关注“River”和“Fish”而不是其他词呢?这就是Q(Query)和K(Key)的用武之地。它们是两种线性变换,帮助回答这个问题:在这个句子中,词语之间的相似度分数是多少?

首先,它们的输入都是相同的输入嵌入(我们先不考虑位置嵌入),假设有6个维度,如下图所示。

输入嵌入 对输入嵌入应用K和Q的线性变换,

输出经过MatMul、Scale、Mask和SoftMax的步骤,得到注意力权重,然后与V进行MatMul。然后我们得到最终输出,即值的加权和,其中权重由每个键与查询匹配的程度决定。因此,与原始嵌入相比,新的嵌入更多地捕捉了上下文关系。

例如,单词“bank”与“bank”、“river”和“fish”有最高的注意力分数。因此,模型会更多地关注这些输入词。

为什么我们要经历这个复杂的QKV转换呢?

如果我们被要求描述图片中的内容,我们的大脑不会从左上角一个像素一个像素地扫描,而是会立即关注场景中最突出的元素,比如画面中的男孩。这个过程既高效又有效,展示了注意力的力量。

如果你把QKV视为一组线性投影,代表所谓的注意力头,那么多头注意力就是拥有多组QKV并将输出串联起来。拥有多个头的好处是,它允许我们找到不同的相似性方面。例如,一个头可能专注于附近的名词,而另一个可能关注动宾关系。回到上面的图片,一个“头”可能检测到男孩,另一个看到球。

这就是QKV和多头注意力的直观解释。如果你想了解它的数学部分,“Attention Is All You Need”这篇原始论文是一个很好的起点。祝你学习愉快!

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

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

相关文章

CentOS最小化安装后怎么转图形界面/可视化桌面?

文章目录 1、命令行和图形界面切换方式一方式二 2、最小化安装转桌面1-设置网络2-测试网络3-更新文件4-安装图形5-查看默认6-设置默认 界面效果参考视频 1、命令行和图形界面切换 如果安装的是最小化,那么init 5 (进入图像化桌面)命令是无效的 方式一 1.如果在命…

基于STM32 HAL库的光电传感器驱动程序实例

本文将使用STM32 HAL库编写一个光电传感器的驱动程序示例。首先,我们会介绍光电传感器的工作原理和应用场景。然后,我们将讲解如何选择合适的STM32芯片和光电传感器组合。接下来,我们会详细介绍使用STM32 HAL库编写光电传感器驱动程序的基本步…

【Rust日报】2023-12-04 slint 成功案例

slint 成功案例 SK Signet是美国领先的电动车充电解决方案提供商,推出了适用于其电动车充电桩的新型HMI(人机界面)。支持15英寸和32英寸触摸屏。 该HMI由Slint制作,为充电站运营商提供了额外的商机。SK Signet经理Sang-Baek Lee表…

【ArcGIS Pro微课1000例】0049:根据坐标快速定位(创建点位)的常见方法

文章目录 一、转到XY1. 闪烁位置2. 平移3. 标记位置二、定位1. 坐标定位2. 添加到图形3. 添加至要素类三、添加XY坐标四、创建点要素一、转到XY 举例:经纬度坐标:113.2583286东, 23.1492340北 。 1. 闪烁位置 输入坐标,点击闪烁位置工具,即可在对应的位置出现一个绿色闪烁…

19、pytest通过mark标记测试函数

官方实例 [pytest] markers slow:marks tests as slow(deselect with -m "not slow")serial# content of test_mark.py import pytestpytest.mark.slow def test_mark_function():print("test_mark_function was invoked")assert 0解读与实操 通过使用p…

同源策略和跨域介绍

浏览器的同源策略阻止读取来自不同来源的资源。这种机制阻止恶意站点读取另一个站点的数据,但它也阻止合法使用。 一般情况下,我们可以通过两种方式解决浏览器的同源策略,JSONP和CORS,CORS解决方案更为通用(推荐)。

生鲜蔬果展示预约小程序作用是什么

线下生鲜蔬果店非常多,对商家来说主要以同城生意为主,而在互联网电商的发展下,更多的商家会选择搭建私域商城进行多渠道的销售卖货和拓展,当然除了直接卖货外,还有产品纯展示或预约订购等需求。 但无论哪种模式&#…

获得矩阵对角线元素的索引 numpy.diag_indices_from()

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 获得矩阵对角线元素的索引 numpy.diag_indices_from() [太阳]选择题 请问关于以下代码的选项表述错误的是? import numpy as np a np.array([[1, 2, 3], [4, 5, 6…

2024年网络安全行业前景和技术自学

很多人不知道网络安全发展前景好吗?学习网络安全能做什么?今天为大家解答下 先说结论,网络安全的前景必然是超级好的 作为一个有丰富Web安全攻防、渗透领域老工程师,之前也写了不少网络安全技术相关的文章,不少读者朋…

虹科Pico汽车示波器 | 汽车免拆检修 | 2018款东风风神AX7车发动机怠速抖动、加速无力

一、故障现象 一辆2018款东风风神AX7车,搭载10UF01发动机,累计行驶里程约为5.3万km。该车因发动机怠速抖动、加速无力及发动机故障灯异常点亮而进厂维修,维修人员用故障检测仪检测,提示气缸3失火;与其他气缸对调点火线…

Kafka 消费者 API 指南:深入探讨消费者的实现与最佳实践

Kafka 消费者 API 是连接应用程序与 Kafka 集群之间的关键接口,用于从 Kafka 主题中拉取消息并进行处理。本篇文章将深入探讨 Kafka 消费者 API 的核心概念、用法,以及一些最佳实践,帮助你构建高效、可靠的消息消费系统。 1. Kafka 消费者 A…

[组合数学]LeetCode:2954:统计感冒序列的数目

作者推荐 [二分查找]LeetCode2040:两个有序数组的第 K 小乘积 题目 给你一个整数 n 和一个下标从 0 开始的整数数组 sick ,数组按 升序 排序。 有 n 位小朋友站成一排,按顺序编号为 0 到 n - 1 。数组 sick 包含一开始得了感冒的小朋友的位置。如果位…

BUU UPLOAD COURSE 1

传一个cmd.php木马文件 访问一下这个图片地址 发现什么都没有,在hackbar里面连接一下我们的木马 然后看到了一些目录 然后直接查看flag就出来了 这里也可以用蚁剑去连接 直接访问地址,拿着地址去连接就行了。

FTP协议(PORT和PASV模式)

目录 FTP协议基本概念 PORT主动模式工作流程 PORT工作过程 PORT工作报文 PASV被动模式工作流程 PASV工作过程 PASV工作报文 FTP协议基本概念 FTP文件传输协议,用于在互联网上进行文件传输,基于C/S架构 FTP的连接模式 FTP采用双TCP连接方式 控制连…

七大经典高效学习方法

金字塔学习模型 金字塔学习是美国学习专家爱德加戴尔1946年提出的。 他将学习分为主动学习和被动学习两种类型,用数字形象地呈现了采用不同学习方式,学习者在两周后还能记住的内容有多少。 被动学习:通过听讲、阅读、视听、演示这些活动&a…

Word使用相关——(待完善)

1.word 怎样删除分节符 2.word 怎样删除目录中的分节符 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我…

基于ssm vue的社区互助平台源码和论文

摘 要 随着社区互助规模的不断扩大,社区互助数量的急剧增加,有关社区互助的各种信息量也在不断成倍增长。面对庞大的信息量,就需要有社区互助管理来提高社区互助管理工作的效率。通过这样的系统,我们可以做到信息的规范管理和快速…

企业级SQL开发:如何审核发布到生产环境的SQL性能

自从上世纪 70 年代数据库开始普及以来,DBA 们就不停地遭遇各种各样的数据库管理难题,其中最为显著的,可能就是日常的开发任务中,研发人员们对于核心库进行变更带来的一系列风险。由于针对数据库的数据变更是一项非常常见的任务&a…

nodejs微信小程序+python+PHP本科生优秀作业交流网站的设计与实现-计算机毕业设计推荐

通过软件的需求分析已经获得了系统的基本功能需求,根据需求,将本科生优秀作业交流网站功能模块主要分为管理员模块。管理员添加系统首页、个人中心、用户管理、作业分类管理、作业分享管理、论坛交流、投诉举报、系统管理等操作。 随着信息化社会的形成…

微软发布Orca2,“调教式”教会小规模大语言模型如何推理!

我们都知道在大多数情况下,语言模型的体量和其推理能力之间存在着正相关的关系:模型越大,其处理复杂任务的能力往往越强。 然而,这并不意味着小型模型就永远无法展现出色的推理性能。最近,奶茶发现了微软的Orca2公开了…