SSOG用高斯拆注意力平方墙

SSOG-Attention以可分离高斯原子替代全量点积,将理论复杂度从 O(N²d) 降至 O(N√N·d)。早期视觉实验有潜力,但距离替代成熟 SDPA 仍缺大模型和硬件级验证。
SSOG-Attention 试图换掉注意力最贵的一步
一种名为 SSOG-Attention 的实验性注意力机制近日公开,目标是用可分离高斯之和替代标准缩放点积注意力,把计算复杂度从 O(N²d) 降至 O(N√N·d)。 项目作者已经放出实现仓库,并在 Reddit Machine Learning 社区公布初步实验:SSOG 在 CIFAR-100 小数据集上优于标准 SDPA,在 ImageNet-1K 上取得接近的最终性能,同时呈现出更快的收敛速度和更好的规模扩展表现。
SSOG-Attention 是一种用少量可学习高斯原子构造注意力分布、避免显式计算全部 Query-Key 相似度的机制。 SSOG 全称为 Sum of Separable Gaussians,即“可分离高斯之和”。它保留了注意力随 Query 动态变化的特征,但不再要求每个 Query 与所有 Key 逐一做点积。
截至 2026 年 8 月 16 日,这仍是一项早期研究项目,而不是已经经过大规模预训练验证的 Transformer 通用替代品。项目给出的结果值得关注,但其证据主要来自图像分类,尚不足以证明它能直接接管大语言模型中的自注意力层。

标准注意力的问题不是 Softmax,而是两两比较
缩放点积注意力(Scaled Dot-Product Attention,SDPA)是通过 QKᵀ 计算全部词元两两相似度,再经 Softmax 对 V 加权汇总的标准 Transformer 组件。 对长度为 N、单头维度为 d 的输入,计算 QKᵀ 和后续权重乘 V 的时间复杂度都与 N²d 同阶。
标准 SDPA 可以写成以下形式:
Attention(Q, K, V) = Softmax(QKᵀ / √d) V
序列长度翻倍时,标准注意力的主要计算量约增至 4 倍。 如果图像分辨率增加,使视觉 Token 数量从 4,096 增至 16,384,注意力矩阵元素数量会从约 1,678 万增加至约 2.68 亿,扩大 16 倍。这也是高分辨率视觉 Transformer、视频模型和长上下文模型难以继续直接堆长度的原因。
FlashAttention 解决的是执行方式,而不是二次复杂度本身。 它利用分块、在线 Softmax 和内核融合,避免把完整 N×N 注意力矩阵反复写入显存,因此能显著降低高带宽显存访问成本;但它仍然精确计算标准注意力,理论计算复杂度没有从 O(N²d) 改写。换句话说,FlashAttention 是把同一道题算得更聪明,SSOG 则是试图换一道题。
SSOG 如何绕过 N×N 矩阵
SSOG 的核心思路是让每个注意力头学习少量高斯原子,再由 Query 对这些原子进行几何调节。 标准注意力会询问“当前 Query 与每个 Key 有多相似”,SSOG 更像是在询问“当前 Query 应该把注意力聚焦在哪些空间区域,以及这些区域应当多宽”。
一个高斯原子可以理解为注意力图上的一个柔性聚光灯。原子的位置、尺度或组合方式由模型学习,并根据当前 Query 动态调整;多个高斯原子叠加后,可以表达多峰注意力,例如一个视觉 Token 同时关注物体边缘、中心和远处的相关区域。
可分离高斯是能够沿不同坐标轴拆成一维函数乘积的高斯结构。 对规则的二维图像 Token 网格,二维权重不必对每个横纵坐标组合逐点独立计算,而可以拆成横向和纵向两个较短的计算过程。若 N 个 Token 排列在约 √N×√N 的网格中,每个 Query 处理的空间规模可从 N 降至与 √N 同阶,整体复杂度由此变成 O(N√N·d)。
这种分解很像处理一张图片时,不再用一个巨大的二维滤镜逐点扫描,而是先横向处理一次、再纵向处理一次。前者需要覆盖 N 个空间位置,后者每个方向只需要覆盖约 √N 个位置;当分解能够成立时,计算和中间状态都会更容易扩展。
SSOG 的次二次复杂度依赖空间结构和可分离参数化,而不是无条件得到的免费加速。 O(N√N·d) 等价于 O(N^1.5d),虽然明显低于 O(N²d),但仍高于真正的线性复杂度。更重要的是,这一路线天然适合二维规则网格,迁移到文本、音频或不规则多模态 Token 时,如何定义几何坐标和分离轴并不是一个已经解决的问题。
理论差距会随 Token 数量扩大
SSOG 相对标准 SDPA 的理论优势会按照 √N 增长。 下表只比较复杂度中的 N 项,忽略高斯原子数量、隐藏维度、内核效率和常数开销,因此不能直接当作实际加速倍数。
| Token 数 N | SDPA 主导项 N² | SSOG 主导项 N√N | 理论工作量比 SDPA/SSOG | |---:|---:|---:|---:| | 1,024 | 1,048,576 | 32,768 | 32 倍 | | 4,096 | 16,777,216 | 262,144 | 64 倍 | | 16,384 | 268,435,456 | 2,097,152 | 128 倍 | | 65,536 | 4,294,967,296 | 16,777,216 | 256 倍 |
当 N 扩大 4 倍时,SDPA 的理论计算量扩大 16 倍,而 SSOG 扩大 8 倍。 这正是次二次方法的价值:它不一定能在小尺寸上赢,但越接近高分辨率图像、长视频和大规模空间 Token,渐近复杂度的差距越难被工程优化掩盖。
理论工作量比并不等于端到端吞吐提升。 GPU 擅长执行规则、密集的大型矩阵乘法,QKᵀ 恰好能充分利用 Tensor Core;高斯参数生成、坐标变换和多步分离操作即便 FLOPs 更少,也可能因为内核碎片化、访存或并行度不足而跑不满硬件。一个 O(N^1.5) 的普通 PyTorch 实现,在中短序列上完全可能输给高度优化的 O(N²) FlashAttention。
初步实验说明了什么
目前公开实验支持“SSOG 可以学习有效视觉注意力”,但还没有证明“SSOG 已经普遍优于 SDPA”。 项目作者称,SSOG 在 CIFAR-100 上明显超过标准 SDPA,在 ImageNet-1K 上达到相当的最终表现,并且收敛更快;随着规模增长,它还表现出更好的速度和内存效率。
| 维度 | 标准 SDPA | SSOG-Attention | 当前可得结论 | |---|---|---|---| | 核心操作 | 全量 QKᵀ 点积与 Softmax | Query 调节少量可分离高斯原子 | 改变注意力的参数化方式 | | 理论时间复杂度 | O(N²d) | O(N√N·d) | SSOG 属于次二次路线 | | Token 结构要求 | 不要求显式空间网格 | 更依赖可利用的几何结构 | 视觉任务更自然 | | CIFAR-100 | 项目基线 | 项目称结果更优 | 仍需独立复现 | | ImageNet-1K | 项目基线 | 项目称性能相当、收敛更快 | 尚缺统一训练成本数据 | | 大语言模型验证 | 已广泛采用 | 暂未展示 | 不能直接外推到 LLM | | 工程成熟度 | FlashAttention 等生态成熟 | 研究实现阶段 | 短期难以直接替换生产栈 |
项目目前最明显的信息缺口是缺少可跨硬件复核的完整性能数字。 “更快”和“更省显存”必须进一步拆成训练吞吐、前向延迟、反向延迟、峰值显存、总训练 Token 或样本数、达到相同精度所需时间等指标。若没有这些数字,就无法判断收益究竟来自复杂度、模型正则化效果,还是不同实现之间的优化程度差异。
更快收敛可能比单步加速更重要,但也更容易受到训练配方影响。 如果 SSOG 用更少 Epoch 就能达到相同精度,即使单步速度只与 SDPA 持平,总训练成本仍可能下降;反过来,如果其最终精度依赖更多高斯原子、更复杂的参数生成器或特殊学习率设置,理论节省也可能被抵消。
它与 FlashAttention、线性注意力不是同一类方案
SSOG、FlashAttention 和线性注意力针对的是同一个扩展瓶颈,却选择了三条不同路径。 FlashAttention 保留精确 Softmax 注意力,线性注意力通常重排计算或用特征映射近似核函数,SSOG 则直接用具有几何归纳偏置的高斯混合来描述注意力分布。
| 路线 | 是否保留标准 SDPA | 常见复杂度目标 | 主要优势 | 主要风险 | |---|---|---:|---|---| | FlashAttention | 是,结果保持精确 | O(N²d) | 成熟、兼容现有模型、硬件利用率高 | 极长序列仍受二次计算约束 | | 线性注意力 | 否,通常采用核化或重排 | 线性或近线性 | 长序列扩展性强 | 表达能力、数值稳定性和任务泛化可能下降 | | 长卷积/状态空间模型 | 否 | 线性或近线性 | 适合超长序列和流式处理 | 与注意力架构、缓存方式差异较大 | | SSOG-Attention | 否 | O(N√N·d) | 保留动态注意力图,同时利用二维几何结构 | 对空间先验依赖强,工程验证不足 |
SSOG 的差异化价值在于它没有一味追求 O(N),而是接受 O(N^1.5) 来换取更直观的动态空间注意力。 这是一个务实选择:很多线性注意力方案在纸面复杂度上更漂亮,却难以稳定复现标准 Softmax 注意力的质量。SSOG 如果能用较少的高斯原子覆盖常见视觉注意力模式,次二次复杂度可能已经足以改变高分辨率训练的成本曲线。
真正的考验在高分辨率、视频和预训练规模
高分辨率视觉模型是 SSOG 最应该优先证明价值的场景。 对 224×224 图片使用 16×16 Patch 时只有 196 个 Token,标准注意力并不算昂贵;当分辨率提升到 1024×1024、Patch 尺寸缩小,或者模型要处理密集预测特征时,Token 数可能进入数千乃至数万,次二次优势才会真正显现。
视频模型可能带来更大的收益,也会暴露更复杂的分解问题。 视频 Token 同时具有时间、高度和宽度三个坐标轴,理论上可以进一步利用可分离结构,但运动目标、镜头切换和跨帧对应关系并不总符合简单高斯分布。少量高斯原子能否表达长距离、离散和多目标关联,将直接决定 SSOG 能否从静态图片走向视频生成与理解。
文本大模型不会因为复杂度公式漂亮就自然采用 SSOG。 语言中的依赖关系不是连续二维空间:一句话开头的实体可能突然关联到几千 Token 之后的代词,代码中的函数调用也可能形成稀疏而不连续的连接。高斯核擅长表达局部、平滑和多中心结构,但是否能稳定表示这类离散跳转,需要专门的因果版本、位置设计以及长上下文检索实验。
因果掩码和 KV Cache 兼容性也是无法绕过的工程问题。 自回归模型要求当前位置只能看到过去 Token,并依赖 KV Cache 避免重复计算。SSOG 如果要进入大语言模型推理,需要说明高斯原子如何在单向约束下更新、增量生成的复杂度是多少,以及缓存的是原始 K/V、原子统计量还是其他压缩状态。
我们的判断:方向可信,替代 SDPA 还太早
SSOG-Attention 是一个值得继续追踪的视觉注意力实验,但“替代标准点积注意力”目前更像研究目标,而不是已经兑现的结论。 它的数学动机清楚,复杂度从平方降至 1.5 次方也足够实质;相比只在小矩阵上做近似,它还利用了图像 Token 的二维几何结构,路线并不空泛。
SSOG 当前最有说服力的部分是结构设计,而不是基准成绩。 CIFAR-100 和 ImageNet-1K 的早期结果说明模型至少没有因为高斯参数化而明显失去表达能力,但社区仍需要独立复现、更完整的消融实验,以及与 FlashAttention 优化基线在相同硬件、相同精度目标下的端到端比较。
接下来值得重点观察四个指标:
- 原子数量扩展规律: 高斯原子数量是否会随分辨率或任务复杂度同步增长。
- 真实吞吐拐点: SSOG 从多长的 Token 序列开始稳定快于 FlashAttention。
- 下游任务泛化: 检测、分割、生成和视频任务能否保持 ImageNet 分类中的表现。
- 大规模预训练稳定性: 数亿到数十亿参数下是否仍能稳定收敛,且不需要昂贵的训练技巧。
注意力的下一阶段未必是找到一个在所有任务上统一取代 SDPA 的结构。 更可能的结果是:短序列继续使用高度优化的 FlashAttention,高分辨率空间层使用 SSOG 一类几何注意力,超长时间序列则交给状态空间或长卷积模块。SSOG 真正有机会做成的,不是立刻推翻 Transformer,而是成为混合架构中的一个高效空间组件。
参考来源
- SSOG 官方 GitHub 仓库:项目代码、实验配置与后续更新的主要来源。
- Reddit Machine Learning 讨论帖:作者对复杂度、CIFAR-100 与 ImageNet-1K 初步结果的说明。
- FlashAttention 官方 GitHub 仓库:用于理解精确注意力的分块计算和工程优化路线。
- Datawhale Attention 机制资料:标准注意力计算流程与加权汇总机制的中文参考。



