用于加速 CNN 的全栈优化及 FPGA 验证
机器学习
2019-05-03 v1
摘要
我们提出了一个用于加速 CNN(卷积神经网络)推理的全栈优化框架,并通过现场可编程门阵列(FPGA)实现验证了该方法。通过联合优化 CNN 模型、计算架构和硬件实现,我们的全栈方法在由推理延迟、能效、硬件利用率和推理精度表征的权衡空间中实现了前所未有的性能。作为验证载体,我们实现了一款 170MHz 的 FPGA 推理芯片,在 ImageNet 基准上达到 2.28ms 的延迟。所实现的延迟是文献中报道的最低之一,同时达到了可比的精度。然而,我们芯片的亮点是其能效比其他实现可比延迟的方案高 9 倍。我们全栈方法的一个亮点——也是实现高能效的原因——是一种高效的 Selector-Accumulator(SAC)架构,用于实现任何数字 CNN 硬件中都存在的乘加(MAC)操作。例如,与传统的 8 位 MAC 的 FPGA 实现相比,SAC 大幅减少了所需硬件资源(查找表减少 4.85 倍)和功耗(降低 2.48 倍)。
引用
@article{arxiv.1905.00462,
title = {Full-stack Optimization for Accelerating CNNs with FPGA Validation},
author = {Bradley McDanel and Sai Qian Zhang and H. T. Kung and Xin Dong},
journal= {arXiv preprint arXiv:1905.00462},
year = {2019}
}