一起学习:大型语言模型(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"这篇原始论文是一个很好的起点。祝你学习愉快!

相关推荐
Elastic 中国社区官方博客18 分钟前
使用 Elastic AI Assistant for Search 和 Azure OpenAI 实现从 0 到 60 的转变
大数据·人工智能·elasticsearch·microsoft·搜索引擎·ai·azure
江_小_白1 小时前
自动驾驶之激光雷达
人工智能·机器学习·自动驾驶
yusaisai大鱼3 小时前
TensorFlow如何调用GPU?
人工智能·tensorflow
珠海新立电子科技有限公司5 小时前
FPC柔性线路板与智能生活的融合
人工智能·生活·制造
IT古董5 小时前
【机器学习】机器学习中用到的高等数学知识-8. 图论 (Graph Theory)
人工智能·机器学习·图论
曼城周杰伦5 小时前
自然语言处理:第六十三章 阿里Qwen2 & 2.5系列
人工智能·阿里云·语言模型·自然语言处理·chatgpt·nlp·gpt-3
余炜yw6 小时前
【LSTM实战】跨越千年,赋诗成文:用LSTM重现唐诗的韵律与情感
人工智能·rnn·深度学习
莫叫石榴姐6 小时前
数据科学与SQL:组距分组分析 | 区间分布问题
大数据·人工智能·sql·深度学习·算法·机器学习·数据挖掘
如若1237 小时前
利用 `OpenCV` 和 `Matplotlib` 库进行图像读取、颜色空间转换、掩膜创建、颜色替换
人工智能·opencv·matplotlib
YRr YRr7 小时前
深度学习:神经网络中的损失函数的使用
人工智能·深度学习·神经网络