如果你觉得原文太难,从这里开始

从零看懂:GPT-2 到 Kimi K3

这篇不假设你读过论文。我们先用生活类比把「语言模型怎么记事」讲清楚, 再顺着一条线看:为什么要从 GPT-2 走到 Linear、Delta、Gate、KDA,最后到 Kimi K3。

你可以只记住这一句 大模型生成文字时,必须记住前文。 难的不是“会不会算”,而是:记在哪、怎么改、忘不掉时怎么办。 后面所有名词,都在回答这三个问题。
阅读建议
  • 先读 01–05 背景,不要急着跳到 Kimi K3
  • 每章只抓「它解决了什么麻烦」
  • 公式看不懂可以先跳过,类比看懂就算过关
背景 · 必读

01 · 语言模型到底在干什么?

一句话:给定已经出现的文字,猜下一个最可能出现的词

生活类比

像微信输入法联想。你打「今天天气」,它猜「不错 / 很好 / 真差」。 大模型只是把这件事做得极强:上下文更长、更会推理、更会写长文。

所以训练目标很朴素:

看到前文 → 预测下一个 token 的概率分布

它擅长什么

  • 续写、问答、总结、写代码
  • 从大量文本里学到“语言规律 + 世界常识”

它不魔法的地方

  • 本质上是统计预测机器
  • 要“记得住”刚才说过的话,才能答得连贯
为什么“记忆”这么重要 如果你问它:「我叫小明……(中间聊了很久)……我叫什么?」 它必须把前面的“小明”还留在记忆里。 整篇文章的主线,就是各种记忆方案的升级史。
背景 · 必读

02 · Token、向量:模型眼里的文字

Token = 切碎后的文字块

模型通常不按“字/词”原样处理,而把文本切成 token(子词碎片)。 例如 “unhappiness” 可能被切成 un / happi / ness

每个 token 先变成一串数字(向量)

模型不能直接吃汉字。它把每个 token 映射成一个高维向量,比如 768 个数。 这些数没有人类可读含义,但编码了“语义位置”。

类比

像给每个人发一张「身份卡」,上面有很多属性分数:职业倾向、语气、主题…… 后面所有计算,都是在这些身份卡之间做比较和混合。

token:文字碎片 embedding:数字身份证 hidden state:处理后的中间表示
背景 · 最关键

03 · Attention:开会时该听谁说

Attention 不是玄学,就是:当前这个词在决定自己含义时,应该多看前文里的哪些词。

会议室类比(请务必建立这个图景)

现在轮到「它」这个词发言,要理解自己指代谁。 它会环顾前文:

  • Query(问题):我现在想找什么?(“我在找主语”)
  • Key(标签):每个前文词挂的标签(“我是人名/地点/动词”)
  • Value(内容):每个前文词真正可提供的信息

Query 和每个 Key 比对,得到“该听谁”的权重; 再按权重把 Value 混合起来——这就是 attention 的输出。

当前词 Q 对比 前文每个词的 K 权重(听谁更多) 混合各词的 V

Softmax Attention:最经典、也最“贵”的听会方式

经典 Transformer 用 softmax 做权重:每个词都和前面所有词比一遍。 优点是精确;缺点是上下文越长,比较次数越多,像会议室人越来越多。

每个人都要和前面所有人握手 → 成本随长度快速上升
你暂时只需要知道 Softmax attention = 精确但会随长度变贵。 后面的 Linear / Delta / KDA,都在想办法:别让记忆成本跟着长度无限涨。
背景 · 必读

04 · 生成文字时,为什么需要 KV Cache?

模型写长文是一个词一个词蹦的(自回归)。 每写一个新词,都要“回头看”已经写过的内容。

没有缓存

每写一个新词,都把整段历史重新算一遍 Key/Value。 像每开一句新会,就把过去所有会议纪要重抄一次。

有 KV Cache

旧词的 Key/Value 存起来复用。 只算新词,再拿去和缓存里的历史比对。

新麻烦出现了 Cache 会随对话变长而变大。上下文 100 万 token 时,光“记事本”就可能把显存/带宽吃爆。 这就是后文所有创新的起点。

用一张图记住“生成一步在干什么”

1

读入已有文字

或只读最新一个词 + 历史 cache

2

层层 Transformer 处理

注意力(看谁)+ 前馈网络(思考变换)

3

输出下一个词的概率

采样/取最大,写出新词,再循环

背景 · 总纲

05 · 全文只围绕三个问题

后面每个技术名词,都请强行翻译回这三问。

问题人话类比
Store 存 前文记在哪? 是整柜档案,还是一页摘要?
Update 写 新信息怎么写进去? 只往上贴纸条,还是能擦掉重写?
Retrieve 读 需要时怎么精确取回? 摘要丢细节后,去哪翻原件?
总命题(先吞下去) 记忆容量有限时,必须学会选择:写什么、忘什么、读什么。 从 GPT-2 到 Kimi K3,就是把这套“有限记忆管理系统”越做越强。
主线 1

06 · GPT-2:精确档案柜(但会越来越重)

GPT-2(2019)是今天大多数聊天模型的祖型:一层层 “注意力 + 前馈网络”。 记忆方式很直接:把每个历史 token 的 Key/Value 都存着

类比

像图书馆为每一页书都留一张索引卡。 要找东西很准,但书越多,卡片柜越占地方。

优点

  • 精确:几乎不“糊掉”历史细节
  • 实现直观,生态成熟

缺点

  • 记忆随长度线性涨(O(N))
  • 长上下文时带宽/显存压力巨大
Store:完整 KV 档案柜 Update:新词就加一张卡 Retrieve:Softmax 精确检索
规模锚点 GPT-2 大约 1.24 亿参数;文中说的 Kimi K3 大约 2.8 万亿参数,约 22,580 倍。 但后面会看到:这不是简单“把 GPT-2 放大”,而是记忆系统被重做了。
主线 2

07 · Linear Attention:改成固定大小的记事本

人们问:能不能不要为每个历史词都留一张卡, 而是维护一本固定页数的摘要本?

类比

不再保留全部会议录音,而是只维护一页“会议纪要”。 新发言来了,就把纪要更新一下。纪要永远一页,不会越来越厚。

数学上的关键动作(直觉版):

  • 不再让“当前问题”和“每个历史标签”做昂贵的两两比较后归一化
  • 而是把历史折叠进一个固定矩阵 S(可以想成记事本)
  • 读的时候直接拿当前问题去“查这本笔记”
历史 → 压缩进固定状态 S → 用当前问题去读取 S

赚到了

  • 记忆大小几乎不随文本变长而涨
  • 长文本 decode 更省

付出了

  • 细节会糊:很多事实挤在同一页
  • 写新内容时如果只“往上加”,旧内容会互相干扰
新问题:黑板写满了怎么办? 固定记事本很省空间,但当你不断往同一页加字,字会叠在一起。 读的时候就串味了。下一章的 Delta 就是来“擦黑板”的。
主线 3

08 · DeltaNet:记事本终于会“改写”了

Linear 的问题不是“不能记”,而是不太会改: 只会加法堆积,不会把旧事实擦掉换成新事实。

类比

你的通讯录里本来写着「小明电话 123」。 小明换号了,你不该在旁边再写一个 456 然后俩都留着; 你应该:找到“小明”那一行 → 擦掉旧号 → 写上新号。 Delta rule 做的就是这件事。

1

用当前 key 去读旧值

“通讯录里小明现在写的是什么?”

2

算增量:新值 − 旧值

“我真正要改的是哪一部分?”

3

只把增量写回去

相当于定点更新,而不是盲目叠加

之前:只会贴纸条 现在:会擦掉重写
你不需要会推公式 看到公式 S = S(I − βkkᵀ) + βvkᵀ 时,就把它翻译成: 先沿某个方向擦一点,再写入新内容。
还缺点什么 Delta 很会“改一条”,但不太会“整段换场时清空很多旧东西”。 而且训练时如果一步步串行更新,会很慢。所以有了下一章。
主线 4 · 工程章

09 · 并行化:让好想法在 GPU 上跑得动

一个好更新规则如果只能 for-loop 一步步算,训练长文本会哭。 研究者把序列切成块(chunk):

块内:像正常注意力那样精细算 + 块间:把历史压进状态 S
类比

写一本书时,章节内部认真排版; 章节之间只传一份“前情提要”。 既保留局部精度,又避免全书每时每刻都重排。

这一章几乎不增加“智能”,增加的是可训练性 / 硬件友好。 没有它,Delta 只是纸上漂亮公式。

主线 5

10 · Gated Delta:会改,也会忘

真实对话会换话题。你不仅要改某一条事实, 还要在换场时把很多过时信息整体淡化/清掉。

类比

Delta 像“改通讯录某一行”。 Gate(门控衰减)像“给整本旧笔记按一个旋钮调淡”: 旋钮开到 1 = 尽量保留;开到 0 = 近乎清空。

机制像什么擅长不擅长
Delta改某一行定点更新批量清场
Gate(Mamba 味)全局淡化旋钮释放容量、换场所有内容一视同仁
Gated Delta两者结合又能改又能忘旋钮还比较粗
进步点 记忆系统第一次同时具备: content-addressable overwrite(按内容改写) + adaptive forgetting(可调节遗忘)
主线 6

11 · KDA / Kimi Linear:遗忘也要分通道

Gated Delta 只有一个全局旋钮 α,有点粗: 有时你想忘掉“场景细节”,但保留“人物名字”。

KDA(Kimi Delta Attention)把旋钮做成很多个: 不同特征通道可以有不同遗忘速度。

类比

以前只有一个总音量键; 现在变成混音台:人声、鼓点、贝斯可以分别调。 记忆管理更精细了。

Kimi Linear 还不满足只改记忆更新,它开始“混合装配”:

1

多数层用 KDA

便宜、长程、固定状态
2

穿插 MLA(一种更省的精确注意力)

关键时刻去翻“原件/档案”
3

前馈改成 MoE(专家混合)

不是每次所有脑区全开,而是路由到部分专家
为什么要 hybrid(混合) 固定记事本再强,也一定会丢细节。 所以需要偶尔启用更精确的检索层,把关键信息捞回来。
主线 7 · 终点

12 · Kimi K3:四套子系统拼起来的大工程

到 Kimi K3,主线已经不是再发明一个全新 attention 名称, 而是把前面验证过的零件,按功能装进超大规模模型。

零件人话职责对应三问
KDA日常记事的固定本,会改也会分通道忘Store / Update
MLA关键时刻翻更完整的上下文档案Retrieve(序列维)
MoE很多专家,每次只叫一部分来干活算力选择
AttnRes不只看上一层,还能挑着看更早层的结果Retrieve(深度维)
KDA KDA KDA MLA × 很多组
每隔一段:AttnRes 混合更早的深度信息

MoE 只需建立这个直觉

医院分诊

不是每位病人都让全院专家会诊。 前台路由:这个 token 更像内科还是骨科? 只激活若干专家,省算力又保留大模型容量。 K3 还有“永远在场的共享专家 + 按需点名的专家”。

对“22580 倍”的正确理解 参数变多很重要,但更关键的是: 多出来的容量被放在有职责的模块里(记忆更新、精确检索、专家算力、深度选择), 而不是把 2019 年的 GPT-2 结构原样放大。
主线补丁

13 · AttnRes:深度方向也要会挑着读

前面讨论的大多是“时间/序列上的记忆”。 还有另一条轴:模型有很多层,信息像流水线向下传。

传统 residual 基本是把各层输出等权累加往下传。 层数很深时,早期重要信号可能被稀释,而且不同层也没法按需取用。

类比

以前每层只能看“到目前为止的平均会议纪要”; AttnRes 允许它说:我这层更想回看第 3 段和第 7 段的原始讨论。

MLAAttnRes
看哪里前文哪些 token更早哪些层
补什么固定状态丢掉的细节深度传递中的稀释/不可选
一句话横向翻档案纵向翻草稿
收束

14 · 一张总表:每一步到底升级了什么

阶段记忆像什么解决了什么又带来什么新麻烦
GPT-2 Softmax + KV 完整档案柜 精确记住每个词 越聊越占空间
Linear Attention 固定一页纪要 记忆不随长度暴涨 只加不擦,会串味
DeltaNet 可改写的通讯录 定点更新旧事实 不善批量清场;训练难并行
并行 Chunk 分章写作 让训练/prefill 跑得动 本身不增加智能
Gated Delta 可改写 + 总淡化旋钮 会遗忘、会换场 一个旋钮太粗
KDA 分通道混音台 遗忘更细 仍需精确检索补洞
Kimi Linear / K3 纪要 + 档案 + 专家 + 深度回看 把各模块按职责装配 系统复杂,工程要求高
最终一句话 Softmax 给了精确但膨胀的记忆;Linear 把它压成固定状态; Delta 教会改写;Gate 教会遗忘;KDA 把遗忘细化; MLA / MoE / AttnRes 分别在「上下文、算力、深度」三处补回选择能力。 Kimi K3 是有限记忆管理系统的大规模集成,不是 GPT-2 的简单放大。
收束

15 · 常见困惑 FAQ

Q1. 我是不是必须会微积分才能看懂?

不需要。先把“档案柜 / 记事本 / 擦写 / 旋钮 / 专家会诊”这些类比建立起来。 公式只是这些直觉的压缩写法。

Q2. Linear Attention 是不是比 Softmax 更强?

不是单纯更强,是更省、可扩展。它用近似和压缩换效率,常常要配合别的模块补精度。

Q3. Delta、Gate、KDA 有什么关系?

一条升级链: Delta = 会改某一条; Gate = 会整体淡化; Gated Delta = 两者结合; KDA = 淡化旋钮变成很多通道各自可调。

Q4. MLA 和 Attention 是一回事吗?

MLA 仍是注意力家族,但用更省的潜在表示来做(近似)精确检索。 在 hybrid 模型里,它常承担“关键时刻翻原件”的角色。

Q5. MoE 跟记忆有什么关系?

MoE 主要不是记上下文,而是分配算力:参数可以很多,但每次只激活一部分专家。 它和 KDA/MLA 是正交的能力。

Q6. 为什么总提“容量”?

因为任何固定大小记忆都装不下无限历史。 装不下时必须选择:覆盖、遗忘、或者去外部精确检索。 整条研究线都在设计更好的选择策略。

Q7. 我只想有个最小知识地图,记什么?

只记这条: 完整 KV(准但重)→ 固定状态(轻但糊)→ 会改写 → 会遗忘 → 分通道遗忘 → 混合精确检索与专家算力。

收束

16 · 如果你之后想碰论文,怎么读不崩溃

第一周(只建肌肉记忆)

  1. 搞懂 token / embedding / 一层 attention
  2. 手写或跟写一个最小 GPT(可极小)
  3. 理解 KV cache 为什么存在

第二周(只追一条线)

  1. Linear Attention 在省什么
  2. Delta 相比加法多了什么
  3. Gate 为什么必要

论文名单(先认脸,不求一次读完)

阶段看什么你要带走的一句话
基础Attention Is All You Need / GPT-2预测下一个词 + 精确注意力
固定状态Linear Attention (2020)历史可压成固定 S
改写Fast Weight Programmers / DeltaNet有限记忆必须能删除/覆盖
遗忘Mamba / Gated DeltaNet要有可学习的遗忘
混合系统DeepSeek-V2(MLA) / Kimi Linear / Kimi K3固定状态 + 精确检索 + 专家算力
读论文时的翻译技巧 每看到一个新符号,先问: 1)它存在哪?2)它怎么更新?3)它怎么被读出? 答不上来,就还没读懂,先别往下堆名词。