[论文解读] Scaling Binarized Neural Networks on Reconfigurable Logic
该论文通过引入基于-1的填充技术,在保持1位数据通路的同时,提升了大型FPGA上二值化神经网络(BNNs)的可扩展性,从而增强了FINN框架。在ADM-PCIE-8K5 FPGA平台上,该方法在CIFAR-10上实现了88.7%的准确率,推理速度达12,000 FPS,性能达14.8 TOPS,功耗低于41W,展现出极高的效率与可扩展性。
Binarized neural networks (BNNs) are gaining interest in the deep learning community due to their significantly lower computational and memory cost. They are particularly well suited to reconfigurable logic devices, which contain an abundance of fine-grained compute resources and can result in smaller, lower power implementations, or conversely in higher classification rates. Towards this end, the Finn framework was recently proposed for building fast and flexible field programmable gate array (FPGA) accelerators for BNNs. Finn utilized a novel set of optimizations that enable efficient mapping of BNNs to hardware and implemented fully connected, non-padded convolutional and pooling layers, with per-layer compute resources being tailored to user-provided throughput requirements. However, FINN was not evaluated on larger topologies due to the size of the chosen FPGA, and exhibited decreased accuracy due to lack of padding. In this paper, we improve upon Finn to show how padding can be employed on BNNs while still maintaining a 1-bit datapath and high accuracy. Based on this technique, we demonstrate numerous experiments to illustrate flexibility and scalability of the approach. In particular, we show that a large BNN requiring 1.2 billion operations per frame running on an ADM-PCIE-8K5 platform can classify images at 12 kFPS with 671 us latency while drawing less than 41 W board power and classifying CIFAR-10 images at 88.7% accuracy. Our implementation of this network achieves 14.8 trillion operations per second. We believe this is the fastest classification rate reported to date on this benchmark at this level of accuracy.
研究动机与目标
- 解决二值化神经网络(BNNs)在大型FPGA上超越嵌入式平台的可扩展性问题。
- 克服先前BNN FPGA加速器(如FINN)因缺乏填充而导致的准确率下降问题。
- 提升BNN加速器中BRAM资源的利用效率,以支持更大规模的网络结构。
- 在保持1位数据通路的同时,实现在可重构逻辑上的高吞吐量、低功耗BNN推理。
- 在现代FPGA平台上,基于FINN框架展示大规模BNN的最先进性能。
提出的方法
- 提出一种改进的填充策略,使用-1值代替0值,以在BNN中保持1位数据通路。
- 对MVTU(矩阵-向量张量单元)进行架构增强,支持并行执行多个向量乘法,提升BRAM利用率。
- 通过优化ADM-PCIE-8K5 FPGA上的内存分区与资源分配,扩展FINN框架以支持更大规模的BNN。
- 实现一种流式架构,为每层计算资源按吞吐量需求进行定制化配置。
- 使用XNOR与popcount操作进行二值推理,消除乘法器,降低面积与功耗。
- 利用片上内存(OCM)存储权重与激活缓冲区,减少对外部片外内存的访问,提升带宽效率。
实验结果
研究问题
- RQ1能否在保持1位数据通路的同时,将BNN扩展至现代FPGA上的大规模、高吞吐量推理任务?
- RQ2如何在不引入2位数据通路或牺牲准确率的前提下,有效应用于BNN中的填充?
- RQ3在高端FPGA上扩展至更大网络时,FINN框架的主要瓶颈是什么?
- RQ4BNN加速器中BRAM利用率可提升至何种程度,以支持更大模型?
- RQ5能否在FPGA上实现BNN的高推理速率(如12 kFPS),同时保持低功耗(<41W)与高准确率(>88%)?
主要发现
- 所提出的基于-1的填充方法在CIFAR-10上将BNN准确率提升至88.7%,同时保持1位数据通路,优于无填充方案,且与0填充方案准确率相当。
- 该实现的推理延迟仅为671 μs,在ADM-PCIE-8K5 FPGA上达到12,000帧每秒(FPS)。
- 系统在功耗低于41W的条件下,实现14.8万亿次每秒(TOPS)的运算性能。
- FINN中BRAM利用率偏低,平均仅约22%,主要由于MVTU中固定$F^m$导致权重内存分配碎片化。
- 对MVTU进行架构增强以支持并行多向量乘法,可显著提升BRAM利用率并降低资源开销。
- 该方法在CIFAR-10上以88.7%准确率实现了迄今报告的最高分类速率,为FPGA上二值化推理树立了新的性能基准。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。