中文

半流式架构:一种用于FPGA上CNN实现的新设计范式

图像与视频处理 2020-06-17 v1

摘要

深度学习近来的研究进展催生了小巧而强大的卷积神经网络(CNN)架构。同时,现场可编程门阵列(FPGAs)已成为其部署的流行硬件目标选择,分为两类主要实现方式:流式硬件架构与单计算引擎设计方法。流式硬件架构通常需要将每一层实现为离散处理单元,适用于可将其展开版本放入资源受限目标中的较小软件模型。另一方面,单计算引擎可缩放以适配设备来执行不同规模与复杂度的CNN模型,然而,这种一刀切实现的可达性能可能因具有不同工作负载属性的CNN而有所差异,导致硬件资源利用低效。通过结合上述两种方法的优势,本文提出一种称为半流式架构的新设计范式,其中使用层专用的可配置引擎进行网络实现。作为概念验证,本文提出一组五个层专用可配置处理引擎用于实现8位量化的MobilenevV2 CNN模型。这些引擎被链接以部分保持数据流,并单独调优以高效处理特定类型层:残差归一化加法、深度可分离、逐点(扩展与投影)以及标准2D卷积层,分别可提供 5.4GOp/s、16GOp/s、27.2GOp/s、27.2GOp/s 和 89.6GOp/s,在 100MHz 系统时钟下总体能效为 5.32GOp/s/W,在 XCZU7EV SoC FPGA 上总功耗为 6.2W。

关键词

引用

@article{arxiv.2006.08759,
  title  = {Semi-Streaming Architecture: A New Design Paradigm for CNN Implementation on FPGAs},
  author = {Nazariy K. Shaydyuk and Eugene B. John},
  journal= {arXiv preprint arXiv:2006.08759},
  year   = {2020}
}

备注

8 pages, 5 figures