FPGA 用戶强大 AI 帮手:开源 PipeCNN
扫描二维码
随时随地手机看文章
最近为什么越来越多的研究开始利用FPGA作为CNN加速器?FPGA与CNN的相遇究竟能带来什么神奇效果呢?原来,FPGA拥有大量的可编程逻辑资源,相对于GPU,它的可重构性以及高功耗能效比的优点,是GPU无法比拟的;同时,基于OpenCL的高层次综合工具,可以为CNN在FPGA上的实现提供快速的验证和实现流程。
在众多的该类研究里面,由北京交通大学王东老师带领他的团队所设计的开源PipeCNN模型最为突出, 该模型是一种基于OpenCL的FPGA加速算法设计,是大规模卷积神经网络(CNN)模型。主要目标是在FPGA上提供基于OpenCL的通用且高效的CNN加速器设计。这种设计模型被广泛应用于图像分类、视频分析和语音识别等领域。PipeCNN在性能和硬件资源方面都具有很好的可扩展性,可以部署在各种FPGA平台上。该设计可谓是给FPGA 用戶带来强大的AI帮手。
王东老师团队提出的PipeCNN模型是一种具有流水线內核的高效硬件架构, 在OpenCL的异构并行计算框架下,设计了卷积(Convolution),池化(Pooling), 局部响应归一化(LRN)和Data Mover 等Kernel。此架构在FPGA內实现能有效的减少內存占用和带宽要求,从而提高效能。以下是来自王东老师 FPT 会议论文里面 PipeCNN 架构框图:
他们在FPT 会议论文里面还对不同FPGA平台的性能、成本和功耗进行了总结:
在表中可以看到, 对于AlexNet 模型, PipeCNN实现的最佳性能是在DE5a-net平台上, 平均速度为200 fps(5ms / img)。而单纯使用安装Caffe工具的电脑上(Intel i5-4690K CPU, 64GB 存储)执行AlexNet和VGG-16的运行时间则分别为189毫秒和1547毫秒。我们对比一下可以看到使用基于FPGA的加速器对AlexNet 模型相对于CPU可以实现高达37倍的性能。
王东老师团队带着PipeCNN设计成果参加了2018 Innovate FPGA全球创新大赛,在大中华区决赛现场,该团队成功演示了如下这些应用:
(1)ImageNet图像分类:基于AlexNet网络对ImageNet数据集进行实时分类
(2)基于摄像头的物体识别:通过摄像头采集目标物体图像,并对其进行识别
(3)人脸识别:基于VGG-16网络对给定人脸进行实时的识别
(4)目标检测:基于Faster R-CNN网络在分类图像的同时把物体用矩形框圈出来。
如下是来自区域赛当时演示的照片,让大家一起来感受下现场吧:
王东老师的 PipeCNN 项目已在github上开源,因此可以被研究人员用作探索新硬件架构的通用框架,也可以被高校教师作为与FPGA相关的任何学术课程的自定义设计示例。在Innovate FPGA创新大赛的大中华区决赛现场上, 便同时有两支决赛队伍使用到开源PipeCNN模型进行图片辨识,参赛队伍们表示,使用PipeCNN设计,大幅度减少他们关于深度学习这块工作的开发时间,还能达到期望的目标效能,特别感谢这个开源PipeCNN设计。目前PipeCNN这一研究成果的应用已被全球很多用户所采用并在各种友晶科技的开发板(例如DE1-Soc/DE5a-Net)上运用起来。
最后该成果在Innovate FPGA全球创新大赛-大中华区决赛中荣获特等奖,将代表大中华区前往美国硅谷参加全球总决赛。该队伍将与来自全球各赛区产生出的11支队伍一较高下,期待他们取得好成绩。
Innovate FPGA全球创新大赛全球总决赛将于8月15于英特尔美国硅谷总部盛大举行,此次代表大中华区的队伍由北京交通大学王东老师团队、武汉大学常胜老师团队以及重庆大学何伟、林英撑老师团队组成,让我们一起为大中华区代表对打Call!