The growing demand for real-time processing in artificial intelligence applications, particularly those involving Convolutional Neural Networks (CNNs), has highlighted the need for efficient computational solutions. Conventional processors, very often, fall short in balancing performance, power consumption, and latency, especially in embedded systems and edge computing platforms. Field-Programmable Gate Arrays (FPGAs) offer a promising alternative, combining high performance with energy efficiency and reconfigurability. The presented framework addresses the complex and demanding computations of CNNs on FPGAs maintaining full precision in all neural network parameters. Specifically, our framework is based on Darknet which is very widely used for the design of CNNs and allows the designer, by using a similar input to that given to Darknet, to efficiently implement a CNN in a heterogeneous system comprising of CPUs and FPGAs. When compared with the FPGA frameworks that support quantization, our solution aims to offer similar performance and/or energy efficiency without any degradation on the NN accuracy.
- 论文ID: 2510.13362
- 标题: Energy-Efficient FPGA Framework for Non-Quantized Convolutional Neural Networks
- 作者: Angelos Athanasiadis¹, Nikolaos Tampouratzis², Ioannis Papaefstathiou¹
- 机构: ¹Aristotle University of Thessaloniki, ²International Hellenic University
- 分类: cs.AR (Computer Architecture)
- 论文链接: https://arxiv.org/abs/2510.13362
随着人工智能应用中实时处理需求的不断增长,特别是涉及卷积神经网络(CNNs)的应用,对高效计算解决方案的需求日益突出。传统处理器在平衡性能、功耗和延迟方面往往表现不足,尤其是在嵌入式系统和边缘计算平台上。现场可编程门阵列(FPGAs)提供了一个有前景的替代方案,结合了高性能、能效和可重构性。本文提出的框架在FPGA上处理CNN的复杂计算需求,同时保持所有神经网络参数的全精度。该框架基于广泛使用的Darknet CNN设计框架,允许设计者使用类似于Darknet的输入,在包含CPU和FPGA的异构系统中高效实现CNN。与支持量化的FPGA框架相比,该解决方案旨在提供相似的性能和/或能效,而不会降低神经网络的准确性。
本研究要解决的核心问题是如何在FPGA上高效实现非量化的卷积神经网络,在保持全精度参数的同时实现高性能和能效。
- 实时处理需求增长:AI应用,特别是CNN应用对实时处理的需求不断增加
- 传统处理器局限性:传统CPU在性能、功耗和延迟平衡方面存在不足
- 嵌入式和边缘计算挑战:资源受限的设备需要更高效的计算解决方案
- 量化方法的准确性损失:现有FPGA框架主要关注量化模型,虽然降低了资源使用和功耗,但往往以牺牲准确性为代价
- 设计复杂性:缺乏易用且高效的设计流程
- 性能与精度权衡:难以在保持全精度的同时实现高性能和能效
开发一个能够在FPGA上实现非量化CNN的框架,既保持模型的高准确性,又实现优异的性能和能效表现。
- 准确性保持:通过避免量化并保留全精度,框架旨在保持CNN模型的准确性
- 高设计生产力和灵活性:基于广泛使用的DarkNet CNN设计框架,采用纯C/C++实现,支持从小型到大型的全系列FPGA
- 高性能:充分利用任何FPGA的并行性来加速CNN推理过程,确保及时高效的处理
- 能效优化:针对FPGA上CNN推理的功耗效率进行优化,适用于功耗敏感的应用
本文研究的任务是在FPGA上实现高效的非量化CNN推理,输入为CNN模型配置文件(类似Darknet格式),输出为在CPU-FPGA异构系统上的高性能CNN实现。
根据图1所示,框架采用以下架构设计:
- 输入处理:导入新的cfg文件到工具
- 预处理:使用OpenMP进行并行预处理
- 解析器:解析网络结构,识别卷积层、反卷积层和其他层
- 计算引擎:创新的HLS计算引擎作为核心组件
- 并行处理:使用OpenMP进行并行处理
- FPGA实现:最终在FPGA上实现神经网络
创新计算引擎使用高层次综合(HLS)技术,能够在单个时钟周期内执行多个数学运算,实现相对较高的吞吐量和性能。
如图2所示,HLS FPGA内核主要处理矩阵乘法任务,这是几乎所有CNN实现的基石:
- 内存优化:利用内部BRAM结合HLS流来优化片上内存访问模式
- 流处理机制:
- 在处理元素之间实现连续数据流,无需在BRAM中进行中间存储
- 减少延迟和资源开销
- 支持流水线执行并增强并行性
- 直接在生产者和消费者进程之间传输数据
- 多内存通道利用:
- 利用现代FPGA连接的多个内存库和专用通道
- 插入适当的HLS指令,将数据传输分配到可参数化数量的内存库/通道
- 充分利用每个内存接口的可用带宽
- 高带宽数据传输:CPU和FPGA之间的数据传输以全数据宽度(512位)每时钟周期进行,确保处理元素和内存子系统之间的高吞吐量通信
- 全精度保持:与现有量化方法不同,本框架保持所有参数的全精度
- 流处理优化:创新的流处理机制减少了对BRAM的依赖,提高了资源利用效率
- 多通道内存访问:充分利用现代FPGA的多内存通道特性
- 基于Darknet的设计流程:提供熟悉且易用的设计接口
- 高端FPGA:AMD Alveo U55C
- 嵌入式FPGA:Kria KR260
- 对比CPU:Intel Xeon E5-2620 v4 (8核) 和 ARM Cortex-A53 (4核)
- 对比GPU:NVIDIA T4
- 矩阵维度:M=2048, K=4096, N=16384
- 数据类型:FP32(32位浮点)
- 测试目的:选择非峰值性能的矩阵维度以展示方法的灵活性
- 性能:GFLOPS(每秒十亿次浮点运算)
- 能效:GFLOPS/Watt
- 加速比:相对于参考实现和CPU并行实现的性能提升
- 相对于参考实现:2个数量级的性能提升
- 相对于ARM 4核CPU:9倍性能提升
- 能效提升:相比最佳CPU并行实现提升9倍
- 相对于参考实现:约3个数量级的性能提升
- 相对于Intel Xeon CPU:10倍性能提升
- 能效提升:相比最佳CPU并行实现提升34倍
- 相对于NVIDIA T4 GPU:3倍能效提升(尽管T4采用更先进的12nm工艺,而U55C为16nm)
- 显著的性能提升:在所有测试平台上都实现了数量级的性能改进
- 优异的能效表现:特别是在Alveo U55C上实现了34倍的能效提升
- 技术优势:即使在制程工艺劣势的情况下,仍然超越了GPU的能效表现
- 一致性验证:不同矩阵维度的实验结果与图3展示的结果完全一致
论文引用了以下相关工作:
- Xu等人(2024):FLARE - 基于FPGA的全精度低功耗CNN加速器,具有可重构结构
- Chen等人(2021):面向FPGA的n位量化神经网络学习框架
- Latotzke等人(2022):FPGA上高吞吐量混合精度CNN加速器设计
本文与相关工作的主要区别在于专注于非量化实现,在保持全精度的同时实现高性能和能效。
- 成功解决关键需求:该研究成功解决了功耗受限环境中高效CNN实现的关键需求
- 性能与能效并重:提出的非量化FPGA CNN框架成功结合了高性能和能效
- 准确性保证:通过保持网络参数的全精度实现高准确性,同时不妨碍资源利用或功耗
- 实验验证有效性:实验结果验证了框架的有效性,显示推理处理的显著加速和功耗使用的大幅降低
- 测试范围:实验主要集中在矩阵乘法操作,完整CNN网络的测试结果未详细展示
- 准确性验证:虽然声称保持准确性,但缺乏具体的准确性对比数据
- 适用性范围:框架的适用性可能受到FPGA资源和特定应用需求的限制
论文未明确提及具体的未来研究方向,但可以推断包括:
- 更广泛的CNN网络测试和验证
- 进一步的能效优化
- 支持更多类型的神经网络层
- 技术创新性:
- 在保持全精度的前提下实现高性能FPGA CNN实现
- 创新的HLS计算引擎设计,有效利用流处理和多内存通道
- 实验充分性:
- 在多个硬件平台上进行了全面测试
- 包含了与CPU和GPU的对比实验
- 性能和能效指标都有详细测量
- 实用价值:
- 基于广泛使用的Darknet框架,易于采用
- 支持从小型到大型的全系列FPGA
- 适用于功耗敏感的应用场景
- 结果说服力:
- 实现了数量级的性能提升
- 在多个指标上都表现优异
- 甚至在制程劣势下仍超越GPU能效
- 完整性验证不足:
- 缺乏完整CNN网络的端到端测试结果
- 未提供具体的准确性保持验证数据
- 主要测试集中在矩阵乘法层面
- 对比基准选择:
- 参考实现可能不够优化
- 缺乏与其他先进FPGA CNN框架的对比
- 技术细节不足:
- HLS实现的具体优化策略描述不够详细
- 资源利用率数据缺失
- 内存带宽利用效率分析不够深入
- 适用性分析:
- 未充分讨论方法的局限性和适用范围
- 对不同规模CNN的扩展性分析不足
- 学术贡献:
- 为非量化FPGA CNN实现提供了新的解决方案
- 在保持准确性的前提下实现高性能,具有重要理论价值
- 实用价值:
- 基于成熟工具链,便于工程实现
- 适用于边缘计算和嵌入式AI应用
- 可复现性:
- 基于标准HLS工具和开源Darknet框架
- 技术路线相对清晰,具有一定可复现性
- 边缘AI应用:功耗敏感且对准确性要求高的场景
- 实时图像处理:需要低延迟高性能的视觉处理任务
- 嵌入式系统:资源受限但需要AI能力的设备
- 工业自动化:对可靠性和准确性要求较高的工业AI应用
1 Xu, Y.; Luo, J.; Sun, W. Flare: An FPGA-Based Full Precision Low Power CNN Accelerator with Reconfigurable Structure. Sensors 2024, 24
2 Chen, J.; Liu, L.; Liu, Y.; Zeng, X. A Learning Framework for n-Bit Quantized Neural Networks Toward FPGAs. IEEE Transactions on Neural Networks and Learning Systems 2021, 32, 1067–1081.
3 Latotzke, C.; Ciesielski, T.; Gemmeke, T. Design of High-Throughput Mixed-Precision CNN Accelerators on FPGA. In Proceedings of the 2022 32nd International Conference on Field-Programmable Logic and Applications (FPL), 2022, pp. 358–365.
总体评价:这是一篇在FPGA CNN加速器领域具有实用价值的论文,提出了保持全精度的创新解决方案,实验结果令人印象深刻。然而,论文在完整性验证和技术细节描述方面还有改进空间。对于需要高准确性的AI应用场景,该框架具有重要的应用前景。