详解 Kimi K3 技术报告
赛博浮世绘 · 晓风乾 · 20 站拆解
回首页
详解 Kimi K3 深度与宽度 4.1 · AttnRes · Block 分块
篇章四 · 4.1

AttnRes · Block 分块

深度注意力太贵,关进块间

2.2 站讲了 AttnRes 把累加换成检索。但全做深度注意力,93 层每层都要存中间结果、检索算力随深度涨——成本吃不消。Block 分块是控成本的办法。

点某个 Block 看它内部怎么传 93 层 → 8 个 Block
Block 1 12 层 · 普通残差 层 1–12 Block 2 12 层 · 普通残差 层 13–24 Block 3 12 层 · 普通残差 层 25–36 Block 8 12 层 层 85–93 块内(青):12 层普通残差,平滑传递,不存中间结果 跨块(紫箭头):深度注意力,块间信息跳跃式检索 贵的检索只在块间发生 8 次,块内 12 层用最便宜的累加

为什么要分块。 全 AttnRes 让当前层检索前面所有层,表达力强,但代价大:每一层都要把自己的中间结果存下来供后面检索,93 层就是 93 份中间结果要保存和传输;而且每层检索都要和前面所有层算一遍注意力,计算量随深度涨。全模型都这么做,存和算都吃不消。

Block 怎么压成本。 把 93 层切成 8 个 Block,每 12 层一块。块内部回到普通残差累加——不用存中间结果、不用检索,只有跨块时才做一次昂贵的深度注意力。这样需要保存的中间结果从 93 份降到 8 份(每块只需保存块的输出),检索次数也从 93 次降到 8 次。

为什么是 12 层一块。 块太小,跨块注意力太频繁,成本压不住;块太大,块内深层又回到信息糊在一起的老问题。12 层是个折中——块内 12 层普通残差成本可控,跨块只 8 次深度注意力,整体把昂贵的检索限制在块间。

块内 · 普通残差
12 层用最便宜的累加,一路平滑传递,不存中间结果也不检索。块内的信息融合靠普通的加法。
跨块 · 深度注意力
只有跨块时才做昂贵的检索,让块与块之间的信息流通。表达力留在跨块,成本用块内压住——8 次检索代替 93 次。