1285 字
6 分钟
SubQ / SSA:降低长上下文的注意力成本

定位#

SubQ 是 Subquadratic Inc. 开发的前沿 LLM,采用 Subquadratic Sparse Attention (SSA) 架构。据开发方介绍,其实用上下文窗口为 12M token,成本低于 Opus 的 5%。

SSA 通过选择相关 token,减少 Attention 的计算量。

长上下文的真正问题:名义窗口 vs 功能窗口#

概念含义现状
名义上下文窗口模型能塞多少 token很多模型号称 128K-1M
功能上下文窗口模型能有效推理多少 token大多数模型远低于标称值

失败模式:信息分布在上下文各处,需要多跳推理串联才能得出答案。短上下文系统被迫分块→检索→摘要→编排,每一步都可能丢失位置、层级、引用结构。

SSA 希望让模型直接处理更完整的上下文,减少分块、摘要和编排的需要。

SSA 机制详解#

Dense Attention 的问题#

  • 每个 query 与所有 key 做全对全比较 → O(n²)
  • 翻倍上下文 = 四倍计算
  • 训练好的模型中,绝大多数 attention weights 接近零 → 大量计算贡献有限
  • FlashAttention 优化了执行方式,但没有改变底层 scaling law

SSA 的核心创新:内容依赖选择 (Content-Dependent Selection)#

┌─────────────────────────────────────────────────────┐
│ Dense Attention: Q × 所有 K → O(n²) │
│ SSA: Q → 动态选择相关 K → O(n·k) │
│ (k << n, 由内容决定) │
└─────────────────────────────────────────────────────┘

三个同时满足的特性:

  1. 线性缩放 — 计算与显存随序列长度线性增长,而非二次方
  2. 内容依赖路由 — 基于语义而非位置决定关注哪里,相关信息无论在哪都能检索
  3. 任意位置精确检索 — 不压缩、不摘要,能从极远处恢复特定信息

与现有方案的对比#

方案效率内容依赖路由精确检索核心缺陷
SSA (SubQ)✅ 线性✅✅—
固定模式稀疏 Attention✅ 亚二次❌ 基于位置❌相关信息落在模式外就看不到
RNN / SSM (Mamba)✅ 线性✅ 压缩态❌远距离事实可能已不可恢复
混合架构 (Jamba)⚠️ Attention 层仍 O(n²)✅✅长上下文下 Attention 层成本主导
DeepSeek DSA❌ 索引器仍 O(n²)✅✅复杂度被转移,未被消除

实测性能(B200 GPU vs FlashAttention-2)#

加速比#

上下文长度SSA 加速比Attention FLOP 缩减
128K7.2×8×
256K13.2×—
512K23.0×—
1M52.2×62.5×

在这组测试中,上下文越长,SSA 的相对加速越明显。

Benchmark 成绩#

BenchmarkSubQ / SSAOpus 4.6GPT 5.5Gemini 3.1 Pro
RULER @ 128K95.0%94.8%——
MRCR v265.9%78.3%74.0%26.3%
SWE-Bench Verified81.8%80.8%—80.6%

MRCR v2 — 最严峻的长上下文检索测试:需要定位并整合多个非相邻证据片段。SubQ 显著领先 GPT 5.4(36.6%)和 Gemini 3.1 Pro(26.3%),显示出长上下文检索的潜力。

三阶段训练#

预训练 → 有监督微调 (SFT) → 强化学习 (RL)
│ │ │
│ │ └─ 聚焦长上下文检索可靠性
│ └─ 指令跟随、结构化推理、代码生成
└─ 语言建模基础 + 长上下文表征

RL 阶段的独特设计#

长上下文失败往往看起来合理但实际错误:

  • 用近处容易获取的上下文回答,忽略远处决定性证据
  • 生成局部正确的代码 patch,违反别处定义的接口
  • 摘要之前的决策而不是保留确切约束

→ RL 阶段针对这些失败模式设计,训练数据强调高信息密度、交叉引用结构的长文本源(如完整代码库、长合同、跨文档研究)。

训练基础设施#

百万 token 长度下,训练本身就是系统问题:

  • 单设备放不下 → 分布式序列并行切分序列
  • 梯度不稳定 → 数值精度和 kernel 效率需专门处理
  • 线性内存缩放贯穿整个训练 pipeline

这些优化也能降低长上下文训练的实验成本,让迭代更容易。

适用场景#

场景为什么需要功能窗口
Coding Agent函数定义在一处、调用在几十处、测试在别处——需要一次性看到全貌
长期 Agent 会话之前的设计决策、中间编辑、审核意见、回归——都分布在整个会话中
企业知识库合同义务取决于定义、例外条款、引用的子条款——多跳推理跨页
研究工作流结论依赖调和多篇论文中的证据——碎片化语料上的多跳推理

这些不是「查一个事实」的检索问题,而是碎片化语料上的多跳推理问题。

核心启示#

┌──────────────────┐
│ 长上下文三路线 │
├──────────────────┤
│ SSM/Mamba → 压缩状态,线性但丢失细节 │
│ DSA → 索引器仍是 O(n²) │
│ SSA → 内容选择 + 线性 + 精确检索 │
└──────────────────┘

结合 DeepSeek-V4 的并行策略,可以看到两类互补的优化:

层面代表技术核心思想
模型架构SSA (SubQ)减少 Attention 的工作总量
工程系统DeepSeek DualPipe/Waved-EP优化计算-通信重叠
共同目标—通过架构和执行方式的改进,提高算力利用率

来源#

SubQ / SSA:降低长上下文的注意力成本
https://blog.lpkt.cn/posts/concepts/subq-ssa-sparse-attention/
作者
lollipopkit
发布于
2026-05-06
许可协议
CC BY-NC-SA 4.0