10 线性注意力、SSM 与混合记忆(Linear Attention, SSM, and Hybrid Memory)
学习问题
另一类长序列结构不再为每个历史词元保留可随机读取的完整 KV,而是把历史压缩成固定形状、按序更新的状态。SSM 不是注意力的别名;两类记忆在状态大小、并行条件、检索能力和长序列代价上具有不同约束。
学习者需要判断何时仍需要全注意力,何时可以用线性注意力或状态空间层承担长程或低成本记忆,以及混合方案需要哪些质量和成本证据。
核心机制
设计压力:完整历史为什么会成为结构约束?
标准注意力为每个历史位置保留 K/V,并在当前位置用查询向量检索它们。这个设计擅长内容寻址和任意位置交互,但状态会随序列长度增长,训练阶段还会面对大规模词元间计算。
当目标是更长序列或更低状态成本时,结构选择不只有“减少 KV head”或“限制可见窗口”两种。另一条路线是:把历史折叠为状态 s_t,让下一个状态由当前输入和前一状态递推得到。
结构机制:两类记忆接口
| 记忆接口 | 保存什么 | 当前词元如何利用历史 | 主要优势 | 主要代价 |
|---|---|---|---|---|
| 显式 KV 历史 | 每个历史词元的 K/V | 查询向量对历史 K/V 做内容相关检索 | 任意位置访问直观,适合复杂检索关系 | 状态随长度增长;注意力计算和访存压力高 |
| 局部 / 稀疏访问 | 部分历史 K/V 或选中的块 | 只读取窗口、块或检索到的历史 | 降低访问范围和理论连接数 | 可能遗漏窗口外或未选中的信息 |
| 线性注意力 / SSM 状态 | 固定形状的累计或选择性状态 | 递推更新 s_t,再由 s_t 产生输出 | 状态不随序列线性增长,适合长序列扫描 | 难以完全复现任意历史词元的随机检索 |
Part 02 · 45 线性注意力与递推状态 建立累计状态基础,ARCH-HYBRID-MEMORY 再检查 SSM 与注意力的层级分工;真实模型的质量与成本由长度阶梯对照记录。
选择条件与验证证据
从线性注意力到选择性状态空间
线性注意力与 SSM 的共同点是避免显式构造全部词元两两关系,但状态来源不同:
- 线性注意力通常把历史 K/V 聚合为可递推的统计量,使查询向量能通过特征映射读取该聚合状态;
- SSM 用状态转移和输入注入更新内部状态,选择性机制再让不同输入以不同方式影响状态;
- 两者都把“保存全部历史”改写为“维护一个状态”,却不保证与全注意力完全等价。
审计线性注意力或状态空间模型时,至少要问:状态形状是否固定、哪些输入会写入状态、是否仍保留注意力层作为全局检索路径,以及训练与推理是否采用相同的扫描或并行路径。
真实模型对照协议
标准注意力、SSM 和混合模型往往使用不同训练数据、规模、分词器、训练长度与实现路径,因此比较前要先声明对照类型;跨模型结果只能作为观察性证据。
| 对照组 | 记忆接口 | 可以回答的问题 | 不能直接推出的结论 |
|---|---|---|---|
| 显式 KV 注意力 | 每个历史词元的 K/V | 长度增长时状态、预填充与解码怎样变化 | 它一定比递推状态质量更好或更差 |
| 线性注意力 / SSM | 固定形状的累积或选择性状态 | 状态不随词元线性增长时,成本和长依赖质量怎样取舍 | 与另一模型的差异完全由记忆接口造成 |
| 混合架构 | 注意力层与递推层分工 | 哪些层保留全局读取、哪些层改为递推,端到端收益是否值得 | 混合比例可以从单项指标直接推导 |
证据等级
| 比较设计 | 前提 | 可形成的结论 | 结果标签 |
|---|---|---|---|
同家族变体(same_family_variant) | 模型规模、数据、训练长度和实现大致可比,只改变或明确隔离记忆接口 | 可讨论候选结构在该家族中的相对取舍 | 近似结构对照 |
跨模型观察(cross_model_observational) | 使用不同公开模型快照 | 可用于部署选型与假设生成 | 观察性证据,不做单因素归因 |
固定工作负载与报告字段
真实对照至少使用短、中、长三个长度档;每档固定提示词模板、批次、生成长度、数据类型、执行后端与硬件。先记录提示词位于训练长度以内还是以外,再同时报告质量、状态和服务成本。
| 分区 | 最少记录 | 为什么需要它 |
|---|---|---|
provenance | 模型版本、分词器版本、数据类型、执行后端、硬件 | 避免把版本或实现差异隐藏在模型名后面 |
architecture | 注意力 / SSM / 混合类型、KV 注意力头、状态表示、层分布 | 明确比较的记忆接口是什么 |
quality | 任务集、训练/评测长度、长距离检索、失败样例 | 避免只报告速度而忽略远程信息损失 |
cost | 预填充、TPOT、吞吐、峰值显存、KV / 状态内存、批次 | 解释长度增长究竟暴露在哪个阶段 |
evidence / decision | 证据等级、失败记录、采用 / 调整 / 拒绝 | 使结论能回到可检查证据 |
Part 02 · 61 模型架构探索 汇总 JSON 分区和证据等级;Part 02 · 77 长序列记忆架构基准 固定模型候选、许可证、GPU 预算和长度阶梯,分别登记同家族变体对照与跨模型观察。
混合架构:把不同记忆职责放进不同层
纯注意力、纯递推与混合架构不能只按单项性能排名;三类结构承担的记忆职责不同:
| 设计 | 适合承担的职责 | 需要继续验证的风险 |
|---|---|---|
| 全注意力主干 | 内容相关的全局检索、复杂上下文交互 | 长上下文状态和访存成本 |
| 局部 / 稀疏注意力 | 近邻模式或受控的远程访问 | 访问策略是否遗漏关键信息 |
| SSM / 递推层 | 低成本长序列状态更新、流式扫描 | 固定状态是否保留任务需要的信息 |
| 注意力 + SSM 混合 | 让部分层保留全局检索,部分层承担状态递推 | 层排列、接口切换和质量收益是否值得复杂度 |
显式 KV、注意力头与潜在表示决定保存什么;位置和访问范围决定仍保存词元历史时能够读取什么;递推与混合记忆则改变历史本身的保存方式。
- Part 02 · 44 局部、滑动窗口与稀疏注意力:比较“仍保存 KV,但只让谁看谁”。
- Part 02 · 45 线性注意力与递推状态:比较“保存完整历史”与“递推压缩状态”。
- ARCH-HYBRID-MEMORY:把注意力 / SSM 的层级安排、状态账本和历史访问条件变成可测试机制。
- Part 02 · 61 模型架构探索:把注意力、记忆与 FFN 替换登记为候选结构,再按资源、质量和证据等级判断是否继续验证。
- Part 02 · 77 长序列记忆架构基准:在固定长度阶梯记录显式 KV、递推状态或混合模型的质量与成本证据。
面对一个混合架构,依次记录:
- 这层保存的是完整 KV、受限 KV,还是固定大小状态?
- 当前词元能否内容相关地访问任意历史位置?若不能,采用什么状态更新替代?
- 全局检索由哪些注意力层承担,递推层放在什么位置?
- 状态成本、训练并行条件、长序列质量分别需要什么证据?
- 结论是结构假设、CPU 机制验证,还是已在目标工作负载上完成真实基准测试?
相关阅读
- Mamba: Linear-Time Sequence Modeling with Selective State Spaces:选择性状态空间模型的代表入口。
- Transformers are SSMs: Generalized Models and Efficient Algorithms Through Structured State Space Duality:从结构对偶理解注意力与状态空间模型。
- Part 02 · 45 线性注意力与递推状态:先运行状态账本,再回到本页比较架构含义。
