注意力机制是什么?AI 怎么决定「该看哪里」:Q、K、V 一次讲明白(2026入门)

微调一个模型之前,有个词你肯定绕不开:注意力机制(Attention)。2017 年谷歌那篇论文标题就叫《Attention Is All You Need》,今天所有大模型的地基 Transformer,核心就是它。之前写Transformer 入门的时候,注意力只是带过了一句,这篇把它单独拆开讲。

这篇文章只做一件事:用一间教室的比喻,把「AI 怎么决定该看哪里」讲清楚。看完你会明白三个词:Q、K、V,以及论文标题里那个 All。

先从一个翻译任务看起

把这句英文喂给模型翻译成中文:

「The animal didn't cross the street because it was too tired.」

这里的 it 指什么?是人、是街道,还是那只动物?人类一眼就知道是动物,因为「太累了走不动」的只能是动物。但模型处理每个词的时候,是一个一个读进去的,读到 it 的时候,它需要回头把整句话再扫一遍,判断哪些词跟 it 关系最大。animal 这个词权重最高,street 次之。

这个「回头看、按关系分配注意力」的动作,就是注意力机制干的事。它让模型在处理每一个词时,都能参考句子里所有其他的词,并且知道该重点看谁。

Q、K、V:一间教室的比喻

注意力机制里每个词会扮演三个角色,论文里叫 Query(查询)、Key(键)、Value(值)。直接看定义很抽象,换个场景就好懂了。

想象教室里在玩一个提问游戏:

  • Query(查询):你手里的提问纸条,「谁的描述跟『累』有关系?」这是你想查的东西。
  • Key(键):每个同学桌上的标签牌,写着自己擅长什么,比如「动物」「街道」「过马路」。这是别人暴露出来的索引。
  • Value(值):每个同学真正知道的内容本身。

你(it 这个词)拿着 Query,跟全班的 Key 一一比对,越匹配的,拿到越高的「关注比例」,然后按比例把大家的 Value 汇总过来。animal 的 Key 跟你的 Query 最匹配,所以它的内容占了你的大头。

一句话总结:Query 是我在找什么,Key 是我是什么,Value 是我有什么。三者都是从同一个词的向量变出来的,只是用了三组不同的参数。

分是怎么算的:一遍过流程

把比喻放回数学,整个过程就四步,所有大模型推理时每层都在跑:

  1. 每个词的向量分别乘上三组参数矩阵,得到 Q、K、V 三份向量。
  2. 拿一个词的 Q,跟所有词的 K 做点积,得到一堆分数,分越高代表关系越近。
  3. 分数除以一个固定的缩放值,再过一遍 softmax,变成加起来等于 1 的百分比。
  4. 按这个百分比,把所有词的 V 加权求和,得到这个词的新表示。

注意第 3 步,softmax 把分数变成百分比,所以注意力的本质是按比例混合,不是非此即彼的选择。it 的新表示可能是 70% 的 animal 加 20% 的 tired 加 10% 的其他词。这个百分比就是很多人说的「注意力权重」。

对每个词都做一遍上面的流程,一层注意力就完成了。真实模型有几十层,每层都重新算一遍,越往上层走,词的表示越「懂上下文」。

「注意力就够了」为什么值得写进标题

2017 年 6 月 12 日,Ashish Vaswani 等八位作者提交了论文《Attention Is All You Need》。摘要里有一句话:新架构完全抛弃了循环和卷积,只靠注意力机制(dispensing with recurrence and convolutions entirely)。这句当时听着狂的话,后来被证明是大模型时代的起点。

在它之前,主流的序列模型是 RNN 和 LSTM,它们像人读书一样一个词一个词往后读,读到最后面的时候,前面的内容已经模糊了,而且没法并行计算,训练又慢又贵。注意力机制把「读整句话」变成一次矩阵运算,所有词同时处理,GPU 的算力终于吃得满了。

论文里两个数字可以感受下效果:在 WMT 2014 的英德翻译任务上拿到 28.4 BLEU,比当时的最好成绩高出超过 2 分;英法任务拿到 41.8 BLEU,当时是单模型新高,训练只花了 3.5 天、8 块 GPU。放到今天这是个小数目,但在 2017 年,用更少的算力拿到更好的成绩,这就是「注意力就够了」的底气。

后来的事大家都知道了:GPT、LLaMA、Qwen、DeepSeek,所有你能叫上名的大模型全是 Transformer 架构,全是这套注意力在底层跑。之前讲 KV 缓存、讲多头注意力,根都在这篇文章里。

两个常见的后续问题

上下文窗口和注意力是什么关系?

注意力让模型能参考整句话所有词,但「整句话」的长度是有上限的,这个上限就是上下文窗口。窗口内的词都能参与注意力计算,窗口外的模型根本看不到。这也是为什么长文档中间的内容容易被忽略:窗口太大时,注意力百分比被摊薄,中间词分到的比例很低,这个现象之前在Lost in the Middle 那篇里专门讲过。

多头注意力又是干嘛的?

一组 Q、K、V 只能捕捉一种关系。让模型同时跑几组独立的注意力,每组盯一种模式(有的盯语法,有的盯指代,有的盯位置关系),最后把结果拼起来,这就是多头注意力,细节看之前那篇 3 分钟版本。

记住这一件事就够了

如果只能带走一句话:注意力机制就是每个词拿着自己的问题(Q),去和所有词的标签(K)比对,然后按匹配程度把大家的内容(V)按比例拿过来。模型的「理解」,就是靠这一步一步的比例混合攒出来的。

下一篇如果你想动手跑点什么,可以看看本地部署的路线,从 本地模型和云 API 的选择开始。

发表评论