K3 七天课 · Day 2 / 7 课程首页 自测题 映射 K3
Day 2 · 注意力机制:全班一起开「讨论会」

AI 是怎么「看完整段话」再开口的?

昨天学会了:AI 每说一个字,都在做「接龙」。但这里有个大问题——它接龙的时候,怎么知道该看前面的哪个词?今天这一篇,就是 AI 大脑里最重要的一台机器:注意力。

学完你能回答
为什么 AI 不能只看上一个词就接龙?
学完你能回答
「注意力」到底在算什么账?
学完你能回答
为什么词的顺序很重要?K3 怎么处理?

0起点:这些你早就会了

今天要讲的「注意力」,说穿了就是一件你每天都在做的事:听人说话时,抓重点。先看对照表——没有一项超出高中课堂:

你已经会的AI 世界里对应的东西
全班讨论:发言前先听听别人怎么说注意力:每个词「发言」前,先听一遍其他所有词,按相关程度取重点
上课提问:你问一个问题,觉得某个同学答得最对Q / K / V:提问(谁答最相关)→ 亮名片(每个词的身份)→ 听内容(按相关度取重点)
语文课:这句话里的「它」指的是谁?要回头看前一句指代:AI 填「很甜」的空,线索可能藏在 5 个词之前——必须能「回头看」
广播体操:每个人站在固定位置,号一喊就有队形位置信息:同样的词换顺序意思就变,AI 必须知道谁在第几号位
一场班会开不完,要从纪律、卫生、学习几个角度分别讨论多头注意力:不只开一场会,而是好几场「分会」同时开,最后汇总
开会时一边听一边记笔记,重点记下来,不用抄全文KDA(K3 的独门笔记法):Day 3 的主角,今天先混个脸熟

看到没?注意力一点都不神秘——它就是「抓重点」。今天剩下的时间,把「抓重点」这件事讲具体。

1问题:AI 接龙时,只看上一个词够吗?

先做个实验。读这句话:

「小明把苹果递给小红,因为_很甜。」

这个空,该填什么?正常人会填「苹果」。可你注意一下:「苹果」在空位前面 5 个词远的地方,紧挨着空位的词反而是「小红」。

如果 AI 真的只看上一个词就接龙,它会填「小红」——「小红很甜」?说不通。要填对,AI 必须有能力「回头看」整句话,在 5 个词之外找到那个真正相关的词。

指代问题:答案线索在 5 个词之前 句子「小明把苹果递给小红,因为_很甜」,空位要填的词是前面第 3 个位置的苹果 AI 要填的空,线索却在前面 5 个词 小明 把 苹果 递给 小红 , 因为 _ 线索在这里——隔了 5 个词! 只看上一个词 → 会填「小红」——说不通 ❌ 看完整句话 → 会填「苹果」——对了 ✅
图 1 · 为什么要「回头看」:「_很甜」的答案线索「苹果」在 5 个词之外。只看上一个词,AI 会填出「小红很甜」这种病句。所以 AI 必须能同时看见整句话,并且知道哪个词跟自己最相关——这就是注意力的用武之地。
打个比方
就像老师提问时,你脑子里会快速过一遍刚学的整段课文,找到跟问题最相关的那一句——你不会只看课本最后一行就作答。AI 的「整段课文」,就叫它的上下文;「找到最相关的那一句」,就是注意力。
进阶小注 ·这就是自回归模型的「条件」范围问题。早期 N-gram 模型只条件于最近 k 个词,指代长距离时无能为力;Transformer 让每个位置对全部历史位置做注意力,一举解决长距离依赖。注意力的输出仍是一个与输入等长的序列,不会破坏「逐字接龙」的框架。

2核心直觉:每个词发言前,先「听全班怎么说」

那注意力具体怎么「回头看」?把它想象成一场全班讨论会:句子里的每一个词,都是一位同学。轮到谁发言时,它先不急着说,而是听一遍所有同学的话,掂量掂量谁跟自己的话题最相关,然后按相关程度,把大家的话「加权汇总」到自己心里,再决定自己说什么。

拿上句里的「递给」举例。它要发言,得先搞清楚一个问题:谁递给谁?于是它听全班说——结果发现:「小明」跟「发出动作」最相关(0.45),「苹果」跟「被递的东西」很相关(0.35),「把」「小红」关系不大(各 0.10)。它心里就有了数。

注意力:中心词听取所有其他词并按相关度加权 「递给」听全班:小明 0.45、苹果 0.35、把 0.10、小红 0.10,权重合计约 100% 每个词发言前,先「听」全班,按相关度取重点 小明 把 苹果 小红 递给 0.45 0.10 0.35 0.10 权重 = 相关度:小明 0.45 + 苹果 0.35 + 把 0.10 + 小红 0.10 ≈ 100%
图 2 · 注意力的「加权汇总」:「递给」把全班的话按相关度加权——线越粗,权重越高。相关度最高的是「小明」(谁的动作)和「苹果」(被递的东西)。这些权重不是人定的,是 AI 在训练里自己学出来的。
三个要记住的点:
① 每个词都要给其他所有词打分(相关度),分数合计 = 100%;
② 打高分词的「内容」在最终理解里占的份量大——这就是加权汇总;
③ 「谁和谁相关」是 AI 从海量文章里自己学出来的,没有任何人手工标注。
进阶小注 ·注意力的数学就是 Attention(Q,K,V) = softmax(QKᵀ/√d_k)V:Q 与所有 K 做内积得到原始分,除以 √d_k 稳定方差,softmax 归一化成权重(即图 2 里的百分比),再对 V 加权求和。「听全班」= 对整行历史位置做这个运算。

3一次「听讲」的完整流程:提问、亮名片、听发言

加权汇总具体是怎么做到的?把它拆成四步,每一步你都在课堂上见过:

注意力四步:提问、亮名片、比对打分、听发言 Q 当前词提问;K 每个词亮出身份标签;Q 与 K 比对打分;按分数对 V 加权汇总 一个词要「听明白」,走四步 ① 提问(Q) 「递给」心里冒出一个问题:谁在发出动作? ② 亮名片(K) 每个词举起「身份标签」:小明 = 人名,苹果 = 物品…… ③ 比对打分 拿「问题」跟每张名片比对:越相关,分越高 ④ 听发言(V) 按分数高低听每个人的「内容」,加权汇总 → 得出答案
图 3 · 一次「听讲」的四步:提问 → 亮名片 → 比对打分 → 按分听发言。注意看:「提问」和「名片」是用来算分的,真正被汇总的是「发言内容」——分数只是个「音量旋钮」,决定谁的话被放大、谁的话被压低。
打个比方
就像辩论赛:正方二辩先听清辩题(提问),再看每位辩手立的是什么论点(名片),判断「谁的论点和我的反驳最相关」(打分),最后把最相关辩手的话记下来用(听发言)。一场辩论下来,你不会记住所有人的话,只会重点记住相关的那几句。
进阶小注 ·Q、K、V 分别是三个可学习的投影矩阵 W_q, W_k, W_v 对隐藏状态做线性变换得到(Query / Key / Value)。「名片」K 决定了「被谁关注」,「提问」Q 决定了「关注谁」,V 才是真正被加权的内容。三者各司其职,是注意力里最该记住的结构。

4顺序很重要:AI 也得知道「谁在第几号位」

注意力的打分只看「词和词的相关度」——但有个坑:它分不清「猫追狗」和「狗追猫」。这两个句子用的词一模一样,只是顺序反了,意思却完全相反。如果 AI 只把句子当成「一袋子词」,它就永远分不清谁在追谁。

顺序很重要:猫追狗 vs 狗追猫 同样的词不同顺序意思相反,AI 需要位置信息才能区分 同样的词,顺序一变,意思就反了 ① ② ③ 猫 追 狗 「猫」在 1 号位 → 猫在追 ① ② ③ 狗 追 猫 「狗」在 1 号位 → 狗在追 如果只把它们当「一袋子词」,AI 分不清谁追谁 → 必须给每个词发「座位号」
图 4 · 座位号(位置编码):「猫」和「狗」本身没变,变的只是座位号。AI 必须把「词义」和「位置」两样信息都算进去,才能分清谁在追谁。给每个词发座位号的技术,叫位置编码——几乎所有主流 AI 都用它。

但这里有个有意思的例外,提前剧透给你:K3 不用显式座位号。报告原文说,K3 靠它自己的「记笔记式注意力」(KDA)里的一个衰减机制,隐式地记住词的位置(报告 §2.1.2 和 §3.4 用的术语叫 NoPE)。好处是:把窗口一路拉到 100 万 token,也不用改动位置编码——这正是 K3 能接 100 万 token 长文的条件之一。今天先记住这个结论,机制 Day 3 讲透。

进阶小注 ·常见位置编码:绝对位置嵌入、以及旋转位置编码 RoPE(把位置信息乘进 Q/K 的旋转矩阵,主流模型标配)。K3 用 NoPE(No Position Encoding),靠 KDA 的循环门控与衰减隐式编码位置——这也是它上下文外推不用做 RoPE 重缩放(YaRN 等)的原因。

5一场会不够:好几场「分会」同时开

一句话里要抓的「重点」其实不止一种。还是「小明把苹果递给小红」——这句话里,既有「谁的动作」这种语法问题,又有「苹果」和「递给」的语义搭配,还有整句话在讲什么的主题。一场讨论会顾不过来,所以 AI 的办法是:同时开好几场会,每场各管一个角度,最后把几场的结果拼起来。

多头注意力:多场讨论会同时进行,各自关注不同角度 语法会关注动作发出者,指代会关注代词指谁,主题会关注句子主题,最后结果拼接 不是一场会,是好几场「分会」同时开 语法会 谁的动作? 小明 把 苹果 递给 关注:小明 指代会 「它」指谁? 它 跑 得 快 关注:往回找 主题会 整句讲什么? 他 在 看 书 关注:全局 几场会的结论 → 拼在一起 → 每个词都得到「立体」的理解
图 5 · 多头注意力:「语法会」盯动作发出者、「指代会」盯代词指谁、「主题会」盯整句主题……几场会同时开、各管一摊,最后把结果拼起来。一个词在 AI 里的「理解」,其实是好几场会结论的合体。
进阶小注 ·这就是 Multi-Head Attention:把隐藏状态投影成 h 组 Q/K/V(每组叫一个 head,维度 d/h),h 个头并行做注意力,输出拼接后再线性投影。不同头在训练中会自发分化出不同的「关注偏好」——有的管语法、有的管指代,与图 5 的三个比喻对应。

6上下文:AI 一次能「听」多长的发言?

注意力让每个词能「回头看」其他词——但能看多远?答案是:看模型允许看多长,就叫多长。这个「允许看多长」的长度,专业名词叫上下文窗口(context window),通俗说就是 AI 的「听力范围」。

回想 Day 1 的数字:K3 的上下文窗口是 100 万 token——约等于一整部《红楼梦》从头读到尾的量。为什么别的模型窗口一大就慢、就贵,K3 却能做到 100 万?这就要说到「注意力是要花钱的」:每个词都要跟窗口里所有词打分,窗口越长,打分次数越多,内存和算力都跟着涨。K3 怎么把这笔账省下来——就是明天的主题。

今天最重要的一个词 上下文(context):AI 在接龙时能「回头看」的全部内容。它的长度上限 = 上下文窗口。你以后读任何 AI 文章看到「256K」「1M 上下文」这类说法,说的就是 AI 一次能听多长的发言——K3 是 100 万 token。
进阶小注 ·朴素全量注意力的时间复杂度是 O(L²)(L = 序列长度),空间上要存 L 个位置的 K/V。这就是「窗口越大越贵」的数学来源。如何把 O(L²) 打下来、把 K/V 缓存省下来,是 KDA、KV Cache 这些设计的出发点——Day 3 的主角。

7映射到 K3:它的注意力是「双轨」的

注意力是 AI 的「看」。K3 在这件事上玩了个花样:它有两套「看」的机制,混着用——因为两套各有各的脾气,一套省地方但记不全,一套记得全但费地方。

K3 混合注意力:3 层 KDA + 1 层 MLA 循环 K3 骨干每 4 层一个循环:3 层 KDA(线性注意力,记笔记式)+ 1 层 Gated MLA(全局注意力,全记录式) K3 的注意力:两套机制「混着用」 KDA KDA KDA MLA KDA KDA KDA MLA 每 4 层一个循环:3 层 KDA(记笔记)+ 1 层 MLA(全记录),全网络重复 KDA · 记笔记式 边读边把重点写进「小本子」,省地方 MLA · 全记录式 把前面所有话都记下来,记得全但费地方
图 6 · K3 的双轨注意力:蓝色 = KDA(记笔记式,Day 3 的主角),珊瑚色 = MLA(全记录式,今天讲的经典注意力)。K3 用 3:1 的比例混合——大部分层用省地方的 KDA,隔几层插一层 MLA 来「查漏补缺」。
K3 原文(§2.1 混合注意力)
「Kimi K3 采用线性注意力与全局注意力的逐层混合,将 KDA 与 Gated MLA 结合。每个块包含 3 个 KDA 层,其后接 1 个 Gated MLA 层,混合比例为 3:1。」

逐词翻译(今天你已经能读懂大半了):

  • 线性注意力 / KDA:今天的「全班讨论」+ 昨天剧透的「记笔记」——一边听一边把重点压缩进一个小本子,不用抄下每个人的原话。省地方、省算力,适合铺满大多数层。
  • 全局注意力 / Gated MLA:就是今天讲的经典注意力——每个词跟窗口里所有词挨个打分。记得全,但费地方,所以只占少数层。
  • 3 : 1:每 4 层里,3 层记笔记(KDA)+ 1 层全记录(MLA)。一个省钱一个保底,搭配起来:又省又能看 100 万 token。
3 : 1
每 4 层注意力里
3 层 KDA + 1 层 MLA
2 种
两套「看」的机制
混着用、互相补
1M
上下文窗口 100 万
token(听力范围)
NoPE
不显式发「座位号」
靠 KDA 隐式记住位置

为什么混着用能省钱?打个比方:开会记纪要,聪明的做法是——大部分时间只记重点(KDA),但每隔几轮,让速记员把全场原话完整录一遍(MLA)校对一下有没有漏掉关键细节。全程只抄原话会累死,全程只记重点又怕漏——3:1 混搭,两边的好处都拿到了。

一句话总结今天的 K3 印象 注意力 = AI 的「抓重点」。K3 把「抓重点」升级成了双轨制:大部分层用记笔记式的 KDA(省地方),隔几层插一层全记录式的 MLA(保底),比例 3:1——这正是它「又省又能记住 100 万字」的地基。KDA 怎么记笔记、为什么省地方,就是明天的课。

8自测题(先自己答,再点开看解析)

Q1为什么 AI 接龙时不能只看上一个词?
因为答案的线索常常藏在很远的词那里。「小明把苹果递给小红,因为_很甜」——只看上一个词会填「小红」(小红很甜?说不通),必须「回头看」到 5 个词之外的「苹果」才能填对。所以 AI 要能同时看见整句话,并对每个词「抓重点」。
Q2「注意力权重」是什么?它加起来等于多少?
注意力权重 = 当前词和其他每个词的相关度打分,所有分数的总和约等于 100%。打高分词的「内容」在最终理解里占的份量大(加权汇总)。这些分数不是人标的,是 AI 从海量文章里自己学出来的。
Q3用「提问 / 名片 / 发言」打比方,说说 Q、K、V 各自干什么?
Q(提问):当前词心里的问题——「谁跟我相关?」K(名片):每个词亮出的身份标签——「我是谁」。把问题和名片比对就得到相关度分数。V(发言):每个词要说的实际内容——按分数加权汇总,得出当前词的新理解。记住:Q 和 K 用来算分,V 才是真正被汇总的内容。
Q4为什么词的顺序很重要?K3 是怎么处理顺序的?
「猫追狗」和「狗追猫」用词完全相同,顺序一换意思就反了——如果 AI 只把它们当「一袋子词」就分不清谁在追谁,所以必须知道每个词的位置。主流 AI 用「座位号」(位置编码),K3 是个例外:它不显式发座位号(NoPE),而是靠 KDA 里的衰减机制隐式记住位置,好处是不用为位置编码费内存、上下文想拉多长拉多长。
Q5K3 的「3:1 混合注意力」是什么意思?为什么要混?
K3 每 4 层注意力里,3 层是 KDA(记笔记式,省地方)+ 1 层是 MLA(全记录式,记得全),全网络重复。KDA 负责省钱省算力(这是它能看 100 万 token 的关键),MLA 负责「保底」,每隔几层完整回顾一遍,防止只记重点漏掉关键细节。一个省钱一个保底,3:1 混搭两边好处都拿到。
返回课程首页 · 本课程基于《Kimi K3 技术报告》编写,概念图均为原创示意