中文

面向 FPGA 的多精度多算术 CNN 加速器自动生成

信号处理 2019-10-23 v1 硬件体系结构 机器学习

摘要

现代深度卷积神经网络(CNNs)计算需求高,而实际应用场景往往要求高吞吐量和低延迟。为助力解决这些问题,我们提出 Tomato,一个旨在自动化生成高效 CNN 加速器的框架。所生成的设计为流水线结构,且每个卷积层采用不同精度下的不同算术。利用 Tomato,我们展示了在 FPGA 上运行的最先进多精度多算术网络,包括 MobileNet-V1。据我们所知,这是首个面向 CNN 的多精度多算术自动生成框架。在软件端,Tomato 对预训练网络进行微调,以使用短 2 的幂与定点权重的混合,且分类精度损失最小。微调后的参数与模板化硬件设计相结合,自动生成 FPGA 上的高效推理电路。我们展示了该方法如何显著减小模型规模与计算复杂度,并首次使我们能将完整的 ImageNet 网络打包至单个 FPGA 上而无需访问片外存储器。此外,我们展示了 Tomato 如何生成运行于单个或多个 FPGA 上、规模各异的网络实现。据我们所知,我们自动生成的加速器在延迟和吞吐量上至少优于最接近的基于 FPGA 的同类方案 2-4 倍;所生成的加速器以超过每秒 3000 帧的速率运行 ImageNet 分类。

关键词

引用

@article{arxiv.1910.10075,
  title  = {Automatic Generation of Multi-precision Multi-arithmetic CNN Accelerators for FPGAs},
  author = {Yiren Zhao and Xitong Gao and Xuan Guo and Junyi Liu and Erwei Wang and Robert Mullins and Peter Y. K. Cheung and George Constantinides and Cheng-Zhong Xu},
  journal= {arXiv preprint arXiv:1910.10075},
  year   = {2019}
}

备注

To be published in International Conference on Field Programmable Technology 2019