通过结合快速傅里叶变换的优势,快速傅里叶卷积(FFC)提供了一种高效的方式来执行卷积操作,特别是在需要全局上下文信息和跨尺度特征融合的场景中。
这种独特的频域操作不仅能提高特征提取的效率和质量,还可以加速计算过程。在实际应用中帮助我们提高模型性能,同时保持较低的计算成本。比如:
-
英伟达等团队提出的基于傅里叶的神经网络预测模型FourCastNet,在节点小时(node-hour)基础上比传统 NWP 模型快约 45,000 倍。
-
斯坦福团队引入FlashFFTConv来优化机器学习中长序列的FFT卷积,可将FFT卷积加速高达7.93倍。
为帮助同学们深入了解FFC原理,获取科研灵感,我整理了10个快速傅里叶卷积创新方案,来源文章以及开源代码也列上了,方便同学们复现。
论文和代码需要的同学看文末
FlashFFTConv: Efficient Convolutions for Long Sequences with Tensor Cores
方法:作者提出了一种新的系统FlashFFTConv,通过Monarch FFT分解对FFT卷积进行优化。该分解将FFT表示为一系列矩阵乘法操作,可以有效地映射到硬件上。通过简单的GPU成本模型,作者展示了如何根据序列长度调整分解的顺序p,以平衡FLOP成本和I/O成本。
FlashFFTConv还利用实值FFT算法将FFT操作的长度减半,并在输入进行零填充时有选择地跳过矩阵乘法操作的部分。此外,作者还提出了部分卷积和频率稀疏卷积的架构扩展,这些扩展可以减少内存占用和运行时间。