Skip to main content
QUICK REVIEW

[论文解读] TinBiNN: Tiny Binarized Neural Network Overlay in about 5,000 4-LUTs and 5mW

Guy Lemieux, Joe Edwards|arXiv (Cornell University)|Mar 5, 2019
Advanced Neural Network Applications被引用 5
一句话总结

TinBiNN 在 FPGA 上实现了一个紧凑的硬件叠加层,仅使用 5,000 LUT 和 5mW 功耗,用于加速使用 1-bit 权重和 8-bit 激活值的二值化神经网络推理。其在 CIFAR-10 上使用 10 类分类器实现 13.6% 的错误率,耗时 1,315ms;在 1 类人脸检测器上实现 0.4% 的错误率,耗时 195ms,通过定制的 RISC-V 向量处理器结合专用 CNN 加速和定点计算,展现出超低功耗和面积效率。

ABSTRACT

Reduced-precision arithmetic improves the size, cost, power and performance of neural networks in digital logic. In convolutional neural networks, the use of 1b weights can achieve state-of-the-art error rates while eliminating multiplication, reducing storage and improving power efficiency. The BinaryConnect binary-weighted system, for example, achieves 9.9% error using floating-point activations on the CIFAR-10 dataset. In this paper, we introduce TinBiNN, a lightweight vector processor overlay for accelerating inference computations with 1b weights and 8b activations. The overlay is very small -- it uses about 5,000 4-input LUTs and fits into a low cost iCE40 UltraPlus FPGA from Lattice Semiconductor. To show this can be useful, we build two embedded 'person detector' systems by shrinking the original BinaryConnect network. The first is a 10-category classifier with a 89% smaller network that runs in 1,315ms and achieves 13.6% error. The other is a 1-category classifier that is even smaller, runs in 195ms, and has only 0.4% error. In both classifiers, the error can be attributed entirely to training and not reduced precision.

研究动机与目标

  • 设计一种适用于资源受限 FPGA 的最小化、低功耗硬件加速器,用于二值化神经网络推理。
  • 在保持高准确率的前提下,通过使用 1-bit 权重和 8-bit 定点激活值,减少网络规模和精度。
  • 通过定制的 RISC-V 处理器结合轻量级向量扩展(LVE)和专用 CNN 加速,实现高性能和高能效。
  • 通过最小化硬件和功耗,展示实际嵌入式视觉应用(如人员检测)的可行性。
  • 通过保持定点算术下的高准确率,证明二值化网络中的准确率下降主要源于训练问题,而非精度降低。

提出的方法

  • 系统采用修改后的 BinaryConnect 网络,运算量减少 89%,从 2×128C3 降低至 2×48C3,激活值使用 8 位无符号整数,中间求和使用 16/32 位有符号整数。
  • 定制硬件加速器通过每周期获取 32 位操作数,每列输入执行两次遍历,实现两个重叠的 3×3 卷积并行计算,生成四个输出。
  • TinBiNN 叠加层集成了带轻量级向量扩展(LVE)的流水线化 RISC-V ORCA 处理器,无需循环或地址生成开销,即可高效执行向量和矩阵运算。
  • 在 LVE 流水线中添加自定义 ALU 指令:16b 到 32b 的 SIMD 加法和 32b 到 8b 的激活函数,支持溢出安全累加和 8 位输出生成。
  • DMA 引擎将权重从 SPI Flash ROM 和图像数据从 VGA 摄像头流式传输至 128kB 临时存储区,硬件支持缩放和去交织,用于处理 40×30 像素输入。
  • 系统使用 32×32 的中心区域进行卷积运算,并将数据按 32 位对齐的块处理,确保跨遍历过程的对齐。

实验结果

研究问题

  • RQ1在 FPGA 上,使用 1-bit 权重和 8-bit 激活值的二值化神经网络能否在 5,000 LUT 和 5mW 功耗预算内实现高准确率?
  • RQ2在使用定点算术和二值化权重时,网络规模能减少到何种程度而不会导致显著的准确率损失?
  • RQ3与纯软件执行相比,使用专用指令的定制 RISC-V 向量处理器在加速二值化 CNN 推理方面有多高效?
  • RQ4超低功耗嵌入式系统能否通过最小化硬件和定点计算实现实时人员检测?
  • RQ5观察到的二值化网络中的错误是否主要源于训练限制,而非精度降低?

主要发现

  • 10 类分类器在 CIFAR-10 上实现 13.6% 的错误率,运算量相比原始 BinaryConnect 网络减少 89%,且 1-bit 权重表示未导致准确率损失。
  • 1 类人脸检测器在 iCE40 UltraPlus FPGA 上实现 0.4% 的错误率,推理时间仅 195ms,功耗仅 21.8 mW,帧率 1fps 时为 4.6 mW。
  • 硬件加速器使卷积层运行时间相比 ORCA RISC-V 核心的纯软件执行提升 73 倍。
  • LVE 扩展使全连接层性能提升 8 倍,整体相比纯软件执行实现 71 倍加速。
  • 系统仅使用 4,895/5,280 个 4-LUT 和 4/8 个 DSP 模块,符合 iCE40 UltraPlus-5K FPGA 的 5,000 LUT 和 5mW 功耗限制。
  • 10 类分类器的错误完全归因于训练过程,而非精度降低,因为定点计算维持了与浮点计算相同的 13.6% 错误率。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。