[论文解读] FPGA/DNN Co-Design: An Efficient Design Methodology for IoT Intelligence on the Edge
本文提出了一种同步的FPGA/DNN协同设计方法,结合自底向上的DNN模型搜索与自顶向下的FPGA加速器设计,以优化资源受限FPGA上的边缘AI。通过自动化引擎(Auto-DNN与Auto-HLS),该方法生成硬件感知的DNN模型和可综合的C代码用于加速器,相较于PYNQ-Z1平台上的最先进FPGA设计,实现了6.2%更高的IoU、2.48倍更高的FPS、40%更低的功耗以及2.5倍更好的能效比,用于目标检测任务。
While embedded FPGAs are attractive platforms for DNN acceleration on edge-devices due to their low latency and high energy efficiency, the scarcity of resources of edge-scale FPGA devices also makes it challenging for DNN deployment. In this paper, we propose a simultaneous FPGA/DNN co-design methodology with both bottom-up and top-down approaches: a bottom-up hardware-oriented DNN model search for high accuracy, and a top-down FPGA accelerator design considering DNN-specific characteristics. We also build an automatic co-design flow, including an Auto-DNN engine to perform hardware-oriented DNN model search, as well as an Auto-HLS engine to generate synthesizable C code of the FPGA accelerator for explored DNNs. We demonstrate our co-design approach on an object detection task using PYNQ-Z1 FPGA. Results show that our proposed DNN model and accelerator outperform the state-of-the-art FPGA designs in all aspects including Intersection-over-Union (IoU) (6.2% higher), frames per second (FPS) (2.48X higher), power consumption (40% lower), and energy efficiency (2.5X higher). Compared to GPU-based solutions, our designs deliver similar accuracy but consume far less energy.
研究动机与目标
- 解决在资源受限的边缘FPGA上部署高精度DNN模型所面临的挑战,同时满足严格的延迟与功耗约束。
- 克服传统自顶向下设计流程在DNN开发过程中忽略硬件约束的局限性。
- 通过自动化协同设计流程,实现DNN架构与FPGA加速器设计的同步优化。
- 在嵌入式FPGA上实现边缘AI工作负载的性能优势,涵盖精度、速度、功耗效率与能效比。
提出的方法
- 提出一种硬件感知的DNN模板(Bundle-Arch),用于约束并引导DNN架构搜索,以实现可预测的资源使用。
- 引入Auto-DNN,一种自动DNN模型搜索引擎,可在硬件约束下探索DNN空间,以寻找高精度且适合FPGA的模型。
- 设计一种基于分块的细粒度流水线架构,用于FPGA加速器,支持由Auto-DNN生成的任意DNN模型。
- 提出Auto-HLS,一种自动HLS生成器,可从DNN模型生成可用于FPGA加速器的可综合C代码,从而实现延迟与资源的估算。
- 将Auto-DNN与Auto-HLS集成到一个完全自动化的协同设计流程中,实现DNN与加速器设计的联合优化。
- 应用循环融合与片上缓冲区分配技术,进一步优化生成的C代码以提升性能。
实验结果
研究问题
- RQ1一种同时优化DNN架构与FPGA加速器设计的协同设计方法,是否能在边缘FPGA上超越传统的自顶向下方法?
- RQ2与标准DNN相比,硬件感知的DNN搜索在资源受限FPGA上能多大程度上提升精度与效率?
- RQ3所提出的自动化协同设计流程在实现高精度、低延迟与高能效的同时,如何显著降低工程工作量?
- RQ4所协同设计的DNN与加速器是否能在功耗显著更低的前提下,实现与基于GPU的解决方案相当的性能?
- RQ5在真实的嵌入式FPGA平台上,该方法在精度、每秒帧数(FPS)与功耗之间可实现何种权衡?
主要发现
- 所提出的协同设计方法在DAC-SDC竞赛中,相较于第一名的FPGA解决方案,实现了6.2%更高的交并比(IoU)。
- 与最先进的FPGA设计相比,该实现的每秒帧数(FPS)提高了2.48倍,在PYNQ-Z1上以150 MHz频率达到29.7 FPS。
- 功耗相比最佳现有FPGA设计降低了40%,完整推理流水线仅消耗2.4W。
- 能效比相比最先进的FPGA设计提升了2.5倍,相比基于GPU的解决方案更是提升了3.1至3.8倍。
- 该DNN模型在150 MHz下实现68.6%的IoU与17.4 FPS的推理速度,优于第一名FPGA解决方案在所有指标上的表现,包括精度与能效比。
- 与基于GPU的设计相比,该方案在精度上匹配或略逊色(比第三名高0.1%,比第一名低1.2%),但尽管时钟频率慢6倍,仍实现了3.6倍更好的能效比。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。