本文是LLM系列文章,针对《FLASHDECODING++: FASTER LARGE LANGUAGE MODEL
INFERENCE ON GPUS》的翻译。
FLASHDECODING++:基于GPUS的快速大型语言模型推理
摘要
随着大型语言模型(LLM)在各个领域变得越来越重要,LLM推理的性能对大规模LLM应用至关重要。然而,在加速LLM推理方面,以下挑战仍未解决:(1)同步部分softmax更新。softmax操作需要在每个部分softmax结果之间进行同步更新操作,导致LLM中注意力计算的开销为~20%。(2) 平面GEMM的计算利用不足。LLM推理中执行GEMM的矩阵形状是平坦的,导致计算利用不足,并且在以前的设计(例如,cuBLAS、CUTRASS等)中填充零后性能损失>50%。(3)静态数据流导致的性能损失。LLM中的内核性能取决于不同的输入数据特征、硬件配置等。单个静态数据流可能导致LLM推理中不同形状的GEMM的性能损失50.25%。
我们介绍了FlashDecoding++,一个支持主流LLM和硬件后端的快速LLM推理引擎。为了应对上述挑战,FlashDecoding++创造性地提出:(1)具有统一最大值的异步softmax。FlashDecoding++为不同的部分softmax计算