跳到正文
动手理解 · CONCEPT LAB

完整聊天记录、实时摘要,还是两者混用?

在自回归 Decode 中,全注意力保存逐位置 K/V;线性注意力或 SSM 携带固定形状递归状态;Hybrid 同时保留两类缓存。训练与 Prefill 仍要处理整段序列。

已经发生 正在观察 接下来
01 / 03

状态传导图

t1 历史 K/V 1
t2 历史 K/V 2
持续增长
Q 当前 Query
O 加权汇总

历史 K/V 按位置增长;当前 Query 可读取整段可见历史。强弱条仅作机制示意。

观察点 01

像保留完整聊天记录,需要时逐条翻找

每个新 token 把 K/V 追加到缓存,Query 可以直接和所有可见历史位置比较。这提供逐位置内容寻址,但不保证模型一定找对;缓存和读取量通常随上下文增长。

逐位置直接寻址路径完整
缓存随长度增长明显增长
此刻要记住

强项是可见位置直连;代价是历史越长,KV 与单步读取账越大。

架构演进 · Linear Attention / SSM

线性注意力与 SSM:把整张关系表变成一条状态流

全 attention 在 Prefill 中为可见 token 对计算 attention score,核心算术量随长度近似二次增长。因果线性 attention 与状态空间模型维护可递推状态,让序列长度这一维的计算趋近线性;这里的“固定状态”特指自回归 Decode 的历史缓存,训练与 Prefill 仍要处理整段 N 个位置。状态容量、kernel 和混合层比例共同决定真实质量与速度。

线性注意力与状态空间模型总览:左侧全注意力保留逐位置关系,中间线性状态沿序列递推,右侧混合架构周期插入全注意力层
一图看懂三种历史表示:全注意力在 Decode 保存逐位置 K/V;线性注意力或 SSM 保存固定形状递归状态;Hybrid 同时保留两类缓存。图中“线性/二次”描述序列长度维度,不代表端到端延迟或总显存只由这一项决定。查看大图 ↗
00 · 先抓住

先把它想成“完整聊天记录” vs “实时摘要”

生活类比
全注意力像每次回答都把完整聊天记录摊开逐句查;线性注意力/SSM 像边聊天边维护一份实时摘要。摘要省空间、更新快,但如果摘要没记住某个细节,后面就查不回来了。
小例子
让模型读 10 万字代码仓库。全注意力为“第 2 个文件里函数名是什么”提供逐位置内容寻址路径,但不保证模型一定找对;SSM/线性状态适合持续吸收长日志、长音频、长传感器流,也能做检索,只是所有旧信息必须经过有限状态。
一句话全 attention 按需计算 token 对关系,并在自回归时缓存 K/V;线性/SSM 则缓存固定形状的历史压缩状态。
收益长序列成本从近似平方级压力,往线性递推靠拢。
代价压缩状态不是魔法硬盘。少量 full attention 或外部检索能增加直接寻址路径,但不会自动恢复已经丢失的信息。
01 · 为什么要线性

全注意力强在“任意两点直连”,贵也贵在这里

对于长度 N 的序列,全注意力要构造 query-key 的两两关系,attention scores 是 N×N 级别。FlashAttention 可以少搬中间矩阵,但它仍然计算精确全注意力;线性注意力/SSM 则试图从算子本身改复杂度。

路线复杂度直觉强项短板
Full Attentionattention 核心约 O(N²d)每个 query 可直接按内容给所有可见 key 打分,但不保证学会完美召回。长上下文 prefill 算术量高;是否物化 N² 矩阵取决于 kernel。
Kernel Linear Attention常见约 O(Ndφdᵥ)可递推,状态与已处理长度无关。核函数改变/近似 softmax,状态为 dφ×dᵥ,N 较短或维度大时未必更便宜。
SSM / Mamba常见为 O(N·d·d_state) 级扫描可流式执行;状态大小不随已解码长度增长。状态维、离散化、选择性与 kernel 都进入真实成本和能力。
Hybrid多数状态层 + 少量 attention同时保留递归状态和逐位置寻址路径。Attention 层的 KV 仍随上下文增长;层比例不是免费参数。
阶段Full Attention因果线性 / SSM
训练 / PrefillAttention 核心算术量约 O(N²d);FlashAttention 避免把完整 score 矩阵写回 HBM,不改变精确全注意力的二次算术量。扫描或 chunk 算法仍要读入并输出 N 个位置,通常是对 N 线性;反向传播的激活也不会因为最终递归状态固定就自动变成 O(1)
自回归 Decode历史 KV Cache 随长度增长;每个新 query 要读取可见历史 KV。只携带每层最终 recurrent/conv state;单步成本与已解码长度解耦,但与状态维度、层数和 batch 成正比。
因果全注意力与 Kernel Linear Attention 对比:全注意力计算 Q 乘 K 转置、因果 Mask、Softmax 和 P 乘 V;线性注意力把 K/V 聚合进固定形状的 S 与 z 解码状态,再由当前 Q 读取并归一化
两条路的根本差别不是“有没有矩阵优化”:FlashAttention 仍计算精确 softmax attention;Kernel Linear Attention 必须先把相似度核改写成可分解 feature map,才能交换乘法顺序。图中的固定 S/z 是 Decode carry,不代表训练时只有一份激活。查看原图 ↗
02 · 线性注意力

不是把 Softmax 原样换序:先把 kernel 改成可分解形式

一类因果 Kernel Linear Attention 用可分解特征映射 φ 定义新的 attention kernel,再用结合律避免显式构造 QK^T。原始 Linear Transformer 采用正值的 ELU(x)+1 feature map;它不是把原始 softmax 无损换序。随机特征方法可以近似 softmax,DeltaNet 等则进一步改变状态更新规则。

公式

状态可以递推更新

associative rewrite
St=St1+ϕ(kt)vtT,zt=zt1+ϕ(kt),ot=ϕ(qt)TStϕ(qt)TztS_t=S_{t-1}+\phi(k_t)v_t^{\mathsf T},\qquad z_t=z_{t-1}+\phi(k_t),\qquad o_t=\frac{\phi(q_t)^{\mathsf T}S_t}{\phi(q_t)^{\mathsf T}z_t}

上式是单头、归一化、因果版本,求和范围只到当前 t。若 φ(q_t)^Tz_t 接近 0,会有数值稳定问题,因此正值 feature map、归一化与累加精度都属于算法契约。历史被压缩进 S_t∈R^(dφ×dᵥ)z_t∈R^(dφ);形状不随已解码长度增长,不代表容量无限。

可手算:线性是对 N 线性,不是常数成本
单头取 N=32,768dφ=128dᵥ=64。Decode carry 的 S128×64=8,192 个元素,另有 128 元素的 z,不随 N 增长;但 Prefill 每个 token 都要更新/读取状态,主项约为 N×128×64≈2.684 亿 次乘加量级。若物化 full-attention score,单头有 N²=1,073,741,824 个元素;FlashAttention 可避免这笔 score 存储,却仍执行二次规模的精确 attention 算术。
GDN

Gated DeltaNet:先整体衰减,再定向改写一个 key

gated delta rule · ICLR 2025
St=αtSt1 ⁣(IβtktktT)+βtvtktT,0<αt,βt<1S_t=\alpha_t S_{t-1}\!\left(I-\beta_t k_tk_t^{\mathsf T}\right)+\beta_t v_tk_t^{\mathsf T},\qquad 0<\alpha_t,\beta_t<1

这是原论文的单头矩阵方向:α_t 对旧状态做数据相关衰减,β_t 控制沿 k_t 方向的 delta update。展开后,写入量等价于用 v_t−α_tS_(t−1)k_t 修正当前 key 已读出的旧值,因此不是简单追加 v_tk_tᵀ。论文 block 还包含 Q/K L2 normalization、短卷积与输出 gate;Qwen3-Next 等实现又可加入多头/Grouped Value Attention,不能只凭这一行公式估算整个层的速度。

03 · SSM / Mamba

Mamba-1 的突破是 Selective State;Mamba-2/3 又改了计算与状态规则

状态空间模型(State Space Model,SSM)先描述连续动态,再离散成 token 递推。Mamba-1 的 selectivity 让步长 Δ_t 以及 B_t、C_t 成为输入的函数;连续参数 A 是训练得到、推理时固定的结构化参数,但有效离散转移 Ā_t 会随 Δ_t 改变。这个口径专指 Mamba-1:2026 年 Mamba-3 默认还让更多 SSM 参数输入相关。

S6

Mamba-1 的离散递推

input-dependent selective SSM
(Aˉt,Bˉt)=discretize(A,Bt,Δt),ht=Aˉtht1+Bˉtxt,yt=Ctht+Dxt(\bar A_t,\bar B_t)=\operatorname{discretize}(A,B_t,\Delta_t),\qquad h_t=\bar A_t h_{t-1}+\bar B_t x_t,\qquad y_t=C_t h_t+D x_t

上式保留了直接通路 D x_t,并把连续参数与离散参数分开。Mamba-1 论文把方法描述为 Zero-Order Hold(ZOH,零阶保持)离散化;Mamba-3 论文进一步指出其公开实现实际使用的是后来命名为 exponential-Euler 的近似,因此这里用 discretize 表示版本契约,而不把两者混成同一公式。

选择性控制什么

  • B_t 控制当前输入怎样写入状态,C_t 控制当前怎样读取状态。
  • Δ_t 调制有效衰减/时间尺度;它不是一个直接等同“遗忘率”的独立标量开关。
  • 状态仍是有限容量;selectivity 改善压缩策略,不保证无损记忆。

硬件怎样执行

  • 训练/Prefill 用 fused parallel selective scan,并在反向传播重算中间状态以降低 HBM 流量。
  • Decode 保存每层 recurrent state 与短卷积 state,逐 token 更新;“无 KV Cache”不等于“无缓存”。
  • 状态维越大,容量与单步读写越高;理论 O(N) 不能替代 kernel benchmark。
Mamba-1 Selective State 数据流:当前输入生成 B、C 与 Delta,Delta 调制学习后的固定 A,离散化结果与旧状态共同更新新状态,C 控制读取并产生输出;训练使用并行 selective scan,解码使用逐 token recurrent step
这是 Mamba-1 的边界:选择性不是每个 token 重新训练 A,而是输入通过 B_t/C_t/Δ_t 改变写入、读取与有效离散转移;Mamba-2/3 的参数化和并行算法另有变化。查看原图 ↗
版本核心变化不能误读成什么
Mamba-1(2023/2024)输入相关 B/C/Δ + hardware-aware selective scan;原论文语言模型实验报告 4–5× generation throughput。该速度来自 A100 80GB PCIe、prompt 2,048、生成 128、batch 1–128 的论文设置,不是当前任意模型/服务的固定倍率。
Mamba-2 / SSD(2024)State Space Duality(状态空间对偶)把一类 SSM 写成结构化 masked matrix,主要计算转为 chunk 内矩阵乘;论文报告核心层相对 Mamba-1 快 2–8×。这是 core layer benchmark,不等于端到端模型或在线服务必然 2–8×。
Mamba-3(2026)加入 exponential-trapezoidal 离散化、复数状态更新与 MIMO(Multi-Input Multi-Output,多输入多输出)SSM,提高状态跟踪与 Decode 算术强度。论文的 +1.8 个百分点与相似 Decode 延迟结论来自 1.5B、自定训练/评测和 kernel;不能外推到所有规模。
内容寻址的差别
语言任务常需要按内容找到很远的定义。Full attention 为当前 query 显式计算对所有可见 key 的分数,因此提供直接内容寻址路径,但模型仍可能漏找;SSM/线性模型先把历史写入有限状态,可能出现覆盖与干扰。Gating、delta update、hybrid attention 或外部检索分别从不同层面缓解这一问题。
04 · 混合架构

混合路线:部分层用固定状态,部分层保留 attention

纯 SSM 与纯线性模型都存在,但一些近期 LLM 采用混合结构:多数层用 linear/SSM 降长序列成本,间隔插入 full 或 sliding-window attention。Attention 层保留自己的逐位置 K/V 与直接寻址路径,但不能保证修复上游状态层已经压掉的信息;最终能力与速度仍取决于层比例、训练和 runtime。

模式

Hybrid block 的三种常见插法

where to place full attention
周期插入每隔几层放一个 full attention,让该层的 token 表示能直接读取全部可见位置;不是自动“纠错层”。
局部 + 全局多数层滑窗/线性,少数层全局注意力。
并行分支 / 动态研究也有将 attention 与状态分支并联或按输入动态选择的研究;这不是所有 hybrid LLM 的标准做法。
Qwen3-Next 混合架构的两种记忆:Gated DeltaNet 维护固定形状递归状态,Full Attention 层追加并读取随上下文增长的 KV Cache;真实 48 层模型按三层状态层加一层全注意力重复
真实 hybrid 不会因为“多数层是线性状态”就完全没有 KV:以 Qwen3-Next 为例,36 层保存固定状态,另外 12 层仍保存增长型 KV Cache。查看原图 ↗
6 GiB

可手算:Hybrid 的 KV 仍可能是大头

Qwen3-Next logical BF16 KV
12×262,144×2K,V×2KV heads×256×2 Bytes=6 GiB12\times262{,}144\times2_{K,V}\times2_{KV\ heads}\times256\times2\ \mathrm{Bytes}=6\ \mathrm{GiB}

官方模型卡给出 48 层、其中 12 层 Gated Attention;每层 2 个 KV heads、head dimension 256。按原生 262,144 tokens、BF16、batch 1 计算,12 个 attention 层的模型级逻辑 KV 为 6 GiB。这是分片/量化前的张量口径,不含页表、allocator、对齐和 Gated DeltaNet recurrent/conv states;Tensor Parallel 后单 rank 容量还要按实际切分方式计算。

05 · 真实案例

从 Mamba-1 到 Mamba-3,再到 Qwen3-Next 的混合落地

案例真实数字 / 机制启发
Mamba-1论文报告 Mamba-3B 在其训练与评测配方下超过同尺寸 Transformer、匹配约两倍尺寸 Transformer;端到端实验中,相近尺寸 Mamba 在 A100 80GB PCIe 上达到 4–5× generation throughput。速度来自 prompt 2,048、生成 128、batch 最多 128 的 2023/2024 论文实验;优势部分来自无增长型 KV 后可使用更大 batch。
Gated DeltaNetICLR 2025 论文把快速衰减的 gating 与定向修改的 delta rule 结合;在其 1.3B/100B-token 配方下,跨语言建模、常识、in-context retrieval、长度外推与 LongBench 超过所比 Mamba2 / DeltaNet。这是论文内控制变量结论;不等于 GDN 在所有规模、数据和 kernel 上胜过 attention 或 Mamba。
Mamba-3ICLR 2026 论文在 1.5B 规模报告:SISO 版平均下游准确率比其最强线性基线 GDN 高 0.6 个百分点,MIMO 再增 1.2,合计高 1.8;state size 64 的 MIMO perplexity 接近 Mamba-2 的 128。这是同论文配方下的 Pareto 比较;MIMO 在固定 state size 下增加最多 4× Decode FLOPs,但保持相近延迟,依赖其专用 kernel 与硬件利用率。
Qwen3-Next-80B-A3B官方模型卡列出 48 层布局:重复 12 次“3 个 Gated DeltaNet 层 + 1 个 Gated Attention 层”,并叠加稀疏 MoE 与 MTP。这是明确的 3:1 hybrid 案例;不能据此推断所有模型的最佳比例也是 3:1。
06 · 常见误区

线性复杂度不是免费午餐

误区 1:线性注意力一定更强

它降低长度维复杂度,但状态维度、更新规则和训练决定能力;full attention 或检索是可选补强方式,不是所有任务的硬性要求。

误区 2:复杂度低就一定快

还要看 kernel、batch、硬件、状态维度和内存访问。理论复杂度不是线上延迟。

误区 3:SSM 等于“没有缓存”

纯 SSM 推理不存随上下文线性增长的 attention K/V,而是保存每层 recurrent/conv state;它仍占显存。混合模型的 attention 层还会另外保存 KV Cache。

误区 4:固定状态让训练内存也变常数

固定的是 Decode carry。训练/Prefill 仍有长度为 N 的输入、输出和反向激活;scan、chunking、fusion 与 recomputation 决定峰值内存。

误区 5:Hybrid 会自动找回丢失细节

Attention 层提供逐位置读取路径,但信息必须在该层输入或它自己的 KV 中仍可用;混合结构不构成无损保证。

误区 6:所有“线性模型”是一套公式

Kernel Linear Attention、DeltaNet、Mamba-1/2/3、RWKV 等有不同状态、归一化、转移与并行算法;只能在明确维度和阶段后比较。

资料来源

主要论文与模型口径

核查日期:2026-07-14。文中的 O(N) 只指序列长度 N 这一维;feature/state/head 维、层数与 batch 仍进入成本。Mamba-3 为 2026-03-16 提交、标注 ICLR 2026 的论文版本;所有论文速度和准确率数字都限定于各自模型规模、训练配方、kernel、硬件和比较基线,不直接代表线上结果。