Translate this html (keep the html code in the result) to Chinese:
高效地在延长序列中进行推理是机器学习中的主要难题。最近,卷积已经成为序列建模的关键原始,支持语言建模、时间序列分析、计算机视觉、DNA建模等领域的最新性能。尽管有这些令人印象深刻的质量发现和其他优势,如随着序列长度增加的改进稳定性和更好的可扩展性,卷积序列模型仍然比Transformer模型慢得多。
一个主要原因是硬件支持不稳定。与视觉应用中使用的短滤波器相比,序列建模中的卷积经常使用与输入序列长度一样长的滤波器。快速傅里叶变换(FFT)卷积算法通过映射输入和输出频率来计算输入u和卷积核k之间的卷积。
尽管渐近有效,但FFT卷积算法在现代加速器上的计时效果较低。然而,系统技术的进步使得Transformer模型能够达到当前加速器的极限,在使用FlashAttention-v2时,端到端FLOP使用率超过72%。
为了提供更长的上下文能力,斯坦福大学的一项新研究调查了如何在现代加速器上优化FFT卷积方法。研究人员认为,随着FlashAttention等系统的进步,导致了更好的模型和新的注意力算法,优化FFT卷积将会产生新的更好的算法,提升卷积序列模型的质量。
FFT卷积可以很容易地优化短序列。常见的做法是在多个批次中重复使用卷积核滤波器,这使得可以在重复使用之前预先计算滤波器的FFT。因此,FFT卷积在批次和滤波器之间是并行的,并且内核融合允许将中间卷积输出缓存在静态随机存取存储器(SRAM)或寄存器中。
- 然而,团队指出,随着序列长度的增加,出现了两个主要瓶颈。就当前加速器而言,FFT卷积不会充分利用专用矩阵-矩阵乘法单元。
- 其次,随着序列变得过长而无法适应SRAM,内核融合失败,需要进行昂贵的输入/输出操作。用于因果关系的填充操作以及从实值输入/输出转换为复值FFT中间结果可能进一步增加这些I/O成本。
为此,研究人员提出了一种名为FlashFFTConv的新算法,该算法采用了FFT的Monarch分解,以优化针对长序列的FFT卷积。通过p阶Monarch分解,FFT可以通过一系列p个矩阵-矩阵乘法操作有效地传输到硬件中。较大的p值由于较小的矩阵而导致更少的FLOP成本,但需要更多的I/O来传递中间结果。因此,涉及到权衡。
该研究演示了如何基于序列长度使用简单的成本模型来优化FLOP成本和I/O成本,在GPU上优化p。除了在更长的序列长度上促进内核融合之外,该分解还减少了必须在SRAM中维护的序列的数量。因此,FlashFFTConv可以轻松处理从256个字符到400万个字符的序列。通过使用实值FFT算法并在输入进行零填充时跳过部分矩阵-乘法操作,FlashFFTConv可以将FFT操作的长度减少多达一半。最后但并非最不重要的是,FFT卷积的矩阵视图为实施两个架构修改提供了简单的界面:偏差卷积和频率稀疏卷积。这两种方法可以简单地通过省略矩阵分解的部分来实现,从而降低内存占用和计时运行时间,并可以看作是Transformer中稀疏/近似注意力的卷积并行。
研究人员证明了FlashFFTConv加速了FFT卷积,从而实现了更好的质量、更高效和更长的序列模型。
- 通过更好的效率,FlashFFTConv提高了卷积序列模型的质量:在相同的计算预算下,FlashFFTConv使Hyena-GPT-s的困惑度提高了2.3个点,并使M2-BERT-base的平均GLUE分数提高了3.3个,性能提升相当于模型参数加倍。
- 与PyTorch相比,FlashFFTConv在卷积效率方面提高了高达7.93倍,并在内存节省方面提高了高达5.60倍,而且这种高效性在序列长度上可以达到四个数量级。对于长度为2K及以上的序列,FlashFFTConv在计时效果上快于FlashAttention-v2端到端,原因是FLOP成本更低,并且实现了高达62.3%的端到端FLOP使用率,仅比FlashAttention-v2少10%。
- FlashFFTConv使更长序列的模型成为可能。FlashFFTConv生成的模型是唯一能够完成长阶竞技场基准的Path-512作业(序列长度为256K)的模型,用于高分辨率图片分类。FlashFFTConv是第一个以单核苷酸分辨率嵌入最长人类基因(长达230万个碱基对)的模型;通过部分卷积,它将HyenaDNA扩展到4M的序列长度。
团队希望FlashFFTConv能够为卷积序列模型的更广泛使用铺平道路,并希望所学到的经验能够导致更具资源效率的计算机架构。