导读

真正深的变化,往往不在“又省了多少显存”,而在:

信息到底是不是还以 token-by-token 的显式历史形式存在。

这一篇专门讲三类更深的改动:

  1. RealFormer / residual attention
  2. RetNet / retention state
  3. Kimi Linear / gated finite-state memory

它们的共同主题是:

让信息流从“每层重新算、每步重扫历史”,逐渐转向“带状态延续、带结构延续”的系统。


一、标准 Transformer 的状态问题:每层有 hidden residual,但 attention score 本身没有跨层记忆

标准 Transformer block:

x ℓ + 1 = x ℓ + A t t n B l o c k ( x ℓ ) x_{\ell+1} = x_\ell + \mathrm{AttnBlock}(x_\ell) x+1=x+AttnBlock(x)

z ℓ + 1 = x ℓ + 1 + F F N ( x ℓ + 1 ) z_{\ell+1} = x_{\ell+1} + \mathrm{FFN}(x_{\ell+1}) z+1=x+1+FFN(x+1)

attention 内部:

S ℓ = Q ℓ K ℓ ⊤ d k S_\ell = \frac{Q_\ell K_\ell^\top}{\sqrt{d_k}} S=dk QK

P ℓ = s o f t m a x ( S ℓ ) P_\ell = \mathrm{softmax}(S_\ell) P=softmax(S)

O ℓ = P ℓ V ℓ O_\ell = P_\ell V_\ell O=PV

这意味着:

隐状态有残差跨层延续,但 attention 分布本身每层几乎是重新生成的。

这个结构后面会引出第一类优化。


二、RealFormer:把残差推进到 attention logit

来源

  • He et al., RealFormer: Transformer Likes Residual Attention (2020/2021)
    https://arxiv.org/abs/2012.11747

1. 原始机制

标准 Transformer 的 attention score:

S ℓ = Q ℓ K ℓ ⊤ d k S_\ell = \frac{Q_\ell K_\ell^\top}{\sqrt{d_k}} S=dk QK

每一层都独立形成自己的 score matrix。

原始流程图

x_l

当前层生成 Q,K,V

独立形成 S_l

softmax

乘 V

hidden residual

2. 暴露的问题

虽然隐藏状态有残差,但:

上一层已经形成的注意力结构没有直接进入下一层的 score。

也就是说,attention 分布跨层没有显式延续。

3. 修改后的机制

RealFormer 把上一层 logits 直接加到当前层 logits。

4. 修改后的公式

简化写法:

S ℓ = Q ℓ K ℓ ⊤ d k + S ℓ − 1 S_\ell = \frac{Q_\ell K_\ell^\top}{\sqrt{d_k}} + S_{\ell-1} S=dk QK+S1

P ℓ = s o f t m a x ( S ℓ ) P_\ell = \mathrm{softmax}(S_\ell) P=softmax(S)

O ℓ = P ℓ V ℓ O_\ell = P_\ell V_\ell O=PV

5. 修改后的流程图

x_l

当前层生成 Q,K,V

当前层新 logits

上一层 logits S_l-1

logit residual 相加

softmax

乘 V

hidden residual

6. 最小改动单元

RealFormer 改动的最小单元是:

attention score matrix

不是 hidden state,不是 FFN,不是 KV cache。

它真正改的是:

注意力分布的跨层连续性。


三、从 Full Attention 到 RetNet:历史从显式 token 列表变成递归状态

来源

  • Sun et al., Retentive Network: A Successor to Transformer for Large Language Models (2023)
    https://arxiv.org/abs/2307.08621

1. 原始机制:Full Attention

对第 t t t 个位置,输出来自所有历史 token:

o t = ∑ j ≤ t α t , j v j o_t = \sum_{j\le t} \alpha_{t,j} v_j ot=jtαt,jvj

其中:

α t , j = exp ⁡ ( q t ⊤ k j / d ) ∑ i ≤ t exp ⁡ ( q t ⊤ k i / d ) \alpha_{t,j}= \frac{ \exp(q_t^\top k_j / \sqrt{d}) }{ \sum_{i\le t}\exp(q_t^\top k_i / \sqrt{d}) } αt,j=itexp(qtki/d )exp(qtkj/d )

原始流程图

当前 q_t

扫描全部历史 K

历史 K cache

softmax

加权汇总全部历史 V

历史 V cache

o_t

2. 暴露的问题

这个结构的问题不是表达力,而是:

历史必须以 token 级 K/V cache 的形式显式存在,并且每步都要反复扫。

3. 修改后的机制:Retention

RetNet 试图把历史改写成递归状态。

最简结构可以写成:

S t = γ S t − 1 + k t ⊤ v t S_t = \gamma S_{t-1} + k_t^\top v_t St=γSt1+ktvt

o t = q t S t o_t = q_t S_t ot=qtSt

其中:

  • S t S_t St 是累积历史状态
  • γ \gamma γ 是衰减因子

4. 修改后的流程图

上一状态 S_t-1

状态更新

当前 k_t, v_t

新状态 S_t

当前 q_t

读取 S_t

o_t

5. 最小改动单元

RetNet 改动的最小单元是:

历史存储对象

原来历史是:

  • 显式 token 列表 K/V

后来历史是:

  • 递归更新状态 S t S_t St

这一步非常关键,因为它把 attention 的“扫历史”改成了“读状态”。


四、RetNet 再往前一步会发生什么:状态不只是累加,还会更细粒度门控

RetNet 已经把历史从 token cache 改成状态。
但更进一步的问题是:

这个状态是否足够表达复杂历史,是否足够可控,是否足够硬件友好。

这就进入了更细粒度的 gated state memory 路线。


五、Kimi Linear:把有限状态记忆做得更强、更门控、更块化

来源

  • Kimi Team et al., Kimi Linear: An Expressive, Efficient Attention Architecture (2025)
    https://arxiv.org/abs/2510.26692

1. 论文里明确在做什么

根据论文摘要,Kimi Linear 是一种 hybrid linear attention architecture,核心模块 KDA 扩展了 Gated DeltaNet,用更细粒度门控机制更有效地利用有限状态 RNN memory,并用 chunkwise 算法和 DPLR 结构提高硬件效率 来源

这句话拆开有三层含义:

  1. 它不是 full attention,而是 linear/stateful 路线
  2. 它不是简单状态累加,而是 gated finite-state memory
  3. 它不是只管数学表达,还同时管 chunkwise 硬件执行

2. 原始机制:RetNet 式状态

可以把旧版状态化思路简化成:

S t = f ( S t − 1 , k t , v t ) S_t = f(S_{t-1}, k_t, v_t) St=f(St1,kt,vt)

o t = g ( q t , S t ) o_t = g(q_t, S_t) ot=g(qt,St)

这已经比 full attention 更状态化。

3. 进一步暴露的问题

如果状态更新太粗糙,会有两个问题:

  1. 历史表达不够细
  2. 状态更新虽然线性,但表达力不够接近 full attention

4. 修改后的机制

Kimi Linear 这一类方法的核心方向是:

给状态更新引入更细粒度门控,让不同信息以不同强度、不同通道进入有限状态 memory。

用抽象写法表示:

S t = A t ⊙ S t − 1 + B t ( k t , v t ) S_t = A_t \odot S_{t-1} + B_t(k_t, v_t) St=AtSt1+Bt(kt,vt)

o t = R t ( q t , S t ) o_t = R_t(q_t, S_t) ot=Rt(qt,St)

这里:

  • A t A_t At 是门控或状态转移项
  • B t B_t Bt 是当前输入写入项
  • R t R_t Rt 是读出机制

这不是 KDA 的完整论文公式,但足以准确表达它修改的结构层级:

状态更新从“单一递归累加”升级为“门控化、结构化、块化状态演化”。

5. 修改后的流程图

上一 memory state

门控状态转移

当前 chunk / token 输入

门控写入

形成新 state

当前 query / read head

从 state 读出

当前输出

6. 最小改动单元

Kimi Linear 这类路线改动的最小单元是:

有限状态 memory 的更新规则

相比 RetNet 的“状态存在”,它更进一步改的是:

状态如何门控、如何分块、如何高效执行


六、把这三类改动压成一条主线

可以把它们理解成三层递进:

  1. RealFormer
    把“跨层注意力结构连续性”显式化

  2. RetNet
    把“历史 token 列表”改成“递归状态”

  3. Kimi Linear
    把“递归状态”进一步升级成“更细粒度门控的有限状态 memory”

这条演化线可以画成:

标准 Transformer
hidden residual

RealFormer
logit residual

RetNet
history as state

Kimi Linear
gated chunkwise state memory


七、这些变化到底在回答什么

表面上看,它们分别在改:

  • residual
  • attention
  • state
  • memory

但更深层其实都在回答同一个问题:

信息是否必须每次都重新从显式历史中算出来,还是可以以某种结构化状态的形式延续下来。

这其实是比“更快 attention”更深的命题。

因为它关系到:

  • 长程推理成本
  • 系统状态连续性
  • 记忆组织方式
  • 多步智能系统是否可能

八、最后给一个最关键的结论

如果把这三类方法的本质用一句话概括:

它们都在逐步削弱“显式重扫全部历史”这个假设。

标准 Transformer 假设:

历史最好以 token 级显式缓存形式存在,并在每一层、每一步被重新利用。

而状态化路线越来越倾向于:

历史应该部分地被压缩进连续状态、门控 memory 和跨层结构中。

这意味着未来的核心问题,不再只是:

怎么把 attention 算快一点

而是:

历史究竟应该以什么数学对象存在。

我认为这才是更深的主线。


参考文献

  • He et al., RealFormer (2020/2021): https://arxiv.org/abs/2012.11747
  • Sun et al., RetNet (2023): https://arxiv.org/abs/2307.08621
  • Kimi Team et al., Kimi Linear (2025): https://arxiv.org/abs/2510.26692
Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐