
NVIDIA
FA3新增了对FP8低精度的支持,这使Tensor Core的吞吐量提升了一倍。例如,在FP16模式下性能可达989 TFLOPS,而FP8模式下更是提高到1978 TFLOPS。尽管低精度计算在准确性上有所妥协,但对深度学习训练等多数场景而言,这种精度损失是可以接受的(PyTorch)。FA3 的一个重要特点是针对异步计算的优化。在现代加速器中,传统的矩阵乘法(GEMM)与 softmax 操作的性能差距较大,而通过异步执行这些任务,能够显著提高整体效率。以 H100 GPU 为例,FP16 矩阵乘法的理论峰值吞吐量可达 989 TFLOPS,但像 softmax 这样的特殊函数吞吐量仅为 3.9 TFLOPS。FA3 引入了跨 warp 组的 pingpong 调度机制,使 GEMM 和 softmax 操作能够并行运行,从而有效减少等待时间并提升计算性能。这一方法在 PyTorch 中得到了应用,进一步增强了模型的运行效率。FA3针对长序列提出了一种新的并行化方法。在长序列和小批量场景下,传统FlashAttention的效率较低,主要原因在于其并行度不足。而FA3通过在序列长度方向增加并行计算,有效解决了这一问题,大幅提升了处理性能。实验表明,在A100 GPU上应用FA3时,相较于原有方法,可获得2.2至2.7倍的速度提升。这使得在实际应用场景中处理大规模数据更加高效和可行。
FA3通过改进任务分配与并行计算策略,进一步提升了运行效率。在FlashAttention-2中,我们采用了一种方法,即在单个线程块内划分Q矩阵,同时让所有warp共享K和V矩阵,从而减少对共享内存的访问频率。而FA3对此进行了优化,通过降低不同warp之间的通信需求,有效减少了同步与数据交互的开销,实现了更高效的性能表现。

AI
Copyright © 2025 IZhiDa.com All Rights Reserved.
知答 版权所有 粤ICP备2023042255号