1.8 KiB
1.8 KiB
title, created, updated, type, tags, sources
| title | created | updated | type | tags | sources | |||||
|---|---|---|---|---|---|---|---|---|---|---|
| SSD 算法 (Structured State Space Duality Algorithm) | 2026-06-18 | 2026-06-18 | concept |
|
|
SSD 算法 (SSD Algorithm)
SSD 算法是 Dao & Gu (2024) 提出的混合矩阵乘法算法,利用 semiseparable-matrices 的块分解,在现代 GPU 上实现最优效率权衡。
核心思路
structured-state-space-duality 揭示了 SSM 的两种等价计算方式:
- 循环形式:O(T) 时间,但依赖串行扫描,无法利用 GPU Tensor Core
- 对偶(矩阵)形式:O(T²) 时间,但可用高效矩阵乘法
SSD 算法不走极端——在块级别做分解:
将矩阵 M 分解为 B × B 的块
块内:使用矩阵乘法(GPU 高效)
块间:使用循环传播(保持线性复杂度)
效率对比
| 算法 | 训练 | 推理 | GPU 利用 |
|---|---|---|---|
| Mamba Selective Scan | 串行 | O(1) 状态 | 低(不用 Tensor Core) |
| Flashattention | O(T²) | O(T) KV cache | 高 |
| SSD Algorithm | 混合 | O(1) 状态 | 高 |
与 FlashAttention 的交叉点
- 序列长度 2K:SSD 与 FlashAttention-2 持平
- 序列长度 16K:SSD 比 FlashAttention-2 快 6x
- 支持 8x Mamba 的状态大小,几乎无额外代价
变长序列支持
通过传递循环状态实现变长序列训练——无需 padding tokens——这对 SSM 是独特优势(Transformer 需要复杂的 padding 移除技术)。