Skip to main content
QUICK REVIEW

[论文解读] A Bi-Directional Co-Design Approach to Enable Deep Learning on IoT Devices

Xiaofan Zhang, Cong Hao|arXiv (Cornell University)|May 20, 2019
Advanced Neural Network Applications参考文献 10被引用 10
一句话总结

该论文提出了一种双向协同设计框架,通过自底向上的DNN设计与自顶向下的加速器探索相结合,联合优化用于物联网设备的深度神经网络(DNN)模型与FPGA加速器。在Pynq-Z1 FPGA上实现了29.7 FPS的性能与12.38张图像/瓦能效,优于DAC'18竞赛中的FPGA与GPU冠军方案,在准确率、吞吐量和能效方面均达到当前最先进水平。

ABSTRACT

Developing deep learning models for resource-constrained Internet-of-Things (IoT) devices is challenging, as it is difficult to achieve both good quality of results (QoR), such as DNN model inference accuracy, and quality of service (QoS), such as inference latency, throughput, and power consumption. Existing approaches typically separate the DNN model development step from its deployment on IoT devices, resulting in suboptimal solutions. In this paper, we first introduce a few interesting but counterintuitive observations about such a separate design approach, and empirically show why it may lead to suboptimal designs. Motivated by these observations, we then propose a novel and practical bi-directional co-design approach: a bottom-up DNN model design strategy together with a top-down flow for DNN accelerator design. It enables a joint optimization of both DNN models and their deployment configurations on IoT devices as represented as FPGAs. We demonstrate the effectiveness of the proposed co-design approach on a real-life object detection application using Pynq-Z1 embedded FPGA. Our method obtains the state-of-the-art results on both QoR with high accuracy (IoU) and QoS with high throughput (FPS) and high energy efficiency.

研究动机与目标

  • 为解决在资源受限的物联网设备上部署DNN时,结果质量(QoR)与服务质量(QoS)之间权衡不佳的问题。
  • 识别传统DNN与加速器独立设计方法的局限性,此类方法常因软硬件配置不匹配而导致QoS或QoR表现欠佳。
  • 提出一种协同设计流程,通过整合硬件感知的DNN探索与早期QoS估计,实现DNN模型与加速器的联合优化。
  • 证明同时协同设计DNN与加速器可获得优于迭代式、独立优化的性能。
  • 在真实嵌入式FPGA平台(如Pynq-Z1)上实现高推理准确率、吞吐量与能效,用于目标检测任务。

提出的方法

  • 该方法采用自底向上的DNN设计策略,基于硬件性能预测结果,从可重用的层模块包(如DW-Conv3、PW-Conv1、最大池化)中构建DNN。
  • 采用解析模型在设计早期阶段估计QoS(延迟、资源使用量),实现在完整训练前快速评估硬件特性。
  • 通过两阶段筛选流程识别有潜力的模块包:首先基于快速训练(20个周期)的QoR潜力进行初步筛选,随后根据与目标约束的QoS匹配度进行优化。
  • 采用随机坐标下降(SCD)算法在QoS与QoR约束下探索DNN配置,基于精确QoS评估反馈迭代优化模型。
  • 所提出的加速器采用混合折叠与展开的基于区块的流水线架构,以最大化资源复用,并支持在紧凑FPGA上的高效计算。
  • 系统性地在模块包中探索量化方案(如W16/F8、W11/F8),以平衡模型精度与硬件效率。

实验结果

研究问题

  • RQ1为何将DNN模型设计与硬件加速器设计分离,会导致物联网部署中QoR与QoS的次优表现?
  • RQ2不同压缩策略(如权重量化与特征图量化)对推理准确率与硬件资源使用的影响有何差异?
  • RQ3在DNN探索过程中,能否通过早期硬件感知的QoS估计,实现更优的准确率与效率权衡?
  • RQ4数据精度(位宽)对FPGA资源利用(如BRAM、DSP)在DNN加速器中的影响如何?
  • RQ5协同设计方法是否能在真实嵌入式FPGA平台上,同时超越当前最先进方案在准确率与能效方面的表现?

主要发现

  • 所提出的DNN-A在Pynq-Z1 FPGA上实现了29.7 FPS与12.38张图像/瓦能效,优于FPGA冠军设计的吞吐量与能效表现。
  • DNN-C实现了68.6%的IoU,FPS提升1.45倍,能效提升2.4倍,优于FPGA冠军,且在准确率相近的情况下,能效超过GPU冠军。
  • 通过协同设计量化与硬件映射,将特征图压缩导致的准确率损失从9.8%降低至1%以下,证明了对压缩的更强鲁棒性。
  • 硬件资源使用(如BRAM与DSP)对数据精度的微小变化极为敏感,凸显了协同设计在避免低效配置中的必要性。
  • 协同设计方法实现了特征图大小降低16倍,仅导致4.8%的准确率下降,同时保持高吞吐量与低功耗。
  • 基于模块包的探索识别出DW-Conv3、PW-Conv1与最大池化是目标对象检测任务在FPGA上最有效的构建模块。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。