从 GPT-2 到 Kimi K3:大模型记忆系统演进(小白版)

[!summary] 一句话理解
从 GPT-2 到 Kimi K3,变化不只是模型参数越来越多,更重要的是:AI 逐渐学会了如何保存信息、修改旧信息、忘掉无关信息,以及在需要时找回细节

一、先把大模型想象成“超级秘书”

假设有一名秘书,负责记录一场持续很久的会议。

会议刚开始时,内容不多,秘书可以把每句话都完整保存下来。可是会议越来越长,记录可能达到几万页。此时会出现几个问题:

  • 记录占用的空间越来越大;
  • 每回答一个新问题,都要翻阅大量旧资料;
  • 重要内容和无关内容混在一起;
  • 新信息出现后,旧信息可能已经过时;
  • 只做摘要又可能丢失关键细节。

大模型架构的演进,很大一部分就是在解决这些问题。


二、GPT-2:所有聊天记录都保留下来

GPT-2 使用经典的 Transformer 注意力机制。

可以把它理解成:

回答当前问题时,回头查看前面说过的内容,判断哪些信息最重要。

后来,大模型通常会使用 KV Cache。它像一个“聊天记录缓存区”,把已经计算过的信息保存下来,避免每生成一个新词都从头计算。

举个例子

用户依次告诉 AI:

1
2
3
4
我叫小明。
我是一名软件工程师。
我负责移动端架构。
我最近在做三端统一重构。

传统注意力会保留这些历史信息。以后用户询问“我最近在做什么”,模型就能回头查找。

优点

  • 历史信息保留得比较完整;
  • 能够较准确地找到某个具体细节。

问题

聊天越长,KV Cache 越大:

1
2
聊 10 句话   → 保存较少记录
聊 1 万句话 → 保存大量记录

它像一名什么都不敢扔的秘书,办公桌上的文件越堆越高。最终,内存占用和读取速度都会成为瓶颈。


三、线性注意力:不保存全部原文,只维护一块白板

研究人员想到了一种更省空间的方式:

不再分别保存每一条历史记录,而是把历史信息不断压缩进一块固定大小的“记忆白板”。

前面的四句话,可能被压缩成:

1
小明:软件工程师,负责移动端架构和三端统一重构。

无论聊天多长,白板大小基本保持不变。

优点

  • 记忆空间不会随着聊天长度持续增长;
  • 生成长文本时更加省内存;
  • 每一步读取的状态大小相对稳定。

问题

一块固定大小的白板,容量终究有限。

当越来越多的信息被写到同一块白板上时,不同内容会互相干扰。模型可能还记得“这个人在做架构”,但忘记具体涉及 Android、iOS 还是 HarmonyOS。

[!important] 核心矛盾
保存完整原文,细节准确但成本高;压缩成固定记忆,成本低但容易丢细节。


四、DeltaNet:先看看旧内容,再进行修改

普通线性注意力更像不断向白板上追加内容:

1
2
3
4
小明负责 Android。
小明负责 iOS。
小明负责 HarmonyOS。
小明负责三端统一架构。

白板会越来越乱,新旧内容也可能互相冲突。

DeltaNet 的思路是:

  1. 先读取当前位置原来保存的内容;
  2. 比较旧内容和新内容的差异;
  3. 只写入发生变化的部分。

例如白板原来写着:

1
小明负责 Android。

后来获得了更完整的信息:

1
小明负责 Android、iOS 和 HarmonyOS。

DeltaNet 不会简单地再追加一行,而是尽量把旧内容更新为新内容。

“Delta”可以理解为差值或变化量。因此,它的核心是:

先读取旧记忆,再根据差异更新记忆。

它解决了什么问题?

它让固定大小的记忆不再只能“不断叠加”,而是具备了类似“擦掉旧内容、写入新内容”的能力。


五、Gated DeltaNet:给记忆增加一个遗忘开关

DeltaNet 可以更新某条信息,但还有一个问题:

没有新内容来替换时,旧的无关信息怎样清理?

例如,聊天已经从“今天早餐吃什么”转到了“移动端架构设计”。早餐信息通常不值得长期占据宝贵记忆。

Gated DeltaNet 加入了一个“门控”,可以把它想象成一个控制旧记忆保留比例的开关:

1
2
3
重要内容 → 多保留一些
过时内容 → 慢慢淡化
无关内容 → 尽快清理

它不只是会写入和修改,还开始具备主动遗忘的能力。

为什么必须遗忘?

固定容量的记忆就像手机存储空间。如果永远只增加、不删除,最终一定会被无关信息占满。

因此,遗忘并不一定是缺点。合理遗忘其实是一种记忆管理能力。


六、KDA:不同信息采用不同的遗忘速度

早期门控仍然比较粗糙,类似于:

每隔一段时间,把整块白板上的字统一擦淡一点。

但不同信息的重要程度显然不同:

1
2
3
4
用户的身份信息 → 应该保留更久
当前任务目标 → 应该重点保留
临时讨论内容 → 可以较快淡化
无关寒暄 → 可以尽快清理

Kimi Linear 中的 **KDA(Kimi Delta Attention)**进一步把控制做细:

不再只用一个统一的遗忘比例,而是允许不同信息通道拥有不同的遗忘速度。

可以把它想象成多个文件夹:

  • 核心信息文件夹:清理得慢;
  • 临时信息文件夹:清理得快;
  • 无关信息文件夹:很快释放空间。

这样,固定大小的记忆可以被管理得更精细。


七、Kimi K3:不是一种记忆,而是一套协作系统

Kimi K3 并没有只依赖一种机制,而是把多种能力组合在一起。

7.1 KDA:负责高效维护长期摘要

KDA 像秘书手中的固定白板:

  • 大小相对固定;
  • 更新速度快;
  • 可以修改旧信息;
  • 可以选择性遗忘;
  • 适合保存对当前任务有用的主要内容。

但白板毕竟是压缩记忆,不可能完整保存所有细节。

7.2 MLA:需要细节时,回到完整档案中查找

为了弥补压缩记忆可能丢失细节的问题,Kimi K3 会周期性穿插 MLA(Multi-head Latent Attention)

可以把它理解成:

平时看白板摘要;遇到需要精确细节的问题,再去档案柜翻原始记录。

因此:

1
2
KDA → 快速、低成本地维护摘要记忆
MLA → 从完整上下文中精确找回细节

两者组合,试图在效率和准确性之间取得平衡。

7.3 MoE:不同问题交给不同专家

**MoE(Mixture of Experts,混合专家)**可以理解为一家大型咨询公司。

公司里有很多专家:

1
2
3
4
代码问题 → 编程专家
数学问题 → 数学专家
写作问题 → 语言专家
逻辑问题 → 推理专家

普通模型更像每遇到一个问题,都让全部员工参与处理;MoE 则会根据当前内容,只选择少量最相关的专家工作。

这样做的好处是:

  • 模型可以拥有很大的总容量;
  • 每次计算却不必调用全部参数;
  • 能力增加的同时,计算成本得到控制。

原始材料中提到,Kimi K3 具有大量专家,但每个 Token 只会激活其中一小部分。

7.4 AttnRes:不仅回看文字,还能回看早期处理结果

大模型内部有很多层。信息会一层一层向后传递,类似于:

1
第 1 层 → 第 2 层 → 第 3 层 → …… → 更深的层

普通残差结构会把前面各层的结果不断累加。随着层数增加,一些早期细节可能被稀释。

**AttnRes(Attention Residuals)**允许后面的层选择性查看更早的处理结果:

1
2
当前层发现需要原始语义
→ 选择性参考更早层的表示

它解决的不是“聊天历史有多长”,而是“模型内部处理得很深以后,早期信息怎样保留”。

可以这样区分:

  • MLA:从前面的文字上下文中找信息;
  • AttnRes:从前面的网络层处理结果中找信息。

八、完整演进路线

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
GPT-2
保存较完整的历史记录

历史越长,KV Cache 越大

线性注意力
把历史压缩到固定大小的记忆白板

信息不断叠加,容易互相干扰

DeltaNet
先读取旧内容,再按差异修改

只能替换具体信息,难以整体清理

Gated DeltaNet
增加主动遗忘机制

统一遗忘仍然太粗糙

KDA
不同信息通道采用不同遗忘速度

压缩记忆仍然可能丢失细节

Kimi K3
KDA 摘要记忆 + MLA 精确检索
+ MoE 专家分工 + AttnRes 回看早期表示

九、用一张表快速记忆

技术 通俗比喻 主要解决的问题 仍存在的问题
GPT-2 / 标准注意力 保存全部会议记录 可以精确查看历史内容 记录越长,占用越大
KV Cache 保存已经处理过的记录 避免每次从头计算 缓存仍随上下文增长
线性注意力 固定大小的摘要白板 让记忆成本不再随长度持续增长 摘要会混乱、丢细节
DeltaNet 擦掉旧内容再修改 减少新旧信息冲突 不擅长整体清理旧记忆
Gated DeltaNet 给白板加遗忘开关 主动释放有限记忆空间 不同信息可能被统一淡化
KDA 每类信息独立设置遗忘速度 更精细地管理记忆 压缩记忆仍无法保存全部细节
MLA 从档案柜查原始资料 找回压缩过程中丢失的细节 完整检索成本较高
MoE 按问题选择相关专家 增大能力但控制单次计算量 路由和专家协作更复杂
AttnRes 回看早期思考草稿 防止深层处理中早期信息被稀释 会增加一定计算复杂度

十、最容易产生的三个误解

误解一:Kimi K3 只是参数更多

参数规模确实明显增加,但架构改进并非简单堆参数。新增能力被放在了具体位置,用来解决记忆、检索、专家分工和深层信息传递等问题。

误解二:模型只要什么都记住就最好

不是。完整保存所有内容会带来巨大的存储和读取成本。

真正重要的是:

重要信息记得久,过时信息及时更新,无关信息合理忘记,需要细节时能够重新查找。

误解三:线性注意力一定比标准注意力好

两者是在不同方向上取舍:

  • 标准注意力更擅长精确检索历史细节;
  • 线性注意力更擅长用固定状态高效处理长序列;
  • 混合架构试图同时利用两者的优势。

十一、最终应该记住什么

不需要死记 KDA、MLA、MoE、AttnRes 的公式,只要记住下面四件事:

  1. 完整保存历史很准确,但成本会越来越高。
  2. 把历史压缩成固定记忆很省资源,但容易丢失细节。
  3. 好的记忆系统必须会更新、会遗忘,也能在需要时重新检索。
  4. Kimi K3 通过多种机制协作,在效率、容量和准确性之间做平衡。

[!quote] 核心结论
大模型的发展过程,很像从“只会保存聊天记录”,进化到“拥有一套成熟的记忆管理系统”。


十二、自测题

  1. 为什么 KV Cache 会随着聊天长度增加而变大?
  2. 固定大小的记忆白板为什么容易丢失细节?
  3. DeltaNet 与普通线性注意力最大的区别是什么?
  4. 为什么合理遗忘也是一种重要能力?
  5. KDA 和 MLA 在 Kimi K3 中分别承担什么角色?
  6. MLA 和 AttnRes 分别从哪里找回信息?

[!check]- 参考答案

  1. 因为它需要保存越来越多历史 Token 的 Key 和 Value。
  2. 因为大量信息被压缩进有限容量,不同内容会相互干扰。
  3. DeltaNet 会先读取旧内容,再根据新旧差异进行更新,而不是只做累加。
  4. 固定记忆容量有限,若不清理过时和无关信息,最终会被占满。
  5. KDA 负责高效维护固定大小的摘要记忆;MLA 负责从完整上下文中精确检索细节。
  6. MLA 从 Token 上下文中找信息;AttnRes 从较早网络层的表示中找信息。

相关资料

  • 原始材料:[[Raws/22580 From GPT2 to Kimi3, Explained]]
  • 主题索引:[[Wikis/Index#AI 基础概念]]