关键词:LLMs, Edge AI, FPGA, Acceleration
基于 Transformer 的大型语言模型(LLMs)显著推动了人工智能能力的发展,但由于其高计算需求、内存带宽限制和能耗问题,将其部署在边缘设备上面临巨大挑战。
本文提出了一种高效的框架,用于在 Xilinx Kria KV260 边缘平台上部署 Qwen2.5-0.5B 模型,该平台是一个集成了 ARM Cortex-A53 CPU 和可重配置 FPGA 逻辑的异构系统。
通过利用激活感知权重量化(Activation-aware Weight Quantization, AWQ)以及 FPGA 加速的执行流水线,该方法提高了模型压缩率和系统吞吐量。
此外,我们提出了一种混合执行策略,智能地将计算密集型操作卸载到 FPGA,同时利用 CPU 处理较轻的任务,有效地平衡了计算负载并最大化整体性能。
我们的框架实现了 55.08% 的模型压缩率,相比原始模型,输出速率达到每秒 5.1 个 token,超过了基线性能的每秒 2.8 个 token。
一、引言
最近大型语言模型(LLMs)的发展在不同领域带来了众多机会 [1],吸引了来自医疗保健 [2]、机器人 [3]、生物医学 [4]、音乐 [5] 等行业的用户。然而,这些模型的广泛采用对计算能力提出了巨大需求,尤其是像 GPT-4 [6]、DeepSeek-V3 [7] 和 PaLM 2 [8] 这样的最新模型,它们通常被限制在耗电巨大的数据中心中运行。
相比之下,将轻量级 LLM 部署到边缘设备上的需求日益增加,以便在无线信号受限的环境中实现即时响应,并增强隐私保护 [9]。
在本工作中,我们提出了一个高效的框架,用于加速 Qwen2.5-0.5B 模型的设备端推理。为了实现这一目标,我们分析了在资源受限的边缘设备上部署模型的关键挑战,并选择了 Xilinx Kria KV260 开发板作为目标平台,该开发板集成了 Kria K26 系统模块(SoM)(图 1)。
具体来说,我们通过对 Qwen2.5-0.5B 模型进行详细分析,识别了影响 Kria KV260 上模型推理效率的关键挑战,包括线性和非线性操作。
- 挑战 1:可编程逻辑(PL)侧的有限内存容量和带宽(例如,块内存、URAM)限制了可以加载的模型参数数量以及模型加载的效率,显著阻碍了设备端 LLM 推理的部署。
- 挑战 2:在推理过程中,通过乘累加(Multiply-and-Accumulate, MAC)操作执行的矩阵乘法占据了主要的计算工作量,成为边缘设备上 LLM 推理的性能瓶颈。
在本工作中,我们解决了这些挑战,并在准确性、压缩率和每秒 token 数之间取得了出色的平衡。我们工作的主要贡献如下:
- 我们利用软件层面的模型压缩技术,优化了内存带宽的使用,并最小化了片外内存与处理单元之间必要的数据传输。
- 我们利用 ARM Cortex-A53 的 VFP4 浮点单元以及 FPGA 的并行性,成功实现了 Qwen2.5-0.5B 模型的端到端推理。
- 我们进一步设计了一个加速器,通过流水线化的权重解包和反量化实现,可以加速工作负载中的矩阵乘法。
- 我们实现了 55.1% 的模型压缩率,并获得了每秒 5.1 个 token 的输出速率,超过了基线性能的每秒 2.8 个 token。
二、背景与相关工作
本节给出 Qwen2.5 模型架构和基于激活感知权重量化(Activation-aware Weight Quantization, AWQ)的模型压缩技术的概述。
A. Qwen2.5 模型与 Transformer 架构
Transformer 架构 [12] 已成为现代大型语言模型的基础,主要得益于其编码器-解码器结构。特别是,Qwen2.5 模型系列 [13], [14] 采用了一种仅解码器架构,利用自回归方法进行序列文本生成 [15]。然而,这种固定的顺序解码过程带来了显著的计算挑战。
具体来说,Qwen2.5 模型的解码器架构包括预填充阶段(prefill stage)和解码阶段(decode stage)。
- 预填充阶段以高度并行的矩阵-矩阵运算为特征
- 解码阶段则以顺序矩阵-向量乘法为主
因此,加速矩阵乘法对于优化计算效率和最小化延迟至关重要,尤其是在需要实时推理能力的应用中。
B. 带 AWQ 的模型压缩
激活感知权重量化(AWQ)[11] 是一种强大的模型压缩技术,可以显著减少内存占用并降低内存带宽需求。
如图 2 所示,只有 1% 的权重对模型性能有显著影响。因此,仔细保留这些显著权重可以保持性能并最小化量化误差。具体来说,AWQ 基于激活分布进行逐通道缩放,从而可以将整个权重矩阵量化为较低精度(例如,INT4 和 INT3),同时仍能保持高性能。
AWQ 不依赖于模型训练或重建。它利用分组机制共享相同的缩放参数,默认分组大小(Group Size, GS)为 128。这种分组允许 AWQ 准确捕捉不同通道权重分布的变化,有效减少量化误差,并在使用低精度表示的情况下保持高模型精度。
我们相信这种模型压缩在边缘部署场景中特别有优势,例如 KV260 平台,其内存带宽受限于 19.2 GB/s。我们的实现通过定制化的权重打包方案扩展了 AWQ 的优势,确保量化权重(即 qweights)、缩放因子和零值能够高效地传输到处理单元。这种打包方案便于即时反量化,优化了性能和计算效率。
C. 相关工作
利用 FPGA 加速 LLM 推理因其卓越的能效比、可重构性和灵活性而受到学术界和工业界的广泛关注。最近的一项研究 [16] 引入了专门为空间加速器设计的 FPGA,用于高效的 LLM 推理,揭示了 FPGA 平台提供定制化、高性能解决方案的潜力。
特别是,文献 [17] 在 Xilinx ZCU102 平台上部署 TinyLlama 1.1B 模型后,在性能和能效方面取得了显著提升,证明了基于 FPGA 的部署在边缘推理应用中的可行性。
三、提出的软硬件协同优化
我们对 Qwen2.5-0.5B 模型的计算负载和延迟进行了深入分析。
表 I 展示了在 KV260 平台的处理系统(PS)上部署时,使用编译器优化(利用所有四个 ARM Cortex-A53 核心)的 Qwen2.5-0.5B 模型推理的延迟分布情况。结果显示,推理时间中有 91.6% 被乘累加(MAC)操作所占据,这些操作是矩阵-矩阵和矩阵-向量乘法的基本运算。
需要注意的是,表 I 中报告的时间既包括计算延迟,也包括内存访问延迟。这一观察结果暗示了两个关键的改进推理效率的机会:
- 使用加速器加速计算密集型操作;
- 压缩权重参数的数据块,以便其能够以最小的带宽在内存中存储并传输到加速器,从而提高内存带宽利用率。
A. 软件优化
我们利用 AWQ 框架 [11] 来提高推理过程中的内存带宽利用率。
如图 3 所示,我们将量化权重、缩放因子和零值打包成一个数据块。这在使用 4 个通道(每个通道 128 位数据)将数据流式传输到可编程逻辑(PL)时,增强了内存带宽的利用率。PL 中的加速器可以使用流水线架构解包权重、反量化权重并执行 MAC 操作,以利用并行性。
我们进一步修改了 AWQ 的原始权重映射结构,以适应 AWQ MACRO。如图 3 所示,AWQ MACRO 打包了 Group Size(GS)× 8 个量化权重、8 个缩放因子和 8 个零值,这些值用于在预填充阶段和解码阶段将 INT4 权重反量化为 FP32。由于我们只需要 8 个 INT4 精度的零值(即 32 位)来反量化一个 AWQ MACRO,因此每个宏的 128 位条中的剩余 96 位用零填充。我们的模型压缩方法具有几个关键特点。
- 首先,AWQ MACRO 中的数据被流式传输到 PL,在那里以流水线方式执行反量化和 MAC 操作,提高了效率。
- 其次,打包方案确保量化权重与其各自的零值和缩放因子一起存储,便于高效的逐通道反量化。
- 最后,由于在 WNLI 基准测试中我们使用
GS = 64
达到了更高的准确率,而不是使用GS = 128
,因此我们以GS = 64
进行打包过程。
Qwen2.5 模型的设备端推理是用 C 语言 [19] 实现的。模型参数(例如权重)被保存在二进制文件中,而模型架构被保存到 JSON 文件中。我们的方法是完全自动化的,允许使用 AutoAWQ 库 [11]、二进制文件和 JSON 文件无缝地在 KV260 平台上部署推理。
B. 硬件优化
我们优化了硬件以支持 AWQ 实现,并加速矩阵计算。为了高效处理数据传输,我们使用了四个高级可扩展接口(Advanced eXtensible Interface, AXI)通道,将数据直接流式传输到定制设计的 MACRO MAC 单元中。
图 4(a) 描述了存储器访问模式,这些模式确保了 AXI 通道中的高吞吐量和结构化数据流。AWQ MACRO 在存储器中的排列方式如第 III-A 节所述,确保反量化值与其在原始权重矩阵中的位置一一对应。由于 4 个 AXI 通道是独立的,因此 4 个 MACRO MAC 单元可以并行处理数据。解包单元(图 4(b))将量化权重(即 qweights)、零值和缩放因子解包为 128 位格式。qweights
块以 32 位整数格式打包,随后通过位移操作和位掩码将其分解为 8 个单独的 INT4 块。
零值块也经历了类似的分解过程。需要注意的是,缩放因子在整个阶段中保持原始的 FP16 格式。解包后的 qweights
、零值和缩放因子随后被发送到 MACRO MAC 单元中进行权重反量化,然后与输入激活值相乘。
我们在 PL 中设计了一个 8×8 的处理单元(PE)阵列,以便并行执行乘法运算。图 4(d) 描述了 PE 中的操作,其中从量化权重中减去零值,并将输入激活值与缩放值相乘。PE 阵列的局部和随后通过加法树进行累加。一旦完成一个输出通道的累加,总和将被传输到处理系统(PS)以进行非线性运算。
表 II 列出了我们加速器的综合资源利用率,其工作频率为 200 MHz。由于 KV260 平台本身不支持低精度浮点格式,因此所有 MAC 运算均以 FP32 格式执行。
四、实验评估:准确性、模型大小、吞吐量等
我们针对基线模型,从准确性、模型大小、吞吐量和基准分数等方面对提出的软硬件协同优化框架进行了评估。结果总结在表 III 中。
我们的压缩方法显著减少了模型大小,模型大小从基线模型的 988 MB 减少到 443.81 MB,内存占用减少了 55.1%。此外,推理性能从基线的每秒 2.8 个 token 提升到每秒 5.1 个 token,吞吐量几乎翻倍。
我们还采用下面公式(1)生成基准分数,以进行综合评估。具体来说:
- 准确性比率(accuracy ratio)表示模型在 WNLI [20] 基准测试中的表现精度。
- 内存比率(memory ratio)显示模型相比原始模型大小的压缩程度。
预填充阶段(prefill stage)和解码阶段(decode stage)的吞吐量分别表示在每个阶段处理 token 的效率。我们实现了 0.55 的分数,相比基线分数 0.4 有所提升。
五、结论
我们的工作提出了一个端到端推理框架,利用 FPGA 平台上处理系统(Processing System, PS)和可编程逻辑(Programmable Logic, PL)的协同优势,高效部署 Qwen2.5-0.5B 模型。
我们的框架实现了高压缩率,减少了内存占用,并在从片外存储器传输模型参数到 PS 时提高了内存带宽利用率。此外,我们提出了一个硬件加速器,利用处理单元(Processing Element, PE)阵列和加法树累加,加速矩阵乘法的性能。
模型大小和吞吐量的提升使其非常适合在资源受限的环境中部署 LLM 推理。
加群请在 NeuralTalk 公众号后台回复:加群
参考文献
[1] R. Bommasani, D. A. Hudson, E. Adeli, R. Altman, S. Arora, S. von Arx, et al., “On the opportunities and risks of foundation models,” 2022. Available at https://arxiv.org/abs/2108.07...
[2] C. Peng, X. Yang, A. Chen, K. E. Smith, N. PourNejatian, A. B. Costa, C. Martin, M. G. Flores, Y. Zhang, T. Magoc, G. Lipori, D. A. Mitchell, N. S. Ospina, M. M. Ahmed, W. R. Hogan, E. A. Shenkman, Y. Guo, J. Bian, and Y. Wu, “A study of generative large language model for medical research and healthcare,” npj Digital Medicine, vol. 6, Nov. 2023.
[3] F. Zeng, W. Gan, Y. Wang, N. Liu, and P. S. Yu, “Large language models for robotics: A survey,” 2023. Available at https://arxiv.org/abs/ 2311.07226.
[4] W. Lan, Z. Tang, M. Liu, Q. Chen, W. Peng, Y. P. Chen, and Y. Pan, “The large language models on biomedical data analysis: A survey,” IEEE Journal of Biomedical and Health Informatics, pp. 1–13, 2025.
[5] R. Yuan, H. Lin, Y. Wang, Z. Tian, S. Wu, T. Shen, et al., “ChatMusician: Understanding and generating music intrinsically with LLM,” in Findings of the Association for Computational Linguistics: ACL 2024, (Bangkok, Thailand), pp. 6252–6271, Association for Computational Linguistics, Aug. 2024.
[6] OpenAI, A. Josh, A. Steven, A. Sandhini, A. Lama, A. Ilge, A. Florencia, A. Diogo, A. Janko, A. Sam, A. Shyamal, A. Red, B. Igor, B. Suchir, B. Valerie, B. Paul, B. Haiming, B. Mohammad, B. Jeff, and Z. Barret, “Gpt-4 technical report,” 03 2023. Available at 10.48550/arXiv.2303. 08774.
[7] DeepSeek-AI, “Deepseek-v3 technical report,” 2024. Available at https: //arxiv.org/abs/2412.19437.
[8] R. Anil, A. M. Dai, O. Firat, M. Johnson, D. Lepikhin, A. Passos, et al., “Palm 2 technical report,” 2023. Available at https://arxiv.org/abs/2305. 10403.
[9] H. Hua, Y. Li, T. Wang, N. Dong, W. Li, and J. Cao, “Edge computing with artificial intelligence: A machine learning perspective,” ACM Comput. Surv., vol. 55, Jan. 2023.
[10] AMD Xilinx, Kria K26 SOM Data Sheet. AMD, 2021. DS987 (v1.5), May 18, 2021.
[11] J. Lin, J. Tang, H. Tang, S. Yang, W.-M. Chen, W.-C. Wang, G. Xiao, X. Dang, C. Gan, and S. Han, “Awq: Activation-aware weight quantization for llm compression and acceleration,” in MLSys, 2024.
[12] A. Vaswani, N. Shazeer, N. Parmar, J. Uszkoreit, L. Jones, A. N. Gomez, L. u. Kaiser, and I. Polosukhin, “Attention is all you need,” in Advances in Neural Information Processing Systems (I. Guyon, U. V. Luxburg, S. Bengio, H. Wallach, R. Fergus, S. Vishwanathan, and R. Garnett, eds.), vol. 30, Curran Associates, Inc., 2017.
[13] A. Yang, B. Yang, B. Hui, B. Zheng, B. Yu, C. Zhou, C. Li, C. Li, D. Liu, F. Huang, et al., “Qwen2 technical report,” arXiv preprint arXiv:2407.10671, 2024.
[14] Q. Team, “Qwen2.5: A party of foundation models,” September 2024. Available at https://qwenlm.github.io/blog...
[15] H. Touvron, L. Martin, K. Stone, P. Albert, A. Almahairi, Y. Babaei, et al., “Llama 2: Open foundation and fine-tuned chat models,” 2023. Available at https://arxiv.org/abs/2307.09...
[16] H. Chen, J. Zhang, Y. Du, S. Xiang, Z. Yue, N. Zhang, Y. Cai, and Z. Zhang, “Understanding the potential of FPGA-based spatial acceleration for large language model inference,” ACM Transactions on Reconfigurable Technology and Systems, vol. 18, no. 1, pp. 1–23, 2024.
[17] H. Xu, Y. Li, and S. Ji, “Llamaf: An efficient llama2 architecture accelerator on embedded fpgas,” in 2024 IEEE 10th World Forum on Internet of Things (WF-IoT), pp. 1–7, 2024.
[18] P. Zhang, G. Zeng, T. Wang, and W. Lu, “Tinyllama: An open-source small language model,” 2024. Available at https://arxiv.org/abs/2401. 02385.
[19] A. Karpathy, “llama2.c: Inference of llama2 in one file of pure c,” 2023. Available at https://github.com/karpathy/l...
[20] S. Elfwing, E. Uchibe, and K. Doya, “Sigmoid-weighted linear units for neural network function approximation in reinforcement learning,” 2017. Available at https://arxiv.org/abs/1702.03...
END
作者:SUTD
来源:NeuralTalk
推荐阅读
- YOPOv2-Tracker开源 | 端到端方法革新,跟踪提速10倍,扰动观测器破解传统框架延迟难题
- Triton极简入门: Triton Vector Add
- VisionReasoner首提统一框架,检测/分割/计数3类任务超越YOLO-World等专用模型
- 2.6 倍加速,能耗降 1.4 倍!量化算法与硬件协同设计混合精度 GEMM 加速器 MixPE
- 混合CPU-GPU调度+Cache管理:MoE推理Prefill1.3倍、Decode1.7倍加速!
欢迎大家点赞留言,更多 Arm 技术文章动态请关注极术社区嵌入式AI专栏欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。