---
title: "SSD 算法 (Structured State Space Duality Algorithm)"
created: 2026-06-18
updated: 2026-06-18
type: concept
tags: [algorithm, ssm, matrix-multiplication, gpu]
sources:
  - dao-transformers-are-ssms-2024
---

# SSD 算法 (SSD Algorithm)

SSD 算法是 Dao & Gu (2024) 提出的**混合矩阵乘法算法**，利用 [[semiseparable-matrices|半可分矩阵]] 的块分解，在现代 GPU 上实现最优效率权衡。

## 核心思路

[[structured-state-space-duality|SSD 框架]] 揭示了 SSM 的两种等价计算方式：
1. **循环形式**：O(T) 时间，但依赖串行扫描，无法利用 GPU Tensor Core
2. **对偶（矩阵）形式**：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 移除技术）。

## 参考

- [[structured-state-space-duality|SSD]]
- [[semiseparable-matrices|半可分矩阵]]
- [[mamba-2|Mamba-2]]
- [[flash-attention|FlashAttention]]
- [[dao-transformers-are-ssms-2024|论文]]
