FINN(三)BNN在FPGA上的准确性和峰值性能

本文探讨了BNN(二值神经网络)在FPGA上的性能,利用Roofline模型展示了BNN相较于8位固定点CNN在计算限制上的优势。BNN在FPGA上的理论峰值性能接近计算限制,而固定点CNN受存储器带宽约束。在MNIST数据集的实验中,BNN虽然需要更多参数和操作来达到与浮点网络相当的精度,但速度优势明显,大约快16倍。
摘要由CSDN通过智能技术生成

3.1 使用Roofline估算性能

为了估计和比较BNN性能与固定点CNN,我们使用了一个roofline模型[29],它考虑了存储器带宽,峰值计算性能和算术强度(读取或写入的off-chip存储器的每个字节执行的数学运算的数量)。 对于特定算术强度,roofline曲线与垂直线的交点给出理论峰值性能点,其可以是计算约束,也可以是存储器约束。 我们考虑流行的AlexNet [14]的二值化和8位固定点[25]实现,两者都需要14亿次操作(GOPS)来对一个图像进行分类。

使用[17]描述的方法,我们为Xilinx Zynq Ultra Scale + ZU19EG FPGA开发了一个roofline模型。结果如Figure 1所示。我们首先观察到FPGA的二进制运算的计算限制性能为66 TOPS,比8位高出约16倍,与16位固定点操作相比高出53倍。但是,只有在应用程序不受内存限制的情况下才能达到计算限制峰值。BNN的紧凑模型大小提供了一个关键优势。由于二值化的AlexNet仅需要7.4 MB的参数(与8位的50 MB相比),整个神经网络模型可以保存在片上存储器中,二值化和8位固定点AlexNet变体的算术强度用垂直线表示,因此,BNN几乎能够达到计算峰值,而固定点CNN的峰值性能受到存储器带宽的限制。基于这些观察,设计达到峰值的75%,大概能达到每秒0.75 ·(66 TOPS/1.4 GOPS)≈ 35000张图片的吞吐量。
在这里插入图片描述

使用相同的模型,

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值