不过,最近一项名为 KDEFormer 的研究表明,在注意力矩阵项有界的假设条件下,它能在次二次时间内提供可证明的近似值。从理论上讲,KDEFormer 的运行时大约为;它采用核密度估计 (kernel density estimation,KDE) 来近似列范数,允许计算对注意力矩阵的列进行采样的概率。然而,目前的 KDE 算法缺乏实际效率,即使在理论上,KDEFormer 的运行时与理论上可行的 O (n) 时间算法之间也有差距。
点积注意涉及处理三个输入矩阵: Q (queries) 、K (key)、V (value),大小均为 nxd,其中 n 是输入序列中的 token 数,d 是潜在表征的维度。这一过程的输出结果如下: 这里,矩阵 A := exp (QK^T) 被定义为 QK^T 的元素指数。D 是一个 n×n 对角矩阵,由 A 各行之和导出, 这里。在这种情况下,矩阵 A 被称为「注意力矩阵」,(D^-1 ) A 被称为「softmax 矩阵」。值得注意的是,直接计算注意力矩阵 A 需要 Θ(n²d)运算,而存储它需要消耗 Θ(n²)内存。因此,直接计算 Att 需要 Ω(n²d)的运行时和 Ω(n²)的内存。 研究者目标是高效地近似输出矩阵 Att,同时保留其频谱特性。他们的策略包括为对角缩放矩阵 D 设计一个近线性时间的高效估计器。此外,他们通过子采样快速逼近 softmax 矩阵 D^-1A 的矩阵乘积。更具体地说,他们的目标是找到一个具有有限行数的采样矩阵以及一个对角矩阵,从而满足误差的算子规范的以下约束:
研究者表明,通过基于 V 的行规范定义采样矩阵 S,可以高效解决公式 (1) 中注意力近似问题的矩阵乘法部分。更具挑战性的问题是:如何获得对角矩阵 D 的可靠近似值。在最近的成果中,Zandieh 有效地利用了快速 KDE 求解器来获得 D 的高质量近似值。研究者简化了 KDEformer 程序,并证明均匀采样足以实现所需的频谱保证,而无需基于内核密度的重要性采样。这一重大简化使他们开发出了一种实用的、可证明的线性时间算法。 与之前的研究不同,本文方法并不需要有界条目或有界稳定秩。此外,即使注意力矩阵中的条目或稳定秩很大,为分析时间复杂性而引入的细粒度参数仍可能很小。 因此,HyperAttention 的速度有了显著提高,在序列长度为 n= 131k 时,前向和后向传播速度提高了 50 倍以上。在处理因果掩码时,该方法仍能大幅提高 5 倍的速度。此外,当该方法应用于预训练的 LLM (如 chatqlm2-6b-32k )并在长语境基准数据集 LongBench 上进行评估时,即使不需要微调,也能保持与原始模型接近的性能水平。研究者还对特定任务进行了评估,他们发现总结和代码完成任务比问题解答任务对近似注意力层的影响更大。
算法
为了在近似 Att 时获得频谱保证,本文第一步是对矩阵 D 的对角线项进行 1 ± ε 近似。随后,根据 V 的平方行ℓ₂-norms,通过采样逼近 (D^-1)A 和 V 之间的矩阵乘积。 近似 D 的过程包括两个步骤。首先,使用植根于 Hamming 排序 LSH 的算法来识别注意力矩阵中的主要条目,如定义 1 所示。第二步是随机选择一小部分 K。本文将证明,在矩阵 A 和 D 的某些温和假设条件下,这种简单的方法可以建立估计矩阵的频谱边界。研究者的目标是找到一个足够精确的近似矩阵 D,满足:
本文的假设是,softmax 矩阵的列范数呈现出相对均匀的分布。更准确地说,研究者假设对于任意 i ∈ [n] t 存在某个,使得。 算法的第一步是使用 Hamming 排序 LSH (sortLSH) 将键和查询散列到大小均匀的桶中,从而识别注意力矩阵 A 中的大型条目。算法 1 详细介绍了这一过程,图 1 直观地说明了这一过程。