大语言模型在FPGA上的加速技术研究综述

失衡猫1,Gemini2

(1. 东北大喵 计算机科学与工程学喵,喵宁 喵阳 中国 1x0x1x;2. 谷歌 AI,美国)

摘      要:近年来,大语言模型(Large Language Models, LLMs)取得了飞速发展,其参数规模和计算复杂度急剧增长,对现有硬件平台构成了严峻挑战。现场可编程门阵列(Field-Programmable Gate Arrays, FPGAs)凭借其可重构性、高并行度和高能效等优势,在LLM加速领域展现出巨大潜力。本文综述了LLM在FPGA上加速的关键技术、代表性加速器设计以及新兴研究趋势。首先阐述了LLM的计算特性及其对硬件加速的迫切需求,分析了FPGA在该领域的独特优势。其次,详细讨论了模型量化、模型稀疏化、计算架构与数据流优化、内存系统与访问优化等核心加速技术在FPGA上的应用。接着,回顾了若干具有代表性的面向云端和边缘端的LLM-FPGA加速器设计案例,并探讨了高层次综合(HLS)工具在简化设计流程中的作用。此外,本文关注了LLM辅助FPGA设计这一新兴交叉领域。最后,总结了当前LLM-FPGA协同设计面临的主要挑战,并展望了未来的研究方向,包括超低比特量化、自适应可重构架构、异构集成以及面向多模态LLM的加速等,旨在为相关领域的研究人员提供参考。

关  键  词:大语言模型;FPGA;硬件加速;模型量化;模型稀疏化;空间架构;边缘计算

A Review of Acceleration Technologies for Large Language Models on FPGAs

UnbalancedCat1, Gemini2

(1. Cat of Computer Science & Engineering, Northeastern Kittey, Meowyang Meowning China 1x0x1x; 2.Google AI, America)

Abstract: In recent years, Large Language Models (LLMs) such as GPT and Llama have developed rapidly, with their parameter scale and computational complexity increasing dramatically, posing severe challenges to existing hardware platforms. Traditional CPUs and GPUs face limitations in energy efficiency and latency for LLM-specific tasks. Field-Programmable Gate Arrays (FPGAs), with their reconfigurability, high parallelism, and energy efficiency, offer a customizable and promising alternative for LLM acceleration. This paper reviews key technologies, representative accelerator designs, and emerging research trends for accelerating LLMs on FPGAs. It first elaborates on the computational characteristics of LLMs and the urgent need for hardware acceleration, analyzing the unique advantages of FPGAs in this domain. Key acceleration techniques such as model quantization (e.g., W4A16), model sparsity, compute architecture and dataflow optimization (including spatial architectures), and memory system optimization for LLM inference are discussed in detail. Several representative LLM-FPGA accelerator designs for both cloud and edge applications are reviewed, along with the role of High-Level Synthesis (HLS) tools in simplifying the design process. Furthermore, this paper addresses the emerging interdisciplinary field of LLM-assisted FPGA design. Finally, it summarizes the main challenges in current LLM-FPGA co-design and looks forward to future research directions, including ultra-low-bit quantization, adaptive reconfigurable architectures, heterogeneous integration, and acceleration for multimodal LLMs, aiming to provide a reference for researchers in related fields.

Key words: Large Language Model; FPGA; Hardware Acceleration; Model Quantization; Model Sparsity; Spatial Architecture; Edge Computing

引言

大语言模型(Large Language Models, LLMs)如GPT系列、Llama系列等,在自然语言处理、代码生成、智能对话等众多领域引发了革命性变革。这些模型的参数规模已从最初的数亿级别迅速膨胀至数千亿甚至万亿级别,带来了前所未有的计算复杂度和存储需求[1], [2]。这种巨大的计算负载对现有硬件平台构成了严峻挑战,尤其是在追求低延迟推理和高能效部署的场景中。

传统的通用计算平台,如中央处理器(Central Processing Units, CPUs)和图形处理器(Graphics Processing Units, GPUs),虽然提供了强大的通用计算能力,但在处理LLM特有的计算模式(如大规模矩阵乘法、注意力机制)和内存密集型操作时,其能效和延迟表现往往不尽人意。现场可编程门阵列(Field-Programmable Gate Arrays, FPGAs)作为一种可定制、高并行度、高能效的硬件加速平台,在满足LLM特定计算需求方面展现出巨大潜力[1], [3]。FPGAs允许设计者根据具体算法和模型特性,定制化硬件架构,从而实现比通用处理器更高的能效和更低的延迟。

LLM与FPGA的结合研究,旨在通过软硬件协同优化,克服传统通用处理器在LLM推理(以及部分训练场景)中的瓶颈,推动人工智能应用向更广阔的领域延伸,特别是在边缘计算和嵌入式系统中。该领域的研究虽然在LLM爆炸式发展后成为热点,但其基础可追溯到早期神经网络在FPGA上的加速工作。随着研究的深入,关注点从通用的神经网络加速逐步聚焦到Transformer架构,再到当前针对LLM这一特定模型家族的精确优化。这种演进不仅反映了LLM技术的成熟,也表明FPGA作为一种硬件加速方案,其潜力正被不断挖掘以应对AI领域最前沿的挑战。特别地,FPGA在“推理”而非大规模“训练”以及在“边缘计算”和“能效”方面的突出表现,明确了其在LLM应用中的主要角色定位:即面向特定部署场景的、高能效的定制化加速器。这种定位源于FPGA固有的定制化能力和能效优势,使其在资源受限或对实时性要求高的边缘推理任务中具有不可替代性[1], [4]

本综述旨在全面梳理LLM在FPGA上加速的研究现状,系统介绍关键加速技术、典型的加速器设计案例、新兴的研究趋势,分析当前面临的挑战,并展望未来的发展方向,以期为相关领域的研究人员和工程技术人员提供有价值的参考。本文后续章节将分别讨论LLM对硬件加速的需求及FPGA的潜力、面向LLM的FPGA加速关键技术、代表性LLM-FPGA加速器设计与实现、新兴趋势LLM辅助的FPGA设计,最后进行挑战分析与未来展望。

1 LLM对硬件加速的需求及FPGA的潜力

1.1 LLM的计算特性与硬件挑战

LLM的卓越能力建立在其庞大的模型规模和复杂的计算需求之上。理解这些计算特性及其对硬件平台带来的挑战,是探讨FPGA加速方案的前提。

LLM的计算核心主要包括稠密的矩阵与矩阵乘法(General Matrix-Matrix Multiplication, GEMM),尤其在处理输入提示(Prefill)阶段;以及矩阵与向量乘法(General Matrix-Vector Multiplication, GEMV),主要存在于自回归生成(Decode)的各个步骤中。此外,注意力机制(Attention Mechanism)中的Query、Key、Value(QKV)计算、Softmax函数、层归一化(Layer Normalization)以及各种激活函数(如GELU)也是主要的计算密集型操作[1], [5], [6]。这些操作的计算量随着模型参数规模和输入序列长度的增加而急剧增长,对硬件的峰值计算能力提出了极高要求[2], [7]

更为严峻的是“内存墙”(Memory Wall)问题。LLM动辄数十亿甚至上万亿的参数量导致了巨大的模型存储需求。在推理过程中,为了支持自回归生成,还需要缓存大量的键值对(Key-Value Cache, KV Cache),其大小随上下文长度线性增长,进一步加剧了内存容量和带宽的压力[1], [8], [9], [10]。数据在计算单元和存储单元之间频繁搬运,不仅消耗大量时间,也成为主要的能耗来源,这一现象在内存带宽受限的解码阶段尤为突出[1], [6]。这种对内存带宽和容量的极致需求,已成为驱动LLM加速器架构创新的核心因素。研究趋势表明,学术界和工业界正从单纯追求浮点运算能力(FLOPs)转向更加关注内存访问效率和数据传输优化,例如对近内存计算(Processing-in-Memory, PIM)和存内计算(Near-Data Processing, NDP)的探索,以及空间架构(Spatial Architecture)的设计,都是为了缓解内存瓶颈[1], [6], [9], [10], [11], [12], [13], [14], [15], [16], [17]。可以说,内存问题是LLM硬件加速的首要挑战,未来的重大突破很可能源于存储体系的革新。

面对这些挑战,传统的硬件平台显得力不从心。CPUs由于其固有的串行执行特性和有限的并行度,难以满足LLM大规模并行计算的需求。GPUs凭借其强大的并行计算能力和成熟的生态(如CUDA),在LLM训练领域占据主导地位。然而,在推理场景,特别是对能效、成本和延迟有严格要求的边缘部署或小批量推理任务中,GPU的固定架构和高功耗可能并非最优选择[1], [3], [8]。其通用性设计也意味着可能无法针对LLM快速演化的模型结构或特定的优化技术(如极低比特量化、高度非结构化稀疏)提供最有效的支持。

1.2 FPGA在LLM加速中的独特优势

FPGA作为一种半定制电路,为LLM加速提供了独特的解决思路和技术优势。

首先,FPGA的核心优势在于其可定制性(Customization)和可重构性(Reconfigurability)。设计者可以根据LLM的具体计算模式和数据流特性,在逻辑资源、内存接口、处理单元(Processing Elements, PEs)等方面进行深度定制,构建出高度优化的硬件加速器[1], [3]。这种定制能力使得FPGA能够精确匹配算法需求,避免通用处理器中的冗余功能和控制开销。同时,FPGA的可重构性使其能够适应LLM模型结构的快速迭代和算法的持续演进,这在AI技术日新月异的今天尤为重要[18], [19], [20]。然而,高度定制化的空间架构虽然高效,但其设计和验证周期可能较长,这与LLM模型的快速迭代之间存在一定的张力。这种张力推动了对高层次综合(High-Level Synthesis, HLS)工具的依赖,以及对LLM辅助硬件设计等自动化、敏捷化设计方法的探索,旨在缩短开发周期,提高FPGA方案的灵活性和时效性[1], [12], [21], [22], [23], [24], [25]

其次,FPGA支持细粒度的并行处理(Fine-grained Parallelism)。FPGA内部包含大量的可编程逻辑单元、DSP模块和片上存储资源,可以构建大规模的并行计算阵列,实现任务级、数据级和指令级等多种形式的并行,从而高效执行LLM中的各类计算任务。

再次,FPGA在特定应用场景下具有显著的能效优势(Energy Efficiency)。通过定制化设计,FPGA可以最大限度地减少不必要的数据搬运和控制逻辑开销,专注于有效计算,从而在LLM推理等任务中实现比GPU更高的性能功耗比[1], [3], [26], [27]。这对于功耗敏感的边缘设备和大规模数据中心部署都具有重要意义。

此外,FPGA能够实现低延迟处理(Low Latency Capabilities)。定制化的数据通路和深度流水线设计使得FPGA能够在单批次或小批量推理场景下达到极低的响应延迟,满足实时交互式应用的需求[8], [13]

最后,FPGA对多样化的数据类型和精度(Diverse Data Types and Precision)具有良好的支持。FPGA的逻辑单元可以灵活配置以支持任意位宽的定点或浮点运算,以及非标准的数字表示(如INT4、INT8、三元甚至二元)。这使其能够高效地实现各种模型量化技术,进一步压缩模型、减少内存占用并加速计算,而这在固定数据通路宽度的GPU上可能效率较低或实现复杂[1], [28]

综上所述,LLM的巨大计算和存储需求对传统硬件提出了严峻挑战,而FPGA凭借其独特的优势,为构建高效、低功耗、低延迟的LLM加速器提供了可行的技术路径。

2 面向LLM的FPGA加速关键技术

为了在FPGA上高效运行LLM,研究者们探索并应用了多种关键技术,主要涵盖模型压缩、计算架构优化和内存系统优化等方面。这些技术往往相互依赖、协同作用,以期在有限的FPGA资源下实现最佳的性能和能效。

2.1 模型量化技术

模型量化通过降低模型权重和/或激活值的数据表示精度(例如,从32位浮点数(FP32)转换为8位整数(INT8)、4位整数(INT4)甚至更低的精度如三元(Ternary)或二元(Binary)),来显著减小模型尺寸、降低内存带宽需求、加速计算过程并降低功耗[1], [29], [30]

常见的量化方案包括:

  • W8A8(8位权重,8位激活值):作为一种相对成熟的方案,W8A8在保持较高模型精度的同时,能有效提升计算效率,是许多加速器设计的基准之一[29], [30]
  • W4A16(4位权重,16位激活值):该方案旨在通过4位权重量化大幅削减模型存储和带宽需求,同时保持16位激活值的精度以减少精度损失。Ghodrati S / Jindong Li等人的工作采用激活感知权重量化(Activation-aware Weight Quantization, AWQ)策略实现了W4A16,特别适用于资源受限的嵌入式FPGA。
  • W4A8(4位权重,8位激活值):这是一种更激进的量化方案,期望结合4位权重的存储优势和8位激活值的计算效率。QQQ[29], [30] 和 ZeroQuant-FP 等研究探索了W4A8的可行性与优化方法。
  • 极低比特量化:例如,TerEffic项目探索了三元权重量化(等效于约1.58比特),利用FPGA的比特级操控能力实现极致压缩[28], [31], [32]

量化技术本身也包含多种策略。训练后量化(Post-Training Quantization, PTQ)直接对预训练好的模型进行量化,实现简单,但可能面临一定的精度下降[29], [30]量化感知训练(Quantization-Aware Training, QAT)则在模型训练过程中引入量化操作,使模型适应低精度表示,通常能获得更好的精度,但训练过程更为复杂。混合精度量化(Mixed-Precision Quantization)允许模型不同部分(如不同层或权重与激活)采用不同的量化精度,以在效率和精度之间取得更优平衡[8], [33]。针对LLM推理中不断增长的KV缓存,KV缓存量化也成为一个重要的优化方向,例如Ghodrati S / Jindong Li等人提出的KV8线性量化,以及Oaken项目中提出的在线-离线混合KV缓存量化方案[9], [10], [34], [35]。此外,如何有效处理量化过程中产生的“离群值”(Outliers)对保持模型精度至关重要,SmoothQuant 和Oaken的离群值分离[9], [10] 等技术为此提供了解决方案。

FPGA的细粒度可编程性使其能够灵活支持各种定制化的数据类型和算术单元,从而高效实现上述不同的量化方案,这是其在量化加速方面相较于固定架构处理器的显著优势[1], [28]

2.2 模型稀疏化技术

模型稀疏化通过利用并增加模型中权重或激活值的零元素比例,跳过无效计算,从而减少计算量、降低模型存储和内存带宽需求。

稀疏性主要分为:

  • 非结构化稀疏(Unstructured Sparsity):模型中任意位置的权重都可能为零,形成不规则的稀疏模式。这种稀疏方式理论上可以达到很高的压缩率,但由于其模式不规则,对硬件并行加速提出了较大挑战,容易导致计算单元利用率低下和不规则的内存访问[36], [37]。PUSH方案通过将非结构化稀疏转换为结构化稀疏来提升硬件效率[36]
  • 结构化稀疏(Structured Sparsity):以预定义的、规则的模式引入稀疏性,例如向量级、块级或N:M稀疏(即每M个连续元素中保留N个非零元素)。结构化稀疏更容易被硬件高效利用[36], [37]。NVIDIA Ampere架构支持的2:4稀疏是一个典型的工业界应用。FLOW方法则提出了一种灵活的、逐层自适应的N:M稀疏策略[37], [38]

稀疏化技术通常通过剪枝(Pruning)来实现。为了高效存储和处理稀疏数据,通常采用压缩稀疏行(Compressed Sparse Row, CSR)或压缩稀疏列(Compressed Sparse Column, CSC)等数据格式[37]。FPGA实现稀疏计算加速的关键在于设计专门的处理单元(PEs)或计算引擎来识别并跳过零值运算,并有效管理稀疏数据的访存。例如,FlightLLM项目引入了可配置的稀疏DSP链,FlexCiM加速器则针对N:M稀疏模式进行了优化[37], [38]。FPGA的可定制性使其能够为特定的稀疏模式和数据格式设计高效的处理逻辑,从而在处理稀疏LLM时展现出潜力。

2.3 计算架构与数据流优化

FPGA上LLM加速器的计算架构和数据流设计对性能和效率至关重要。主要存在两种架构范式:

  • 时间架构(Temporal Architecture):采用通用的、可复用的处理单元(PEs)来执行模型中不同层或不同算子的计算。这种架构设计相对简单,灵活性较高,易于适应不同模型。许多基于覆盖(Overlay)的FPGA加速器(如DFX[1], [13], [39])属于此类。其主要缺点是中间计算结果需要频繁读写片外存储器,可能导致较高的数据搬运开销和延迟[12], [13], [17], [16]
  • 空间架构(Spatial Architecture):为模型中的特定算子或层定制专用的、独立的硬件处理单元,这些单元通过片上流式缓冲(如FIFO)直接连接,形成数据流式的执行方式。这种架构最大限度地减少了对片外存储器的访问,支持深度流水线并行,能够为特定模型实现极高的性能和能效[1], [6], [12], [13], [17], [16]。Park J等人的研究是空间架构在LLM加速中应用的典型代表[1], [12], [13], [17], [16]。空间架构在LLM推理的内存密集型解码阶段表现尤为出色,但在计算密集型的预填充阶段可能不如GPU高效。这种特性暗示了未来FPGA加速器可能需要采用混合架构或动态可重构设计,以适应LLM推理不同阶段的计算特征。

数据流优化旨在精心规划数据在加速器内部的流动路径,以最大化计算单元利用率并最小化数据等待和冲突。常见的优化技术包括算子融合(Operator Fusion),即将多个连续的计算操作合并到单个硬件内核中执行,以减少中间数据的存储和搬运开销,例如Ghodrati S / Jindong Li等人在注意力层中融合投影和注意力计算[1], [6]。深度流水线(Deep Pipelining)将复杂的计算任务分解为多个串行阶段,并在这些阶段上并行处理不同的数据,以提高吞吐量,FlexRun项目即采用了深度流水线架构[1], [20]。脉动阵列(Systolic Arrays)作为一种经典的并行计算结构,因其规整的数据流和高效的局部通信特性,常被用于实现FPGA上的大规模矩阵乘法。

2.4 内存系统与访问优化

鉴于LLM的内存密集特性,内存系统的优化是FPGA加速器设计的重中之重。

  • 片上存储层次优化:充分利用FPGA内部的BRAM(Block RAMs)、URAM(UltraRAMs)等片上存储资源构建高效的缓存(Cache)或本地缓冲区(Local Buffers),以存储频繁访问的权重、激活值或中间结果,从而减少对片外存储器的访问延迟和带宽压力[28], [31]。TerEffic的全片上存储方案即是极致利用片上资源的例子。
  • 高带宽内存(High Bandwidth Memory, HBM):现代高性能FPGA(如Alveo U280)集成了HBM,提供了远高于传统DDR内存的带宽,这对于缓解大型LLM的内存瓶颈至关重要[1], [9], [14], [15], [28], [31]。DFX等加速器就利用了HBM的优势。然而,HBM的容量仍然有限,且成本较高[9], [14]
  • 近内存/存内计算(PIM/NDP):作为一种前沿的内存优化技术,PIM/NDP旨在将部分计算逻辑移至内存芯片内部或近内存端执行,从而极大地减少数据在处理器和内存之间长距离搬运的开销[1], [9], [11], [14], [15], [16], [40]。研究表明PIM/NDP在LLM推理中具有最高的理论能效,已有PIM与FPGA结合的原型探索,如SK Hynix的AiM与Xilinx FPGA的集成,以及PAPI架构。
  • KV缓存管理与优化:LLM推理过程中动态增长的KV缓存是主要的内存消耗者之一。针对KV缓存的优化包括专门的缓存结构设计、压缩技术(如前述的KV8量化和Oaken的混合量化方案[9], [10], [34], [35]),以及高效的内存布局策略。
  • 定制化数据排列格式:通过设计特定的数据在内存中的排列方式,例如Ghodrati S / Jindong Li等人提出的方案,可以确保对权重和KV缓存的访问能够形成大规模的连续突发传输(Burst Transfer),从而最大化有效内存带宽的利用率。

这些关键技术的选择与组合,以及它们与FPGA硬件特性的深度融合,共同决定了LLM加速器的最终性能。值得注意的是,这些技术并非孤立存在,而是相互影响、相互依赖的。例如,一个激进的量化方案的成功,可能依赖于FPGA架构对特定低精度数据类型和运算的良好支持;而非结构化稀疏的有效利用,则高度依赖于FPGA加速器中能够高效处理不规则计算和访存的创新设计。因此,一种整体的、软硬件协同设计的理念,综合考虑模型压缩、计算架构和内存系统优化,对于实现LLM在FPGA上的极致加速至关重要。这种协同设计也体现在,模型压缩技术的选择会直接影响硬件架构的设计需求,反之,FPGA的硬件能力(如比特级操作的灵活性)也为更激进的压缩算法提供了实现基础。

下表总结对比了上述关键技术在LLM-FPGA加速中的应用。

表1 LLM在FPGA上加速的关键技术对比
Table 1 Comparison of Key Technologies for Accelerating LLMs on FPGAs
技术类别具体技术主要优势主要挑战/代价FPGA实现特点代表性研究/方案 (部分)
模型量化W8A8平衡效率与精度仍有一定开销通用支持FlexRun
W4A16权重压缩显著,激活精度较高混合精度处理定制数据通路Ghodrati S / Jindong Li et al.
W4A8权重激活均压缩精度损失风险较大定制低比特运算单元QQQ [29, 30], ZeroQuant-FP
三元/二元极致压缩精度损失大,需专门算法与硬件LUT实现三元/二元逻辑TerEffic [28, 31]
KV缓存量化显著减少KV缓存大小动态数据量化复杂片上实时量化/反量化Ghodrati S / Jindong Li et al., Oaken [9, 10]
模型稀疏化非结构化稀疏理论压缩率高硬件加速困难,访存不规则定制逻辑处理不规则性PUSH [36]
结构化稀疏 (N:M)硬件友好,易于并行稀疏模式固定,可能非最优专用PE支持N:M模式FLOW/FlexCiM [37, 38]
计算架构时间架构灵活性高,设计相对简单数据搬运开销大Overlay设计,PE复用DFX [1, 13]
空间架构低延迟,高能效,少片外访存模型特定,设计复杂,灵活性低定制PE,数据流片上连接Park J et al. [1, 12]
流水线提高吞吐量流水线平衡与握手复杂深度流水线,算子级流水FlexRun [1, 20]
算子融合减少中间数据传输融合粒度与硬件资源权衡HLS易于实现局部融合Ghodrati S / Jindong Li et al.
内存系统HBM高带宽容量有限,成本高Alveo等平台集成DFX [1, 13], TerEffic (HBM) [28, 31]
PIM/NDP大幅减少数据搬运技术尚不成熟,集成复杂与FPGA异构集成探索SK Hynix AiM
片上存储优化极低延迟访问容量非常有限BRAM/URAM作缓存/缓冲区TerEffic (On-chip) [28, 31]

3 代表性LLM-FPGA加速器设计与实现

基于上述关键技术,学术界和工业界已提出多种LLM-FPGA加速器方案。这些方案根据其目标应用场景(云端或边缘)、采用的架构理念以及优化的侧重点而有所不同。

3.1 云端FPGA加速方案

面向云端数据中心的FPGA加速方案通常利用具有HBM等高带宽内存的大型FPGA芯片,旨在为LLM提供高性能、高吞吐量的推理服务,并探索多FPGA协同工作的可能性。

  • DFX 是一个面向GPT-2等模型文本生成任务的多FPGA设备[1], [13], [39]。它采用模块化架构,针对单Token处理优化了计算核心,并通过高效的瓦片(Tiling)方案和数据流设计充分利用HBM的高带宽特性。DFX支持在多FPGA系统上进行模型并行处理,例如,在四块Alveo U280 FPGA上为GPT2-1.5B模型实现了约120 tokens/s的推理速度。其设计理念可能更偏向于时间架构或覆盖层架构,以支持不同模型的加速并实现比特流复用。
  • Park J等人提出的空间架构加速器 则专注于为LLM推理构建模型特定的空间加速方案[1], [6], [12], [13], [17], [16]。该工作在Alveo U280 FPGA上实现了针对BERT和GPT2等模型的加速器。其核心思想是为模型中的不同算子或层定制独立的硬件处理单元,并通过片上数据流直接通信,从而最大限度地减少片外内存访问。实验结果显示,其BERT模型加速器相比此前的FPGA方案实现了高达13.4至16.1倍的加速;对于GPT生成式推理,在解码阶段的性能比NVIDIA A100 GPU快1.9倍,能效高5.7倍。该研究还提供了一个用于性能评估的分析模型和一个可复用的HLS内核库,对推动空间架构在LLM-FPGA领域的应用具有重要意义。
  • FlightLLM 被认为是首批真正意义上的FPGA LLM加速器之一,它在Xilinx Alveo U280 FPGA上成功运行了OPT-6.7B和LLaMA2-7B等规模较大的模型[1], [28], [41]。FlightLLM的关键创新在于利用可配置的稀疏DSP链来高效处理LLM中的稀疏性,并采用“始终在片上”(Always-on-chip)的解码方案以减少内存开销,为7B参数规模的LLM在U280上实现了55 tokens/s的推理速度。
  • TerEffic(HBM辅助版本) 专门针对三元量化的LLM进行优化[28], [31], [32]。当模型规模较大(如2.7B参数)时,该方案将三元量化后的权重存储在FPGA板载的HBM中,并通过批处理并行(Batch-parallelism)来提升权重复用率,缓解HBM带宽瓶颈。在U280 FPGA上,该方案为2.7B模型实现了727 tokens/s的单批次推理速度,性能是NVIDIA A100的3倍,能效提升8倍。

这些云端方案的共同特点是充分利用高端FPGA的计算资源和HBM的带宽优势,通过架构创新(如空间架构、多FPGA协同)和算法优化(如稀疏化、特定量化方案)来应对大规模LLM的挑战。它们不仅展示了FPGA在高性能计算场景下的潜力,也反映出设计理念从通用覆盖层向模型特定优化的演进。

3.2 边缘端FPGA加速方案

边缘端FPGA加速方案则更加关注在资源(计算、内存、功耗)极其受限的条件下实现LLM的高效推理,这对此类设备上的智能应用至关重要。

  • Ghodrati S / Jindong Li等人在Zynq平台上的工作 实现了里程碑式的突破,首次在仅有4GB内存的独立嵌入式FPGA(基于Zynq的KV260开发板)上成功部署了7B参数规模的LLaMA2模型[1], [4]。他们通过极致的软硬件协同优化,包括W4A16(AWQ)和KV8量化、定制化的数据流与算子融合流水线、优化的数据排列格式以及裸机(Bare-metal)环境开发,实现了约5 tokens/s的解码速度,内存容量利用率达到93.3%,内存带宽利用率达到理论极限的85%。这项工作充分证明了通过精巧设计,即使在资源极为有限的边缘FPGA上也能运行大型LLM。
  • LlamaF 是另一款针对嵌入式FPGA(Xilinx ZCU102)的Llama2架构加速器[39], [41]。它采用训练后量化压缩模型权重,并对推理时参数进行运行时量化,以大幅降低片外DDR内存带宽需求。LlamaF设计了全流水线的逐组量化矩阵向量乘法(GQMV)加速器,并支持在权重传输过程中异步执行FPGA计算,进一步提升性能。针对TinyLlama 1.1B模型,LlamaF相比仅使用ZCU102处理系统(PS)运行,取得了14.3-15.8倍的加速和6.1倍的能效提升。
  • TerEffic(全片上存储版本) 在处理较小规模的三元量化LLM(如370M参数)时,可以将所有模型权重存储在FPGA的片上存储器中[28], [31], [32]。这种设计充分利用了片上存储的超高带宽,实现了极高的推理吞吐量(单批次16300 tokens/s)和能效(455 tokens/s/W),远超NVIDIA Jetson Orin Nano等边缘GPU平台。对于略大于单FPGA片上存储容量的模型,该方案还支持通过多FPGA扩展。

此外,一些研究如EdgeLLM项目,则探索结合权重稀疏化和对数尺度结构稀疏性等技术,在AMD Xilinx FPGA上实现低功耗下的高tokens/s推理,进一步验证了稀疏化在边缘设备上的应用潜力。

边缘端FPGA加速方案的设计哲学体现了在极端约束下的创新。它们通常采用更激进的模型压缩策略,更精细的数据流控制,甚至牺牲一定的通用性来换取极致的效率。这些研究不仅推动了LLM在边缘设备上的落地,也为资源优化型硬件加速器的设计提供了宝贵经验。

3.3 动态可重构与模块化加速器

为了应对LLM模型多样性和快速演进带来的挑战,研究者们开始探索利用FPGA动态可重构特性和模块化设计思想的加速器方案。

  • FlexRun 是一个典型的代表,它是一款基于FPGA的模块化NLP模型加速器,能够根据目标模型(如BERT、GPT2)及其具体配置动态调整其硬件架构[1], [20], [42], [43], [44]。FlexRun的核心思想包括:采用深度流水线架构以减轻向量操作的开销;将加速器设计为包含参数化预定义基础模块的模板,通过算法进行设计空间探索(DSE)以确定针对特定模型的最佳计算单元(矩阵单元和向量单元)设计;并提供自动化工具链,根据DSE结果重新配置计算单元、存储单元和互连。FlexRun在多种NLP模型上均取得了优于基线FPGA加速器甚至NVIDIA V100 GPU的性能,充分展示了FPGA动态适应性在加速复杂多变NLP模型方面的优势。它有效解决了传统固定架构加速器在处理不同维度、不规则矩阵运算以及异构向量操作序列时可能出现的利用率不高的问题。

这类加速器设计的出现,标志着FPGA在LLM加速领域从静态定制向动态自适应方向的演进。它们试图在模型特化的高效率和平台通用的灵活性之间找到新的平衡点。

3.4 高层次综合(HLS)在加速器设计中的应用

高层次综合(High-Level Synthesis, HLS)是将C/C++/SystemC等高级语言描述的算法自动转换为底层硬件描述语言(HDL)代码的关键技术。HLS在LLM-FPGA加速器设计中扮演着越来越重要的角色。

HLS的主要作用在于:显著简化FPGA的开发流程,缩短设计周期,降低硬件设计的门槛,使得更多不具备深厚HDL编程经验的算法工程师和软件开发者也能参与到定制硬件加速器的设计中。它使得设计者可以从更高的抽象层次进行设计和优化,更专注于算法到硬件的映射逻辑,而非繁琐的底层实现细节。HLS工具通常还支持快速的设计空间探索,能够自动或半自动地评估数千种不同的硬件配置(如流水线深度、并行因子、内存划分等),帮助设计者快速收敛到计算和通信均优化的解决方案。

在LLM-FPGA领域,Park J等人提供的模块化、可复用的HLS内核库是一个很好的例子[1], [6], [12], [13], [17], [16]。该库包含了Transformer模型中常用操作(如矩阵乘法、注意力计算、激活函数等)的HLS实现,并计划开源。这些内核可以作为构建不同Transformer模型FPGA空间加速器的基础模块,极大地促进了HLS在该领域的应用和发展。该HLS库本身是使用一种名为Allo的Python嵌入式加速器设计语言和编译器生成的,这进一步体现了向更高抽象层次设计工具演进的趋势。

尽管HLS带来了诸多便利,但要生成与手动优化HDL代码性能相媲美的高效硬件,仍然面临挑战。设计者通常需要采用HLS友好的编码风格,并辅以编译指示(Pragmas)来指导综合工具进行特定的优化。即便如此,HLS的成熟和普及无疑是推动FPGA在AI硬件加速领域取得进展的关键使能技术之一。

表2 代表性LLM-FPGA加速器方案对比
Table 2 Comparison of Representative LLM-FPGA Accelerator Solutions
加速器名称主要研究者/机构目标LLM (示例)FPGA平台 (示例)核心架构特点关键技术主要性能指标 (示例)引用文献
DFXZeng H et al.GPT-2Alveo U280 (多卡)模块化,时间/覆盖层,模型并行HBM优化,瓦片化数据流GPT2-1.5B: ~120 tokens/s (4卡)[1, 13, 39]
Park J et al. 空间加速器Park J, Chen H et al.BERT, GPT2Alveo U280模型特定空间架构,数据流HLS内核库,深度流水线BERT: 13.4x-16.1x vs prior FPGAs; GPT2解码: 1.9x vs A100, 5.7x能效[1, 6, 12, 13, 17, 16]
FlightLLM未明确列出OPT-6.7B, LLaMA2-7BAlveo U280稀疏DSP链和片上解码可配置稀疏DSP链7B LLM: 55 tokens/s[1, 28, 41]
Ghodrati S / Jindong Li et al. (Zynq)Ghodrati S, Li J et al.LLaMA2-7BZynq KV260 (嵌入式)极致内存优化,裸机部署W4A16 (AWQ), KV8量化,算子融合LLaMA2-7B: ~5 tokens/s[1, 4]
LlamaF未明确列出TinyLlama 1.1BZynq ZCU102 (嵌入式)全流水线GQMV,异步计算训练后量化,运行时量化TinyLlama 1.1B: 14.3-15.8x vs PS[39, 41]
TerEffic (On-chip)Yin C et al.370M参数模型Alveo U280 (片上)全片上存储,TMat核 (LUTs)三元量化370M: 16300 tokens/s, 455 tokens/s/W[28, 31, 32]
TerEffic (HBM)Yin C et al.2.7B参数模型Alveo U280 (HBM)HBM存储权重,批处理并行三元量化2.7B: 727 tokens/s, 16 tokens/s/W[28, 31, 32]
FlexRunHur S et al.BERT, GPT2Stratix10动态可重构模块化架构深度流水线,DSE,自动化工具优于基线FPGA及V100 GPU[1, 20, 42, 43, 44]

这些代表性工作共同勾勒出LLM-FPGA加速领域的发展图景:一方面,研究者们不断探索FPGA架构的极限,力求在云端实现媲美甚至超越GPU的性能和能效;另一方面,他们也在积极拓展FPGA在资源极度受限的边缘设备上的应用边界。同时,设计方法学上的进步,特别是HLS和自动化工具的引入,正在逐步降低FPGA开发的复杂度,使得FPGA这一强大平台能够更快地响应LLM技术飞速发展的需求。这种软硬件协同的趋势,以及对特定应用场景(云端 vs. 边缘)进行深度优化的设计理念,是当前LLM-FPGA研究的核心特征。

4 新兴趋势:LLM辅助的FPGA设计

近年来,一个引人注目的新兴交叉研究方向是利用大语言模型(LLMs)自身的能力来辅助甚至自动化FPGA等硬件的设计流程,通常被称为“LLM辅助硬件设计”(LLM-assisted Hardware Design)或LLM4HW。这一趋势预示着人工智能不仅是被硬件加速的对象,也可能成为加速硬件设计过程本身的强大工具,形成一种“AI设计AI硬件”的递归式创新循环。

4.1 LLM在硬件描述语言生成与优化中的探索

传统的硬件描述语言(Hardware Description Languages, HDLs)如Verilog和VHDL的编码过程复杂、耗时且易出错。LLM凭借其强大的自然语言理解和代码生成能力,为自动化这一过程提供了新的可能性。

研究者们正在积极探索利用LLM从自然语言描述、高级规范甚至伪代码直接生成RTL(Register Transfer Level)级别的HDL代码[21], [22], [23]。例如,RTLLM和RTLCoder等项目专注于Verilog代码的自动生成。同时,针对在工业界仍广泛应用的VHDL语言,也有研究致力于定制化LLM以辅助VHDL代码的生成和解释,特别是对于拥有大量VHDL历史资产的组织,LLM可以帮助新工程师理解和维护遗留代码[21], [24]。除了从头生成代码,LLM还有潜力对已有的HDL代码进行优化,例如建议改进设计以提升性能、降低功耗或减小面积(PPA)。

LLM还可以作为智能助手,向设计者解释复杂的RTL结构或设计理念,辅助调试过程,从而提高设计效率和代码质量,并加速新设计人员的上手过程[21], [24]

4.2 LLM在设计验证与性能预测中的潜力

硬件设计的验证是确保功能正确性的关键环节,通常占据了设计周期的大部分时间。LLM有望在一定程度上自动化验证流程。

例如,LLM可以根据设计规范自动生成测试用例(Test Cases)或测试平台(Testbenches)。AssertLLM项目则探索了利用多LLM协作从设计规范中生成硬件验证断言(Assertions)的可行性[45]。LLM还可能通过分析HDL代码或仿真波形来辅助识别潜在的设计缺陷(Bugs)或不一致性,并提供修复建议。

在性能预测方面,已有研究尝试利用LLM从RTL设计中估计PPA指标,如MasterRTL框架。为了更好地评估和推动LLM在生成面向FPGA的资源优化型HDL代码方面的能力,ResBench等专用基准测试集应运而生[25]。这类基准不仅关注生成代码的功能正确性,更强调其在FPGA上的实际资源消耗(如LUT、FF、DSP、BRAM的占用率),从而引导LLM向生成更“硬件友好”代码的方向发展。此外,LLM还能用于生成控制EDA(Electronic Design Automation)工具的脚本,自动化设计流程中的重复性任务。

4.3 挑战和当前状态

尽管LLM辅助硬件设计展现出诱人的前景,但目前仍处于初级探索阶段,面临诸多挑战:

  • 数据质量与可用性:训练出高效的面向硬件设计的LLM,需要大规模、高质量的HDL代码和设计规范数据集。这类数据,特别是涉及专有或高度优化的工业级设计,往往难以获取[21], [24]。ICCAD(International Conference on Computer-Aided Design)等学术会议组织的LLM4HWDesign竞赛正是为了推动构建此类公共数据集。
  • 功能正确性与硬件感知:确保LLM生成的HDL代码不仅语法正确,更重要的是功能正确,并且能够满足严格的硬件约束(如时序收敛、资源限制、功耗预算),这是一个巨大的挑战。当前的LLM在进行资源优化方面仍有较大提升空间。
  • 处理机密性:在工业应用中,设计数据通常是高度机密的知识产权。因此,用于辅助设计的LLM必须在安全的环境中进行训练和部署,以防止信息泄露[21], [24]
  • 与EDA工作流的集成:如何将基于LLM的辅助设计工具无缝集成到现有的、成熟的EDA工作流中,是其实际应用的关键[21], [22]
  • 当前状态:目前,LLM在硬件设计领域更多扮演的是“副驾驶”或“智能助手”的角色,能够辅助完成一些模式化、重复性的任务,或提供初步的设计草案和文档。但距离完全自主、可依赖地完成复杂硬件设计,尤其是实现生产级别的、高度优化的硬件(满足PPA目标),仍有很长的路要走。这一“最后一公里”的优化和签核(Sign-off)工作,在可预见的未来仍将严重依赖人类专家的经验和成熟的EDA工具。

LLM辅助硬件设计这一趋势,从一个侧面反映了硬件设计抽象层次的不断提升。历史上,HLS工具的出现旨在通过允许使用C/C++等高级语言进行硬件设计,从而弥合软件与硬件之间的鸿沟,提升设计效率。而LLM辅助设计则试图从自然语言或更高层级的规范出发,进一步降低硬件设计的门槛,这可能使得更多系统架构师、算法开发者等不具备深厚HDL专业知识的人员也能参与到硬件的早期规格定义和初步设计中。这种趋势如果能够成功发展,无疑将极大地扩展硬件创新的参与群体,并可能深刻改变未来硬件设计的方法学。

5 面临的挑战与未来展望

尽管LLM在FPGA上的加速研究取得了显著进展,但该领域仍面临多方面的挑战,这些挑战同时也指明了未来的研究方向和技术突破口。

5.1 LLM-FPGA协同设计面临的核心挑战

  • 内存墙问题依然严峻:FPGA有限的片上存储容量和相对较低的片外内存(如DDR)带宽,始终是制约LLM高效部署的核心瓶颈,尤其随着LLM模型规模的持续增大和KV缓存需求的不断膨胀,这一问题愈发突出。
  • 计算密度相对较低:与最新一代的GPU和专用ASIC相比,FPGA的原始计算密度(如单位面积能集成的MAC单元数量)通常较低,这在一定程度上限制了其在纯计算密集型任务上的峰值性能表现。
  • 编程复杂性与设计周期:尽管HLS工具在不断进步,但为复杂且快速演进的LLM设计高度优化的FPGA加速器仍然是一项耗时且需要深厚硬件专业知识的任务。这限制了FPGA方案在更广泛的AI开发者社区中的快速普及和迭代。
  • 预填充(Prefill)与解码(Decode)阶段的效率均衡:LLM推理通常包含计算密集的预填充阶段和内存带宽敏感的解码阶段。现有FPGA方案往往在解码阶段表现出能效优势,但在预填充阶段的效率可能不及GPU[1], [4], [6]。如何设计出能够在两个阶段均表现出色的FPGA加速器,实现端到端的整体高效推理,是一个重要的挑战。
  • 通用性与定制化的平衡:FPGA的核心优势在于其高度的可定制化能力,可以为特定LLM模型实现极致的运行效率。然而,LLM模型结构和算法的快速迭代特性,使得高度定制化的硬件方案可能很快面临过时或不适用的风险。如何在为当前模型提供高效加速与保持对未来模型变化的灵活适应性之间取得平衡,是一个持续存在的设计难题。
  • 超大规模模型的可扩展性:虽然已有研究探索多FPGA协同加速方案(如DFX),但相比成熟的GPU集群技术,如何经济高效地将FPGA部署扩展到支持拥有数千亿乃至万亿参数的超大规模LLM,仍面临较大挑战。
  • 成本与工具链生态:高端FPGA芯片本身价格不菲,加之EDA商业软件的授权费用,使得FPGA方案的初始投入成本较高。同时,相较于GPU成熟且用户友好的CUDA等软件生态,FPGA的开发工具链在易用性和社区支持方面仍有提升空间。

许多针对上述挑战的解决方案,如通过激进量化来缓解内存墙,往往会引入新的问题,例如潜在的精度下降或实现复杂(反)量化逻辑的硬件开销。同样,采用稀疏化技术减少计算量,也需要额外的硬件来处理不规则访存或存储稀疏元数据。空间架构虽然高效,但灵活性较差且设计工作量大。这体现了LLM加速领域“没有免费午餐”的原则,未来的进步将更多依赖于在诸多约束条件下的多目标协同优化,而非单一技术的突破。

5.2 未来研究方向与技术趋势

展望未来,LLM-FPGA领域的研究预计将在以下几个方向取得重要进展:

  • 超低比特量化与硬件协同设计:进一步探索低于4比特的量化方案(如2比特、1.58比特的三元网络、甚至1比特的二元网络),并结合量化感知训练、硬件感知稀疏化等技术,在实现极致模型压缩的同时最大限度地保持模型精度。FPGA的比特级可重构性为实现这类定制化的超低比特运算单元提供了理想平台[1], [28]
  • 自适应与动态可重构架构:未来的FPGA加速器将不仅仅是静态的定制化设计,更有可能发展成为能够根据运行时的LLM模型类型、输入数据特性甚至系统负载,通过部分重构或覆盖层切换等方式,动态调整自身硬件架构(如计算单元配比、数据通路、内存组织)的智能系统[1], [20]。这将赋予FPGA平台更高的通用性和持续的效率优势,以适应LLM模型和应用场景的不断演化。
  • 异构集成与Chiplet(小芯片)架构:为了突破单芯片FPGA的性能和资源瓶颈,将FPGA与PIM/NDP单元、专用的ASIC IP核(如针对特定LLM算子的硬核)等进行深度异构集成,将是重要的发展方向[1], [9], [11], [14], [15], [16], [17]。通过Chiplet技术,可以将不同工艺、不同功能的裸片(Dies)封装在一起,构建出兼具FPGA灵活性和ASIC效率的混合计算平台,从而更有效地应对内存墙问题,并提升整体系统的吞吐量和能效。
  • 先进内存层次结构与管理:针对LLM的访存特性,研究更优化的FPGA片上存储组织方式(如更智能的BRAM/URAM使用策略、多级片上缓存)、更高效地利用HBM,以及开发更复杂的KV缓存压缩、替换和预取机制。
  • LLM辅助EDA与自动化设计:LLM在硬件设计领域的应用将持续深化,从辅助代码生成、验证、调试,到更高级的设计空间探索、自动优化HLS代码,甚至预测硬件性能,从而显著缩短FPGA的设计周期,降低开发门槛,提升设计质量[1], [21], [22], [23], [24], [25]。这种设计方法学的演进,预示着未来FPGA设计流程可能更加智能化和自动化。
  • 面向多模态LLM的通用加速器:随着LLM从单一的文本处理扩展到能够理解和生成图像、音频、视频等多种模态的数据[1], [8], [18], [46], [47], [48], [49], [50], [51], [52],对硬件加速器的需求也变得更加复杂和多样化。FPGA的灵活性使其有望为不同模态数据的特定处理需求(如视觉特征提取、音频信号处理)与LLM核心计算的融合提供高效的定制化加速方案,甚至可能出现能够高效处理多种数据模态的通用FPGA加速器架构。
  • 硬件感知的神经架构搜索(NAS):结合FPGA的硬件特性(如逻辑资源、DSP数量、内存带宽等约束),自动搜索或演化出不仅在算法精度上表现优越,而且能够在目标FPGA平台上高效实现的LLM网络结构。
  • LLM推理的安全性与隐私保护:随着LLM在金融、医疗等敏感数据处理领域的应用日益广泛,如何在FPGA上实现隐私保护的LLM推理成为一个重要议题。这可能涉及将同态加密、安全多方计算等密码学技术与FPGA加速器相结合,确保数据在处理过程中的机密性。例如,已有研究者(如Xu H. )在FPGA上加速同态加密。

特别值得一提的是,边缘计算场景的极端约束(如功耗低于10W,内存仅数GB)正在催生LLM-FPGA领域极具创新性的解决方案,如Ghodrati等人在Zynq上的工作[1], [4] 和TerEffic的全片上版本[28], [31]。这些在资源受限条件下取得的突破,例如极致的量化方案、高度优化的数据流和裸机编程范式,其经验和技术不仅推动了LLM在边缘的落地,也可能反哺云端加速器的设计,启发更高效的资源利用方式。这表明,边缘并非仅仅是技术的应用下游,更是驱动LLM硬件创新的重要试验场和灵感来源。

6 结论

大语言模型(LLMs)的飞速发展对计算硬件提出了前所未有的挑战,同时也为FPGA等可重构计算平台带来了新的发展机遇。本综述对LLM在FPGA上的加速技术研究进行了系统性的梳理和分析。

研究表明,通过综合运用模型量化、模型稀疏化、创新的计算架构(特别是空间架构和数据流优化)以及精细的内存管理等关键技术,FPGA能够在LLM推理任务中展现出显著的性能和能效优势。学术界和工业界已经成功演示了在云端高性能FPGA(如利用HBM的Alveo系列)和资源极度受限的嵌入式FPGA(如Zynq系列)上部署和加速LLM的可行性,部分场景下甚至超越了传统的CPU和GPU方案。高层次综合(HLS)工具的不断成熟,以及LLM辅助硬件设计这一新兴趋势的出现,正在逐步降低FPGA开发的复杂度,缩短设计周期,使得FPGA能够更快地适应LLM技术的快速迭代。

尽管如此,LLM-FPGA协同设计仍面临内存墙、计算密度、编程复杂性、通用性与定制化的平衡以及超大规模模型扩展性等核心挑战。未来的研究将围绕这些挑战持续深化,重点方向包括探索超低比特量化与相应的硬件支持、发展自适应和动态可重构的FPGA架构、推动FPGA与PIM/NDP等新型存储及ASIC Chiplet的异构集成、深化LLM在EDA领域的应用以实现更高级别的设计自动化,以及为新兴的多模态LLM和注重安全隐私的应用场景开发定制化的FPGA加速方案。

总而言之,FPGA凭借其独特的灵活性和能效潜力,在LLM加速领域,特别是在对延迟、功耗和定制化有特殊要求的应用场景(如边缘智能、实时交互系统)中,将扮演越来越重要的角色。随着相关算法、架构、工具链和设计方法学的持续进步,LLM与FPGA的深度融合必将进一步推动人工智能技术向更广泛、更高效、更智能的未来迈进。

参考文献