Online Softmax

在线 softmax 通过运行最大值和归一化统计数据,跨块增量计算归一化指数减少,从而允许注意力内核避免具体化满分矩阵。

核心思想

对于每个块,该算法更新数值稳定的运行最大值和指数总和,重新调整先前的部分结果,并结合新的贡献。这使得内存使用与块状态成正比,而不是与所有成对注意力分数成正比,但正确性和速度取决于精度、缩减顺序、图块形状和硬件执行。

为什么重要

在线 softmax 是 IO 感知注意力内核背后的关键原语。内核改进应区分算法内存节省和 GPU 特定实现增益,并在规定的序列长度和精度下验证数值行为。

关键观察 / 隐含假设

设计空间与取舍

  • 图块大小与占用/寄存器压力:较大的图块会减少调度开销,但可能会降低并行度。
  • 精度与稳定性:低精度可提高吞吐量,同时使缩放和累积选择变得重要。
  • 精确注意力与近似:在线softmax将softmax计算保留到有限精度行为;它与稀疏或近似注意力不同。

引用本概念的论文