1285 字
6 分钟
SubQ / SSA:降低长上下文的注意力成本
2026-05-06
2026-06-07
定位
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, 由内容决定) │└─────────────────────────────────────────────────────┘三个同时满足的特性:
- 线性缩放 — 计算与显存随序列长度线性增长,而非二次方
- 内容依赖路由 — 基于语义而非位置决定关注哪里,相关信息无论在哪都能检索
- 任意位置精确检索 — 不压缩、不摘要,能从极远处恢复特定信息
与现有方案的对比
| 方案 | 效率 | 内容依赖路由 | 精确检索 | 核心缺陷 |
|---|---|---|---|---|
| SSA (SubQ) | ✅ 线性 | ✅ | ✅ | — |
| 固定模式稀疏 Attention | ✅ 亚二次 | ❌ 基于位置 | ❌ | 相关信息落在模式外就看不到 |
| RNN / SSM (Mamba) | ✅ 线性 | ✅ 压缩态 | ❌ | 远距离事实可能已不可恢复 |
| 混合架构 (Jamba) | ⚠️ Attention 层仍 O(n²) | ✅ | ✅ | 长上下文下 Attention 层成本主导 |
| DeepSeek DSA | ❌ 索引器仍 O(n²) | ✅ | ✅ | 复杂度被转移,未被消除 |
实测性能(B200 GPU vs FlashAttention-2)
加速比
| 上下文长度 | SSA 加速比 | Attention FLOP 缩减 |
|---|---|---|
| 128K | 7.2× | 8× |
| 256K | 13.2× | — |
| 512K | 23.0× | — |
| 1M | 52.2× | 62.5× |
在这组测试中,上下文越长,SSA 的相对加速越明显。
Benchmark 成绩
| Benchmark | SubQ / SSA | Opus 4.6 | GPT 5.5 | Gemini 3.1 Pro |
|---|---|---|---|---|
| RULER @ 128K | 95.0% | 94.8% | — | — |
| MRCR v2 | 65.9% | 78.3% | 74.0% | 26.3% |
| SWE-Bench Verified | 81.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 | 优化计算-通信重叠 |
| 共同目标 | — | 通过架构和执行方式的改进,提高算力利用率 |
来源
- 原文:https://subq.ai/how-ssa-makes-long-context-practical
- 公司:Subquadratic Inc. (subquadratic)
- 日期:2026-05-05
SubQ / SSA:降低长上下文的注意力成本
https://blog.lpkt.cn/posts/concepts/subq-ssa-sparse-attention/