• 北大核心期刊(《中文核心期刊要目总览》2017版)
  • 中国科技核心期刊(中国科技论文统计源期刊)
  • JST 日本科学技术振兴机构数据库(日)收录期刊

留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

基于分时重用行卷积查找表的BNN加速器

杜高明 陈邦溢 王晓蕾 李桢旻

杜高明, 陈邦溢, 王晓蕾, 李桢旻. 基于分时重用行卷积查找表的BNN加速器[J]. 微电子学与计算机, 2021, 38(9): 84-92.
引用本文: 杜高明, 陈邦溢, 王晓蕾, 李桢旻. 基于分时重用行卷积查找表的BNN加速器[J]. 微电子学与计算机, 2021, 38(9): 84-92.
DU Gaoming, CHEN Bangyi, WANG Xiaolei, LI Zhenmin. A BNN accelerator based on time-sharing reuse row convolution LUT[J]. Microelectronics & Computer, 2021, 38(9): 84-92.
Citation: DU Gaoming, CHEN Bangyi, WANG Xiaolei, LI Zhenmin. A BNN accelerator based on time-sharing reuse row convolution LUT[J]. Microelectronics & Computer, 2021, 38(9): 84-92.

基于分时重用行卷积查找表的BNN加速器

基金项目: 

国家重点研发计划 2018YFB2202604

安徽省高校协同创新项目 GXXT-2019-030

详细信息
    作者简介:

    杜高明  男,(1977-),博士,教授.研究方向为多核体系结构、片上网络体系结构、多核、NoC性能分析.E-mail: dugaoming@hfut.edu.cn

    陈邦溢   男,(1996-),硕士研究生.研究方向为卷积神经网络硬件加速器和集成电路设计

    王晓蕾   女,(1978-),硕士,副教授.研究方向为集成电路设计理论研究

    李桢旻   男,(1982-),博士,讲师.研究方向为片上网络体系结构、机器学习、加密算法硬件实现

  • 中图分类号: TN47

A BNN accelerator based on time-sharing reuse row convolution LUT

  • 摘要: 二值化神经网络(Binary Neural Network, BNN)具有单比特数据位宽的特点,可以很好地解决传统卷积神经网络中存在大量数据量以及计算量的问题.为了进一步加速BNN的正向推导并降低所需功耗,提出一种基于FPGA的完全二值化卷积神经网络加速器,其中输入图片以及边缘填充都进行了二值化处理,并且通过分时重用行卷积查找表的方式跳过其中的冗余计算.在Xilinx的ZCU102 FPGA开发板上对所设计的加速器进行评估,结果表明加速器的运算速度可以达到3.1 TOP/s,并且可以达到144.2 GOPS/KLUT的资源效率转换比以及3 507.8 GOPS/W的能效转换比.
  • 图  1  典型CNN/BNN模型架构

    图  2  网络计算冗余性

    图  3  硬件加速器整体架构

    图  4  输入图像二值化处理方案

    图  5  奇偶通道±w交替填充

    图  6  数据流以及行卷积查找表

    图  7  行查找表的分时重用

    图  8  RC-LUT方案效果对比

    表  1  网络中的参数信息

    (Nin, Nout) 层输入输出通道数
    (H, W) 特征图长度和宽度
    Rout 输出特征图尺寸
    K, S 卷积核尺寸,卷积核滑动步长
    Kp 池化尺寸,本文Kp=2
    OPK, OPR, OPC OPKOPR表示一个卷积窗口和一行卷积所需的操作数,OPC表示将一个卷积窗口中所有行卷积结果累加所需的操作数.
    下载: 导出CSV

    表  2  VGG-Like神经网络模型

    Layer Structurea (Nin, Nout) Weights/K MACs/M
    1 C-B-A (24, 128) 27 28.3
    2 C-B-A-P (128, 128) 144 151.0
    3 C-B-A (128, 128) 144 37.7
    4 C-B-A-P (128, 256) 288 75.5
    5 C-B-A (256, 256) 576 37.7
    6 C-B-A (256, 256) 576 37.7
    7 C-B-A-P (256, 256) 576 37.7
    8 C-B-A (256, 256) 576 9.4
    9 C-B-A (256, 256) 576 9.4
    10 C-B-A-P (256, 512) 1 152 18.9
    11 F-B-A (2 048, 1 024) 2 048 2
    12 F-B-A (1 024, 1 024) 1 024 1
    13 F-B-A (1 024, 10) 10 0.01
    Total 7 717 446.5
    注:F = FC, C = CONV, P = POOL, B = Batch Normalization, A = Activation
    下载: 导出CSV

    表  3  软硬件数据转换对应关系

    Software Hardware
    xb wb × xb wb XNOR
    -1 -1 +1 0 0 1
    -1 +1 -1 0 1 0
    +1 -1 -1 1 0 0
    +1 +1 +1 1 1 1
    下载: 导出CSV

    表  4  边缘填充方案效果比较

    Pad method Values Bit LUT Accuracy/%
    0 ±1、0 2 6 86.57
    +1[10] ±1 1 3 85.93
    ±1[5] ±1 1 3 86.26
    ±w ±1 1 3 86.57
    下载: 导出CSV

    表  5  卷积层操作数计算公式

    阶段名称 操作数(Operations)表达式
    未优化 全过程 Nin×Nout×Rout×OPK
    L-MPC[14] 预计算 Nin×(Rout×3-2)×Rout×OPR×8
    查表计算 Nin×Nout×Rout×OPC
    本文方案 预计算 Nin×Rout×Rout×OPR×8
    查表计算 Nin×Nout×Rout×OPC
    下载: 导出CSV

    表  6  BNN加速器性能对比分析

    文献[11] 文献[5] 文献[12] 文献[10] 本文
    Platform Virtex-7 VXT458t Xilinx ZC702 Xilinx KC705 Zynq 7Z020 Xilinx ZCU102
    Datasets CIFAR-10/MNIST CIFAR-10 CIFAR-10 CIFAR-10 CIFAR-10
    Precision 1-bit fixed 1-bit 1-bit 1-2bit 1-bit
    Frequency (MHz) 200 143 100 143 200
    LUT(k) 232 29.6 17.068 46.9 21.9
    DSP 2 352 / 532 3 0
    BRAM 832 103 130 94 182
    FF(k) 121 / 28.374 46.1 6.862
    Power(W) 28 3.3 2.1 4.7 0.9
    Latency(us) 4 600 1 920 833.3 5 940 247.1
    Performance (GOPs) 2 100(CONV) 722 1 006 318.9(Conv)/207.8(all) 3 157
    Area Efficiency
    (GOPS/KLUT)
    9.05 24 58.94 4.43 144.2
    Power Efficiency
    (GOPS/W)
    75 219 479.05 44.2 3 507.8
    下载: 导出CSV
  • [1] KRIZHEVSKY A, SUTSKEVER I, HINTON G E. Imagenet classification with deep convolutional neural networks[J]. Advances in Neural Information Processing Systems, 2012, 25(2): 1097-1105. http://web.cs.ucdavis.edu/~yjlee/teaching/ecs289g-winter2018/alexnet.pdf
    [2] SIMONYAN K, ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[J]. arXiv preprint arXiv: 1409.1556, 2015. http://arxiv.org/abs/1409.1556
    [3] COURBARIAUX M, BENGIO Y, DAVID J P. BinaryConnect: training deep neural networks with binary weights during propagations[C]//Proceedings of the 28th International Conference on Neural Information Processing Systems. Montreal, Canada: MIT Press, 2015: 3123-3131.
    [4] COURBARIAUX M, HUBARA I, SOUDRY D, et al. Binarized neural networks: training deep neural networks with weights and activations constrained to +1 or -1[J]. arXiv preprint arXiv: 1602.02830, 2016. http://arxiv.org/abs/1602.02830
    [5] GUO P, MA H, CHEN R Z, et al. FBNA: a fully binarized neural network accelerator[C]//Proceedings of the 28th International Conference on Field Programmable Logic and Applications. Dublin, Ireland: IEEE, 2018: 51-513. DOI: 10.1109/FPL.2018.00016.
    [6] UMUROGLU Y, FRASER N J, GAMBARDELLA G, et al. FINN: a framework for fast, scalable binarized neural network inference[C]//Proceedings of the ACM/SIGDA International Symposium on Field-Programmable Gate Arrays. Monterey, California, USA: ACM, 2017: 65-74. DOI: 10.1145/3020078.3021744.
    [7] LIANG S, YIN S Y, LIU L B, et al. FP-BNN: binarized neural network on FPGA[J]. Neurocomputing, 2018, 275: 1072-1086. DOI:  10.1016/j.neucom.2017.09.046.
    [8] GENG T, WANG T Q, WU C S, et al. LP-BNN: ultra-low-latency BNN inference with layer parallelism[C]//Proceedings of the 30th International Conference on Application-Specific Systems, Architectures and Processors. New York, USA: IEEE, 2019: 9-16. DOI: 10.1109/ASAP.2019.00-43.
    [9] LIU H, LIU L B, ZHU W P, et al. L-MPC: a LUT based multi-level prediction-correction architecture for accelerating binary-weight hourglass network[C]//Proceedings of the 56th Annual Design Automation Conference 2019. Las Vegas, USA: ACM, 2019: 1-6. DOI: 10.1145/3316781.3317854.
    [10] ZHAO R, SONG W N, ZHANG W T, et al. Accelerating binarized convolutional neural networks with software-programmable FPGAs[C]//Proceedings of 2017 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays. Monterey, California, USA: ACM, 2017: 15-24. DOI: 10.1145/3020078.3021741.
    [11] DUAN Y Z, LI S, ZHANG R P, et al. Energy-efficient architecture for FPGA-based deep convolutional neural networks with binary weights[C]//Proceedings of the 23rd International Conference on Digital Signal Processing. Shanghai, China: IEEE, 2018: 1-5. DOI: 10.1109/ICDSP.2018.8631596.
    [12] WANG J, JIN X, WU W. TB-DNN: a thin binarized deep neural network with high accuracy[C]//Proceedings of the 22nd International Conference on Advanced Communication Technology. Phoenix Park, Korea: IEEE, 2020: 419-424. DOI: 10.23919/ICACT48636.2020.9061291.
  • 加载中
图(8) / 表(6)
计量
  • 文章访问数:  36
  • HTML全文浏览量:  20
  • PDF下载量:  1
  • 被引次数: 0
出版历程
  • 收稿日期:  2021-03-18
  • 修回日期:  2021-05-06
  • 刊出日期:  2021-09-05

目录

    /

    返回文章
    返回