中文

DORY:面向真实世界 DNN 在低成本物联网 MCU 上的自动端到端部署

分布式、并行与集群计算 2021-03-22 v3 硬件体系结构 神经与进化计算

摘要

在物联网极端边缘的端节点上部署深度神经网络(DNNs)是支撑普适深度学习增强型应用的关键赋能技术。基于低成本 MCU 的端节点片上内存有限,且常以暂存器(scratchpad)替代缓存,以降低面积开销并提高能效——这要求在不同层级内存层级之间显式进行基于 DMA 的内存传输。将现代 DNN 映射至这些系统需要激进的依赖于拓扑的分块与双缓冲。在本工作中,我们提出 DORY(Deployment Oriented to memoRY)——一种将 DNN 自动部署于通常具有少于 1MB 片上 SRAM 内存的低成本 MCU 上的工具。DORY 将分块抽象为一个约束规划(CP)问题:在每个 DNN 层所施加的拓扑约束下最大化 L1 内存利用率。随后,它生成 ANSI C 代码以编排片外与片上传输及计算阶段。此外,为最大化速度,DORY 以启发式增强 CP 公式以促进性能有效的分块尺寸。作为 DORY 的案例研究,我们面向 GreenWaves Technologies 的 GAP8——市场上最先进的并行超低功耗 MCU 级器件之一。在该器件上,DORY 在单层上实现了比 GreenWaves 专有软件方案高 2.5 倍的 MAC/周期,以及比 STM32-F746 MCU 上的 SOTA 结果高 18.1 倍。使用我们的工具,GAP-8 可执行 1.0-MobileNet-128 网络的端到端推理,平均仅消耗 63 pJ/MAC @ 4.3 fps——比 STM32-F746 好 15.4 倍。我们发布所有我们的开发成果——DORY 框架、优化后端内核及相关启发式——作为开源软件。

关键词

引用

@article{arxiv.2008.07127,
  title  = {DORY: Automatic End-to-End Deployment of Real-World DNNs on Low-Cost IoT MCUs},
  author = {Alessio Burrello and Angelo Garofalo and Nazareno Bruschi and Giuseppe Tagliavini and Davide Rossi and Francesco Conti},
  journal= {arXiv preprint arXiv:2008.07127},
  year   = {2021}
}

备注

14 pages, 12 figures, 4 tables, 2 listings. Accepted for publication in IEEE Transactions on Computers (https://ieeexplore.ieee.org/document/9381618)