Files
myWiki/concepts/ssd-algorithm.md

1.8 KiB
Raw Blame History

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
algorithm
ssm
matrix-multiplication
gpu
dao-transformers-are-ssms-2024

SSD 算法 (SSD Algorithm)

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

核心思路

structured-state-space-duality 揭示了 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 的交叉点

  • 序列长度 2KSSD 与 FlashAttention-2 持平
  • 序列长度 16KSSD 比 FlashAttention-2 快 6x
  • 支持 8x Mamba 的状态大小,几乎无额外代价

变长序列支持

通过传递循环状态实现变长序列训练——无需 padding tokens——这对 SSM 是独特优势Transformer 需要复杂的 padding 移除技术)。

参考