卷积神经网络的FPGA加速

FPGA开发圈 2021-12-15 12:03

卷积神经网络(CNN)已被证明对复杂的图像识别问题非常有效。本白皮书讨论了如何使用BittWare公司的FPGA加速器产品对这些网络进行加速,使用英特尔OpenCL软件开发工具包进行编程。然后,本文介绍了如何通过降低计算精度来显著提高图像分类的性能。每降低一次精度,FPGA加速器就可以每秒处理越来越多的图像。



Caffe整合


Caffe是一个以表达、速度和模块化为宗旨的深度学习框架。它是由伯克利视觉和学习中心以及社区贡献者开发的。


Caffe框架使用一个XML接口来描述特定CNN所需的不同处理层。通过实现不同的层的组合,用户能够根据他们的要求快速创建一个新的网络拓扑结构。


这些层中最常用的是。

  • 卷积。卷积层用一组可学习的过滤器对输入图像进行卷积,每个过滤器在输出图像中产生一个特征图。

  • 池化。Max-pooling将输入图像划分为一组不重叠的矩形,对于每个子区域,输出最大值。

  • Rectified-Linear: Given an input value x, The ReLU layer computes the output as x if x > 0 and negative_slope * x if x <= 0.

  • InnerProduct/Fully Connected。图像被视为单一的矢量,每个点都对新的输出矢量的每个点有贡献。


通过将这4层移植到FPGA上,绝大多数的前向处理网络都可以使用Caffe框架在FPGA上实现。

图1:典型的CNN-卷积神经网络的实例说明


AlexNet是一个众所周知且使用广泛的网络,有免费的训练数据集和基准。本文讨论了针对AlexNet CNN的FPGA实现,然而这里使用的方法也同样适用于其他网络。

图2:AlexNet CNN - 卷积神经网络


图2说明了AlexNet CNN所需的不同网络层。其中有5个卷积层和3个全连接层。这些层占据了该网络99%以上的处理时间。不同的卷积层有3种不同的过滤器尺寸:11×11、5×5和3×3。为不同的卷积层创建不同的优化层将是低效的。这是因为每个层的计算时间取决于应用的过滤器的数量和输入图像的大小。由于处理的输入和输出特征的数量不同,每个层的计算时间也不同。然而,每个卷积需要不同数量的层和不同数量的像素来处理。通过增加应用于更多计算密集层的资源,可以平衡每一层在相同时间内完成。因此,有可能创建一个流水线进程,在任何时候都可以有几个图像在飞行,最大限度地提高所用逻辑的效率。也就是说,大多数处理元素在大多数时间内都很忙。

表1:ImageNet层的计算要求


表1显示了Imagenet网络的每一层所需的计算量。从该表可以看出,5×5卷积层比其他层需要更多的计算。因此,这一层需要更多的FPGA的处理逻辑,以便与其他层保持平衡。


内积层有一个n对n的映射,要求每次乘加都有一个唯一的系数。内积层通常需要的计算量比卷积层少得多,因此对逻辑的并行化要求较低。在这种情况下,将内积层移到主机CPU上是有意义的,让FPGA专注于卷积层。



FPGA逻辑区域


FPGA器件有两个处理 区域,DSP和ALU逻辑。DSP逻辑是用于乘法或乘法加法运算的专用逻辑。这是因为使用ALU逻辑进行浮点大(18×18位)的乘法运算成本很高。鉴于DSP操作中乘法的普遍性,FPGA供应商为此提供了专用逻辑。英特尔更进一步,允许重新配置DSP逻辑以执行浮动指针操作。为了提高CNN处理的性能,有必要增加FPGA中实现的乘法数量。一种方法是降低位精度。



位精度


大多数CNN的实现都使用浮点精度进行不同层的计算。对于CPU或GPGPU的实现,这不是一个问题,因为浮点IP是芯片结构的一个固定部分。对于FPGA来说,逻辑元素是不固定的。英特尔的Arria 10和Stratix 10器件有嵌入式浮动DSP块,也可以作为定点乘法使用。每个DSP组件实际上可以作为两个分离的18×19位乘法使用。通过使用18位固定逻辑进行卷积,与单精度浮点相比,可用运算器的数量增加了一倍。

图3:Arria 10浮点DSP配置


如果需要降低精度的浮点处理,可以使用半精度。这需要从FPGA结构中获得额外的逻辑,但是假设较低的位精度仍然足够的话,可以使浮点计算的数量增加一倍。


本白皮书中描述的管道方法的关键优势之一是能够在管道的不同阶段改变精度。因此,资源只在必要时使用,提高了设计的效率。


根据CNN的应用容限,位精度还可以进一步降低。如果乘法的位宽可以减少到10位或更少,(20位输出),那么乘法可以只用FPGA ALU逻辑有效地执行。与仅仅使用FPGA DSP逻辑相比,这可以使乘法的数量增加一倍。一些网络可能可以容忍更低的位精度。如果有必要,FPGA可以处理所有低至一位的精度。


对于AlexNet使用的CNN层,我们确定10比特的系数数据是一个简单的固定点实现所能获得的最小缩减量,同时保持相对于单精度浮点操作的误差小于1%。

图4:Arria 10固定点DSP配置



CNN卷积层


使用滑动窗口技术,有可能创建对内存带宽要求极低的卷积核。


图5说明了数据是如何被缓存在FPGA存储器中的,允许每个像素被多次重复使用。数据重复使用的数量与卷积核的大小成正比。


由于每个输入层都会影响CNN卷积层中的所有输出层,因此有可能同时处理多个输入层。这将增加加载层所需的外部存储器带宽。为了减轻这种增加,所有的数据,除了系数,都存储在FPGA设备的本地M20K存储器中。器件上的片上存储器的数量限制了可以实现的CNN层的数量。

图5:3×3卷积的滑动窗口


图6:OpenCL全局内存带宽(AlexNet)


根据M20K的可用资源量,并不总是能够在单个FPGA上安装一个完整的网络。在这种情况下,多个FPGA可以使用高速串行互连进行串联。这使得网络管道可以被扩展,直到有足够的资源可用。这种方法的一个关键优势是它不依赖批处理来最大限度地提高性能,因此延迟非常低,这对延迟关键应用非常重要。


平衡各层之间的时间,使之相同,需要调整所实施的平行输入层的数量和平行处理的像素数量。


大多数CNN特征将适合于单个M20K存储器,由于在FPGA结构中嵌入了数千个M20K,可用于并行卷积特征的总存储器带宽是10兆兆字节/秒。

图7:Arria 10 GX1150 / Stratix 10 GX2800资源


图8:在多个FPGA上扩展一个CNN网络


图9:Alexnet的5×5卷积层的资源


图9列出了Alexnet的5×5卷积层与48个并行内核所需的资源,在Intel Arria10 FPGA上的单精度和16位定点版本。这些数字包括OpenCL板逻辑,但说明了低精度对资源的好处。


全连接层


全连接层的处理需要每个元素都有唯一的系数,因此随着平行度的增加,很快就会出现内存限制。与卷积层保持同步所需的并行量将很快使FPGA的片外存储器饱和,因此建议对输入层的阶段进行分批或修剪。


由于内积层的元素数量较少,批处理所需的存储量与卷积层所需的存储量相比也很小。批处理层允许每个批处理层使用相同的系数,从而减少了外部内存带宽。


修剪的作用是研究输入数据并忽略低于阈值的数值。由于全连接层被放置在CNN网络的后期阶段,许多可能的特征已经被消除了。因此,剪枝可以大大减少所需的工作量。



资源


该网络的关键资源驱动因素是可用于存储每层输出的片上M20K存储器的数量。这一点是恒定的,与实现的并行量无关。将网络扩展到多个FPGA上会增加可用的M20K存储器的总量,因此可以处理CNN的深度。



总结


FPGA结构独特的灵活性允许将逻辑精度调整到特定网络设计所需的最小值。通过限制CNN计算的位精度,每秒可以处理的图像数量可以大大增加,提高了性能并降低了功率。


FPGA实现的非批处理方法允许物体识别的单帧延迟,对于低延迟至关重要的情况是理想的。例如,物体回避。


对AlexNet使用这种方法(第1层为单精度,然后对其余各层使用16位固定),使用单个Arria 10 FPGA可以在大约1.2毫秒内处理每个图像,或者使用两个串联的FPGA可以在0.58毫秒内完成。


免责声明:本文转载自:Bittware,转载此文目的在于传播相关技术知识,版权归原作者所有,如涉及侵权,请联系小编删除(联系邮箱:service@eetrend.com )。

公众号商务合作联系

关注我们

FPGA开发圈 这里介绍、交流、有关FPGA开发资料(文档下载,技术解答等),提升FPGA应用能力。
评论
  • 嘿,咱来聊聊RISC-V MCU技术哈。 这RISC-V MCU技术呢,简单来说就是基于一个叫RISC-V的指令集架构做出的微控制器技术。RISC-V这个啊,2010年的时候,是加州大学伯克利分校的研究团队弄出来的,目的就是想搞个新的、开放的指令集架构,能跟上现代计算的需要。到了2015年,专门成立了个RISC-V基金会,让这个架构更标准,也更好地推广开了。这几年啊,这个RISC-V的生态系统发展得可快了,好多公司和机构都加入了RISC-V International,还推出了不少RISC-V
    丙丁先生 2025-01-21 12:10 118浏览
  • 现在为止,我们已经完成了Purple Pi OH主板的串口调试和部分配件的连接,接下来,让我们趁热打铁,完成剩余配件的连接!注:配件连接前请断开主板所有供电,避免敏感电路损坏!1.1 耳机接口主板有一路OTMP 标准四节耳机座J6,具备进行音频输出及录音功能,接入耳机后声音将优先从耳机输出,如下图所示:1.21.2 相机接口MIPI CSI 接口如上图所示,支持OV5648 和OV8858 摄像头模组。接入摄像头模组后,使用系统相机软件打开相机拍照和录像,如下图所示:1.3 以太网接口主板有一路
    Industio_触觉智能 2025-01-20 11:04 156浏览
  •  光伏及击穿,都可视之为 复合的逆过程,但是,复合、光伏与击穿,不单是进程的方向相反,偏置状态也不一样,复合的工况,是正偏,光伏是零偏,击穿与漂移则是反偏,光伏的能源是外来的,而击穿消耗的是结区自身和电源的能量,漂移的载流子是 客席载流子,须借外延层才能引入,客席载流子 不受反偏PN结的空乏区阻碍,能漂不能漂,只取决于反偏PN结是否处于外延层的「射程」范围,而穿通的成因,则是因耗尽层的过度扩张,致使跟 端子、外延层或其他空乏区 碰触,当耗尽层融通,耐压 (反向阻断能力) 即告彻底丧失,
    MrCU204 2025-01-17 11:30 184浏览
  • Ubuntu20.04默认情况下为root账号自动登录,本文介绍如何取消root账号自动登录,改为通过输入账号密码登录,使用触觉智能EVB3568鸿蒙开发板演示,搭载瑞芯微RK3568,四核A55处理器,主频2.0Ghz,1T算力NPU;支持OpenHarmony5.0及Linux、Android等操作系统,接口丰富,开发评估快人一步!添加新账号1、使用adduser命令来添加新用户,用户名以industio为例,系统会提示设置密码以及其他信息,您可以根据需要填写或跳过,命令如下:root@id
    Industio_触觉智能 2025-01-17 14:14 123浏览
  • 高速先生成员--黄刚这不马上就要过年了嘛,高速先生就不打算给大家上难度了,整一篇简单但很实用的文章给大伙瞧瞧好了。相信这个标题一出来,尤其对于PCB设计工程师来说,心就立马凉了半截。他们辛辛苦苦进行PCB的过孔设计,高速先生居然说设计多大的过孔他们不关心!另外估计这时候就跳出很多“挑刺”的粉丝了哈,因为翻看很多以往的文章,高速先生都表达了过孔孔径对高速性能的影响是很大的哦!咋滴,今天居然说孔径不关心了?别,别急哈,听高速先生在这篇文章中娓娓道来。首先还是要对各位设计工程师的设计表示肯定,毕竟像我
    一博科技 2025-01-21 16:17 105浏览
  • 本文介绍瑞芯微开发板/主板Android配置APK默认开启性能模式方法,开启性能模式后,APK的CPU使用优先级会有所提高。触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。源码修改修改源码根目录下文件device/rockchip/rk3562/package_performance.xml并添加以下内容,注意"+"号为添加内容,"com.tencent.mm"为AP
    Industio_触觉智能 2025-01-17 14:09 164浏览
  •  万万没想到!科幻电影中的人形机器人,正在一步步走进我们人类的日常生活中来了。1月17日,乐聚将第100台全尺寸人形机器人交付北汽越野车,再次吹响了人形机器人疯狂进厂打工的号角。无独有尔,银河通用机器人作为一家成立不到两年时间的创业公司,在短短一年多时间内推出革命性的第一代产品Galbot G1,这是一款轮式、双臂、身体可折叠的人形机器人,得到了美团战投、经纬创投、IDG资本等众多投资方的认可。作为一家成立仅仅只有两年多时间的企业,智元机器人也把机器人从梦想带进了现实。2024年8月1
    刘旷 2025-01-21 11:15 502浏览
  •     IPC-2581是基于ODB++标准、结合PCB行业特点而指定的PCB加工文件规范。    IPC-2581旨在替代CAM350格式,成为PCB加工行业的新的工业规范。    有一些免费软件,可以查看(不可修改)IPC-2581数据文件。这些软件典型用途是工艺校核。    1. Vu2581        出品:Downstream     
    电子知识打边炉 2025-01-22 11:12 62浏览
  • 80,000人到访的国际大展上,艾迈斯欧司朗有哪些亮点?感未来,光无限。近日,在慕尼黑electronica 2024现场,ams OSRAM通过多款创新DEMO展示,以及数场前瞻洞察分享,全面展示自身融合传感器、发射器及集成电路技术,精准捕捉并呈现环境信息的卓越能力。同时,ams OSRAM通过展会期间与客户、用户等行业人士,以及媒体朋友的深度交流,向业界传达其以光电技术为笔、以创新为墨,书写智能未来的深度思考。electronica 2024electronica 2024构建了一个高度国际
    艾迈斯欧司朗 2025-01-16 20:45 470浏览
  • 随着消费者对汽车驾乘体验的要求不断攀升,汽车照明系统作为确保道路安全、提升驾驶体验以及实现车辆与环境交互的重要组成,日益受到业界的高度重视。近日,2024 DVN(上海)国际汽车照明研讨会圆满落幕。作为照明与传感创新的全球领导者,艾迈斯欧司朗受邀参与主题演讲,并现场展示了其多项前沿技术。本届研讨会汇聚来自全球各地400余名汽车、照明、光源及Tier 2供应商的专业人士及专家共聚一堂。在研讨会第一环节中,艾迈斯欧司朗系统解决方案工程副总裁 Joachim Reill以深厚的专业素养,主持该环节多位
    艾迈斯欧司朗 2025-01-16 20:51 200浏览
  • 2024年是很平淡的一年,能保住饭碗就是万幸了,公司业绩不好,跳槽又不敢跳,还有一个原因就是老板对我们这些员工还是很好的,碍于人情也不能在公司困难时去雪上加霜。在工作其间遇到的大问题没有,小问题还是有不少,这里就举一两个来说一下。第一个就是,先看下下面的这个封装,你能猜出它的引脚间距是多少吗?这种排线座比较常规的是0.6mm间距(即排线是0.3mm间距)的,而这个规格也是我们用得最多的,所以我们按惯性思维来看的话,就会认为这个座子就是0.6mm间距的,这样往往就不会去细看规格书了,所以这次的运气
    wuliangu 2025-01-21 00:15 189浏览
  • 数字隔离芯片是一种实现电气隔离功能的集成电路,在工业自动化、汽车电子、光伏储能与电力通信等领域的电气系统中发挥着至关重要的作用。其不仅可令高、低压系统之间相互独立,提高低压系统的抗干扰能力,同时还可确保高、低压系统之间的安全交互,使系统稳定工作,并避免操作者遭受来自高压系统的电击伤害。典型数字隔离芯片的简化原理图值得一提的是,数字隔离芯片历经多年发展,其应用范围已十分广泛,凡涉及到在高、低压系统之间进行信号传输的场景中基本都需要应用到此种芯片。那么,电气工程师在进行电路设计时到底该如何评估选择一
    华普微HOPERF 2025-01-20 16:50 76浏览
  • 临近春节,各方社交及应酬也变得多起来了,甚至一月份就排满了各式约见。有的是关系好的专业朋友的周末“恳谈会”,基本是关于2025年经济预判的话题,以及如何稳定工作等话题;但更多的预约是来自几个客户老板及副总裁们的见面,他们为今年的经济预判与企业发展焦虑而来。在聊天过程中,我发现今年的聊天有个很有意思的“点”,挺多人尤其关心我到底是怎么成长成现在的多领域风格的,还能掌握一些经济趋势的分析能力,到底学过哪些专业、在企业管过哪些具体事情?单单就这个一个月内,我就重复了数次“为什么”,再辅以我上次写的:《
    牛言喵语 2025-01-22 17:10 66浏览
  • 日前,商务部等部门办公厅印发《手机、平板、智能手表(手环)购新补贴实施方案》明确,个人消费者购买手机、平板、智能手表(手环)3类数码产品(单件销售价格不超过6000元),可享受购新补贴。每人每类可补贴1件,每件补贴比例为减去生产、流通环节及移动运营商所有优惠后最终销售价格的15%,每件最高不超过500元。目前,京东已经做好了承接手机、平板等数码产品国补优惠的落地准备工作,未来随着各省市关于手机、平板等品类的国补开启,京东将第一时间率先上线,满足消费者的换新升级需求。为保障国补的真实有效发放,基于
    华尔街科技眼 2025-01-17 10:44 221浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦