本文的研究题目为“FlightLLM: Efficient Large Language Model Inference with a Complete Mapping Flow on FPGAs”,由来自清华大学、上海交通大学以及Infinigence-AI的多个学者共同完成,其中明确指出*Shulin Zeng*和*Jun Liu*为主要贡献作者,*Guohao Dai*和*Yu Wang*为通讯作者。论文将在2024年的“FPGA ’24”会议上发表,会议将于2024年3月3日至3月5日在美国加利福尼亚州蒙特雷举行。
学术背景与现状: 近年来,基于Transformer架构的大型语言模型(Large Language Models, LLMs)在自然语言处理(Natural Language Processing, NLP)领域取得了显著进展。LLMs在代码补全、实时聊天机器人、客户支持、法律咨询等延迟敏感场景中展现了优越的性能。然而,由于模型参数的急剧增长(如GPT-3包含高达1750亿参数)以及随之而来的计算和内存开销,现有GPU和Transformer加速器平台难以高效处理这些模型,尤其是在模型被压缩后。
研究动机: 现有的LLM加速方案通常依赖模型压缩技术,如稀疏化(Sparsification)和量化(Quantization),以减少计算与内存开销。然而,这些模型压缩方法在GPU平台上的支持效率较低。例如,现有GPU仅支持结构化稀疏性(如2:4稀疏性),而在非结构化稀疏性中,由于数据的稀疏分布更加不规律,这很难在现有硬件架构上实现端到端加速。同时,现有加速方法在存储上受限,尤其是解码阶段的频繁内存访问问题,以及对不同输入长度所需的复杂指令生成带来的编译负担。
研究目的与目标: 为解决以上问题,该研究提出了一种全新基于FPGA(Field-Programmable Gate Array)的LLM加速架构FlightLLM,通过FPGA特有的计算资源(如DSP48和异构内存层次结构)设计出完整的映射流程,以实现高效的LLM推理。研究旨在: 1. 解决现有一代LLMs所面临的计算效率低、内存带宽利用不足以及指令编译开销大的关键技术挑战。 2. 通过软硬件协同设计,支持模型压缩(包括稀疏化与量化)并优化推理性能。 3. 将FlightLLM在实际硬件平台(例如Xilinx Alveo U280 FPGA)上实现,并验证其在推理性能与能耗效率上的优越性。
本研究的工作流程主要包括以下三大部分:
1. 全新的计算架构设计 FlightLLM的硬件架构设计以FPGA的资源特点为核心,结合稀疏性支持与模型编译优化。硬件架构包括多个计算核心(Computing Cores)、任务调度器(Task Scheduler)、内存控制器(Memory Controller)等模块,构建了高性能且灵活可配置的推理系统。 - 配置化稀疏DSP链(Configurable Sparse DSP Chain, CSD-Chain)
FlightLLM提出了一种创新的配置化稀疏DSP链来支持多种稀疏模式(如块稀疏模式Block Sparsity和N:M稀疏模式),该设计通过对DSP资源的优化利用,实现了硬件计算单元的高效稀疏化支持。
Always-On-Chip解码方案
为缓解解码阶段频繁访问外部内存导致的带宽利用率下降,该研究提出了一种始终在片上完成解码的技术,将中间计算结果保存在FPGA的片上缓存中,显著提高了片外HBM(High Bandwidth Memory)带宽的利用率(从35.6%提高到65.9%)。
长度自适应的指令编译方法(Length Adaptive Compilation)
为应对大规模LLM推理中的动态输入长度问题,研究通过分组优化和跨长度复用指令文件,将所需的指令存储量从原有的TB级降低至GB级。
2. 稀疏化与量化优化策略 本文使用块稀疏稀疏化(Block Sparsity)与N:M稀疏模式对LLM模型进行剪枝,并采用混合精度量化(Mixed-Precision Quantization)以减少模型参数和激活数据的位宽。通过梯度优先原则(Gradient-Based Analysis),分配权重和激活值的量化位宽,最终实现权重平均量化到3.5位,激活则量化到8位。
3. 推理性能分析与部署 FlightLLM支持通过编译工具链将PyTorch原生的模型转换为中间表示(Intermediate Representation, IR),并进一步完成指令生成、存储优化及FPGA平台的硬件部署。在Xilinx Alveo U280 FPGA上,该研究实现了400多个指令块的优化流水线处理。
FlightLLM的研究结果涵盖多个角度:
1. 性能提升与对比 研究表明FlightLLM在Xilinx Alveo U280 FPGA上的推理性能相比NVIDIA V100S GPU显著提高。在最新的Versal VHK158 FPGA上,FlightLLM达到以下性能提升: - 能效表现:能源效率(token/J)提升6.0倍;推理成本效率(token/s/dollar)提升1.8倍。 - 解码吞吐量:对于如OPT-6.7B和LLaMA2-7B模型下的单批量推理(batch-size 1),FlightLLM解码精度平均可达55token/s,全面超过Nvidia A100 GPU。
2. 模型压缩后的准确性保持 在经过稀疏化与量化优化后的模型测试中,FlightLLM在Wikitext-103和Wikitext-2基准数据集上的困惑度(Perplexity)变化始终保持在合理范围内。例如,对于Llama2-7B模型,原始模型的困惑度为21.2,经过压缩后的模型仅提升到21.9,证明优化对于模型准确性的影响微乎其微。
3. 硬件资源高效利用 在FPGA资源利用报告中,FlightLLM在U280 FPGA的关键模块(如DSP资源)利用率达到了70.2%,在片上缓存和逻辑单元的分配中也表现出高效的资源使用策略。
FlightLLM的科学意义与应用价值体现在以下几个方面: 1. 推动LLM硬件加速发展
本研究为大型语言模型低功耗加速方案提供了一种可参考的FPGA实现,证明了FPGA在稀疏化与解码指令优化方面的潜在优势。
稀疏与量化支持的创新性
配置化稀疏DSP链与混合量化方案的结合,不仅为Transformer模型的进一步压缩提供了可能,也对硬件设计提出了新的挑战与解决路径。
高性能计算的工程化贡献
FlightLLM不仅能在现有FPGA平台上收益,更证明了FPGA资源可发挥的灵活性和高性价比。
FlightLLM代表了LLM推理硬件加速的新方向,尤其是在节能、高效率和算力优化方面,向科研及工业领域提供了重要的参考价值。这项研究还展示了FPGA特有的系统设计优势,其在稀疏化、指令优化和存储带宽利用方面的创新性方法,奠定了FPGA用于未来超大规模AI模型推理的重要基础。