FlightLLM: Efficient Large Language Model Inference with a Complete Mapping Flow on FPGAs

📄 arXiv: 2401.03868v2 📥 PDF

作者: Shulin Zeng, Jun Liu, Guohao Dai, Xinhao Yang, Tianyu Fu, Hongyi Wang, Wenheng Ma, Hanbo Sun, Shiyao Li, Zixiao Huang, Yadong Dai, Jintao Li, Zehao Wang, Ruoyu Zhang, Kairui Wen, Xuefei Ning, Yu Wang

分类: cs.AR, cs.AI

发布日期: 2024-01-08 (更新: 2024-01-09)

备注: Accepted to FPGA'24


💡 一句话要点

提出FlightLLM以解决FPGA上大语言模型推理效率问题

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 大语言模型 FPGA 推理效率 稀疏化 混合精度 编译优化 计算机架构

📋 核心要点

  1. 现有的GPU和基于Transformer的加速器在处理压缩大语言模型时效率低下,面临计算效率低、内存带宽利用不足和编译开销大的挑战。
  2. 本文提出FlightLLM,通过利用FPGA特定资源,设计可配置的稀疏DSP链和始终开启的芯片解码方案,以提高推理效率。
  3. FlightLLM在Xilinx Alveo U280 FPGA上实现了6.0倍的能效提升和1.8倍的成本效率,相比于NVIDIA V100S,吞吐量提升1.2倍。

📝 摘要(中文)

基于Transformer的大语言模型(LLMs)在多个领域产生了显著影响。然而,LLMs的效率受到重计算和内存开销的影响。压缩技术如稀疏化和量化常用于缓解LLMs的计算/内存开销与硬件能力之间的差距。然而,现有的GPU和基于Transformer的加速器无法有效处理压缩的LLMs,主要面临低计算效率、内存带宽利用不足和编译开销大的挑战。本文提出了FlightLLM,通过在FPGA上实现完整的映射流程来实现高效的LLMs推理。FlightLLM利用FPGA特定资源(如DSP48和异构内存层次)解决LLMs的计算和内存开销问题。我们提出了可配置的稀疏DSP链,以支持不同的稀疏模式并提高计算效率。同时,提出了一种始终开启的芯片解码方案,以通过混合精度支持提升内存带宽。最后,为了使FlightLLM适用于现实世界的LLMs,我们提出了一种长度自适应编译方法,以减少编译开销。在Xilinx Alveo U280 FPGA上实现的FlightLLM在现代LLMs(如LLaMA2-7B)上实现了6.0倍的能效提升和1.8倍的成本效率,相比于商业GPU(如NVIDIA V100S),在批量大小为1的情况下,FlightLLM的吞吐量比NVIDIA A100 GPU高出1.2倍。

🔬 方法详解

问题定义:本文旨在解决大语言模型在推理过程中的计算和内存开销问题,现有方法在处理压缩模型时效率低下,无法充分利用硬件资源。

核心思路:FlightLLM通过利用FPGA的特定资源(如DSP48和异构内存层次),设计可配置的稀疏DSP链和始终开启的芯片解码方案,以提高计算效率和内存带宽。

技术框架:FlightLLM的整体架构包括稀疏DSP链、芯片解码模块和长度自适应编译模块,形成一个完整的推理映射流程。

关键创新:最重要的创新点在于可配置的稀疏DSP链,能够支持不同的稀疏模式,显著提高计算效率,同时始终开启的芯片解码方案有效提升内存带宽。

关键设计:在设计中,稀疏DSP链的参数设置允许灵活调整以适应不同的稀疏模式,芯片解码方案支持混合精度计算,长度自适应编译方法则减少了编译开销。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

FlightLLM在Xilinx Alveo U280 FPGA上实现了6.0倍的能效提升和1.8倍的成本效率,相比于NVIDIA V100S,吞吐量提升1.2倍,展示了其在现代大语言模型推理中的显著优势。

🎯 应用场景

FlightLLM的研究成果具有广泛的应用潜力,特别是在需要高效推理的大语言模型应用场景中,如自然语言处理、机器翻译和对话系统等。其高能效和低成本的特性使其在边缘计算和云计算环境中具有重要的实际价值,未来可能推动更多智能应用的发展。

📄 摘要(原文)

Transformer-based Large Language Models (LLMs) have made a significant impact on various domains. However, LLMs' efficiency suffers from both heavy computation and memory overheads. Compression techniques like sparsification and quantization are commonly used to mitigate the gap between LLM's computation/memory overheads and hardware capacity. However, existing GPU and transformer-based accelerators cannot efficiently process compressed LLMs, due to the following unresolved challenges: low computational efficiency, underutilized memory bandwidth, and large compilation overheads. This paper proposes FlightLLM, enabling efficient LLMs inference with a complete mapping flow on FPGAs. In FlightLLM, we highlight an innovative solution that the computation and memory overhead of LLMs can be solved by utilizing FPGA-specific resources (e.g., DSP48 and heterogeneous memory hierarchy). We propose a configurable sparse DSP chain to support different sparsity patterns with high computation efficiency. Second, we propose an always-on-chip decode scheme to boost memory bandwidth with mixed-precision support. Finally, to make FlightLLM available for real-world LLMs, we propose a length adaptive compilation method to reduce the compilation overhead. Implemented on the Xilinx Alveo U280 FPGA, FlightLLM achieves 6.0$\times$ higher energy efficiency and 1.8$\times$ better cost efficiency against commercial GPUs (e.g., NVIDIA V100S) on modern LLMs (e.g., LLaMA2-7B) using vLLM and SmoothQuant under the batch size of one. FlightLLM beats NVIDIA A100 GPU with 1.2$\times$ higher throughput using the latest Versal VHK158 FPGA.