转 让FPGA替代GPU的6大顾虑,你确定不看看吗?
最近FPGA又频频被各AI领域的巨头看好,比如微软、百度、科大讯飞都对FPGA应用前景有所期待。那么如果让你选择FPGA作为AI计算系统的主力军,你会有什么样的顾虑?
这几天,已经退役的AlphaGo又强行刷了一波头条,不是又跟哪位世界高手对决,而是“新狗”通过无监督式学习,仅用3天时间就战胜了李世石版的AlphaGo,然后用了21天时间战胜了柯洁版本AlphaGo。AlphaGo让我们真真切切地看到了AI计算的强大。
目前,在AI计算平台使用最广泛的两种加速部件是GPU和FPGA。GPU可适用于具备计算密集、高并行、SIMD(SingleInstructionMultipleData,单指令多数据流)应用等特点的深度学习训练模型领域,并且GPU创建了包含CNN、DNN、RNN、LSTM以及强化学习网络等算法在内的应用加速平台和生态系统。
但是,最近FPGA又频频被各AI领域的巨头看好,比如微软、百度、科大讯飞都对FPGA应用前景有所期待。那么如果让你选择FPGA作为AI计算系统的主力军,你会有什么样的顾虑?
顾虑一:FPGA有啥优势?什么样的场景更适合FPGA?
首先,深度学习包含两个计算环节,即训练和推理环节。GPU在深度学习算法模型训练上非常高效,但在推理时对于小批量数据,并行计算的优势不能发挥出来。而FPGA同时拥有流水线并行和数据并行,因此处理任务时候延迟更低。例如处理一个数据包有10个步骤,FPGA可以搭建一个10级流水线,流水线的不同级在处理不同的数据包,每个数据包流经10级之后处理完成。每处理完成一个数据包,就能马上输出。通常来说,FPGA加速只需要微秒级的PCIe延迟。当Intel推出通过QPI快速通道互联的Xeon+FPGA之后,CPU和FPGA之间的延迟甚至可以降到100纳秒以下。
其次,FPGA是可编程芯片,算法烧录更加灵活。目前来看,深度学习算法还未完全成熟,算法还在迭代衍化过程中,若深度学习算法发生大的变化,FPGA是软件定义硬件,可以灵活切换算法,快速切入市场。
未来至少95%的机器学习计算都是用于推断,只有不到5%是用于模型训练,而FPGA正是强在推断。大幅提升推断效率的同时,还能最小限度损失精确性,这正是FPGA的强项。
顾虑二:FPGA的计算性能能不能满足我的需求?
与CPU和GPU不同,FPGA是一种典型的非诺依曼架构,是硬件适配软件的模式,它能够根据系统资源和算法特征灵活的调整并行度,达到最优的适配,因此能效比高于CPU和GPU。
以浪潮F10A为例,这是目前业界支持OpenCL的最高密度最高性能的FPGA加速设备,基于Altera的Arria10芯片,单芯片峰值运算能力达到了1.5TFlops,功耗却只需35W,每瓦特性能达到42GFlops。同时,F10A设计为高密度的半高半长PCI-E插卡,同时具有灵活的板卡内存配置,最大支持32G双通道内存,是业内同等FPGA卡内存容量的4-8倍。此外,F10A支持2个10Gb光口,可以实现数据直接从网络到板卡处理,无需经过CPU,大大减低了传输延时。
测试数据显示,在语音识别应用下,浪潮F10A较CPU性能加速2.87倍,而功耗相当于CPU的15.7%,性能功耗比提升18倍。
顾虑三:FPGA的开发周期得1年以上吧,这不能满足我的业务上线需求?
传统的FPGA的开发类似于芯片的开发,采用硬件描述语言(HDL)开发,HDL开发带来的问题就会像芯片设计一样周期会比较长,从架构设计、到仿真验证、再到最终完成,需要一年左右的开发时间。
但是互联网的业务迭代速度极快,在几个月时间内就可能完成庞大用户群的积累,因此业务对于数据中心的要求是“快”—计算力平台的升级要尽量快地满足业务的发展,因此FPGA的传统开发模式动辄以半年或年为单位的开发周期难以满足需求。
为此浪潮尝试通过OpenCL高级语言开发方式,它把底层的硬件如总线、IO接口、访存控制器等和底层软件如驱动、函数调用等全部封装,变成标准单元提供上层支持,用户只需要关注算法本身,OpenCL开发的逻辑通过编译工具直接映射到FPGA中,开发周期从至少1年缩短至4个月以内。
顾虑四:对于O经验的公司,怎样快速上线FPGA应用?
或许你还是有些顾虑,即时开发效率大幅提升、开发周期大大缩短,但是对于技术和团队储备不足的中小型AI企业来说,FPGA仍是“高不可攀”的AI加速部件。如果,有一种方案能够将软件、算法和硬件板卡整合,以软硬一体化的形式,提供FaaS(FPGAasaService)服务。你还有什么顾虑么?
目前,浪潮正在针对市场上需求最迫切的几种应用场景进行算法的移植开发,在图像压缩、文本数据压缩及神经网络加速等应用开发出业界领先的IP,省去客户的算法开发周期,最小化FPGA落地门槛、最大化FPGA落地效率。
神经网络加速方案:基于浪潮F10A的AI线上推理加速方案,针对CNN卷积神经网络的相关算法进行优化和固化,可加速ResNet等神经网络,能够应用于图片分类、对象检测和人脸识别等应用场景。
实测数据显示,在进行ResNet残差网络的图片识别分类任务时,浪潮F10A加速方案图片处理速度可达每秒742张,Top-5识别准确率达到99.6%,相比同档次GPU能效比提升3倍以上。而与通用CPU对比,在处理这种高并行、小计算量的任务时,F10A的优势将更明显。
WebP图片转码压缩加速方案:针对图片数据的压缩应用,嵌入基于FPGA计算环境下的WebP编解码优化算法,通过充分利用硬件流水设计和任务级并行,大大提升WebP图像压缩编码算法的处理性能,能够实现JPEG-WebP图片格式的快速转换,比传统实现方式的整体处理效率平均高9.13倍左右,最高性能可比CPU提高14倍。
数据压缩加速方案:为解决传统压缩架构的弊端,浪潮GZip算法加速方案充分利用板卡硬件流水设计和任务级并行,大幅提升了压缩任务的吞吐量并有效降低CPU的负载,压缩率(压缩率=1-压缩后文件/压缩前文件)最高可达94.8%,压缩速度达到1.2GB/s,10倍于传统方案的压缩效率。
顾虑五:我是做云的,FPGA咋管理?支持虚拟机么?
FaaS不仅仅是指板卡与软件算法的一体化服务,同时还可以支持公有云及在线远程管理和更新。浪潮FPGA解决方案能够支持动态逻辑的在线可重构、静态逻辑的远程更新,并且通过优化的监控管理机制,提升板卡远程监控管理的可靠性,通过它们可以实时的监控FPGA芯片的温度、板卡风扇转速、板卡内存特性等从而调整FPGA的工作频率。
同时浪潮FPGA也支持虚拟机的直接访问,板卡本身也加入了很多RAS(可靠性、可用性、可扩展性)特性,如高可靠内存访问等,支持并行(FPP)和串行(AS)双加载模式,任何一种模式加载出现故障,都可以快速切换到另一种模式加载,保证了板卡大规模服务的可用性。
有了这些特性,就可以利用浪潮FPGA方案,快速搭建FPGA云所需要的基础底层计算平台,不论是对外提供公有云服务,还是对内实现FPGA计算力快速分配都能够既高效又可靠。
顾虑六:我可不想当小白鼠,有谁用过了?
对于FPGA这种新兴的AI计算设备,“观望”往往是明智的选择,毕竟不是每家公司都想要作为新技术的小白鼠,而当有第一个吃螃蟹的人出现后,“跟进”则成为“飞猪”的必然之路。
目前,浪潮FPGA已经在百度、阿里巴巴、腾讯、网易、科大讯飞取得批量的落地应用或深度测试,FPGA在人工智能线上推理的能效优势已经得到大部分互联网和AI公司的认可。
那么,FPGA可以应用在哪些领域?我们可以听听腾讯云FPGA团队负责人怎么说:
在机器学习领域、金融领域、大数据领域、基因检测领域都存在比较大的数据量需要分析计算,这些是FPGA可以发挥高吞吐优势的领域。
网络安全领域有更安全、更低延时的需求,这些场景也可以发挥FPGA低延时的优势。
超大规模图像处理,这些图片的处理都使用FPGA来进行处理加速,都可以得到满意的效果。
现在比较热门的自然语言处理和语音识别这些也都是FPGA可以发挥优势的场景。
当FPGA成为一种计算力服务,有着高效的硬件、成熟的IP和云化管理,你还在顾虑什么?
浪潮拥有国内领先的FPGA软硬件开发团队,浪潮正联合Intel及BAT、科大讯飞、网易等AI领先企业深入研发基于FPGA的通用系统方案,包括深度学习、网络加速、存储优化等,并将方案推广到其它应用领域和客户。未来,CPU+FPGA或许将作为新的异构加速模式,被越来越多的应用领域采用。
转 让FPGA替代GPU的6大顾虑,你确定不看看吗?的更多相关文章
- DSP已经英雄迟暮了吗?FPGA才是未来的大杀器?
DSP技术,在某些人看来,或者已经面临着英雄迟暮的感觉,就我们当前所知道的.Freesacle.ADI.NXP早就停掉了新技术发展,而当前从大的方面说只剩下TI一家扛着Digital Si ...
- FPGA知识大梳理(四)FPGA中的复位系统大汇总
本文整合特权(吴厚航)和coyoo(王敏志)两位大神的博文.我也很推崇这两位大神的书籍,特权的书籍要偏基础一下,大家不要一听我这么说就想买coyoo的.我还是那一句话,做技术就要step by ste ...
- FPGA、GPU、CPU三者各自的优缺点是什么呢?
CPU: 英文全称:Central Processing Unit. 中文全称:中央处理器. 厂商:英特尔Intel. 功能:是一台计算机的运算核心和控制核心. 缺点:运算能力(最弱),核处理数(最少 ...
- FPGA该如何应对ASIC的大爆发?
有人认为,除了人才短缺.开发难度较大,相比未来的批量化量产的ASIC芯片,FPGA在成本.性能.功耗方面仍有很多不足.这是否意味着,在ASIC大爆发之际,FPGA将沦为其“过渡”品的命运? 安路科技市 ...
- GPU、CPU、FPGA
一.计算核心增加 二者都由寄存器.控制器.逻辑单元构成,但比例很大不同,决定了CPU擅长指令处理,函数调用上:GPU在数据处理(算数运算/逻辑运算)强力很多. NIVIDA基于Maxwell构架的GP ...
- GPU 、APU、CUDA、TPU、FPGA介绍
购买显卡主要关注:显存.带宽和浮点运算数量 GPU :图形处理器(英语:Graphics Processing Unit,缩写:GPU),又称显示核心.视觉处理器.显示芯片,是一种专门在个人电脑. ...
- FPGA与Deep Learning
你还没听过FPGA?那你一定是好久没有更新自己在IT领域的知识了. FPGA全称现场可编程门阵列(Field-Programmable Gate Array),最初作为专用集成电路领域中的一种半定制电 ...
- 国内首款 FPGA 云服务器,性能是通用 CPU 服务器 30 倍以上
版权声明:本文由薛梁原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/628340001485134638 来源:腾云阁 ht ...
- FPGA能代替CPU架构吗?
你还没听过FPGA?那你一定是好久没有更新自己在企业级IT领域的知识了.今天笔者就和大家聊聊何为FPGA?FPGA主要应用场景是什么?有人说FPGA是替代传统CPU和GPU的未来,你信吗? FPGA全 ...
随机推荐
- C# - VS2019通过重写pictureBox实现简单的桌面截图功能
前言 通过创建客制化组件(继承pictureBox),新增属性和构造方法,实现屏幕截图时需要用到的功能点.再通过监控鼠标按下.移动和释放,来获取起始点区域.最后通过操作BMP图像,实现截图的新增.修改 ...
- PlayJava Day008
今日所学: /* 2019.08.19开始学习,此为补档. */ 1.包装类:对基本数据类型进行封装,使其具有属性和方法. Integer s1 = new Integer(123) ; Intege ...
- git fetch & pull详解
1.简单概括 先用一张图来理一下git fetch和git pull的概念: 可以简单的概括为: git fetch是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中. 而g ...
- CAD总记不住?设计达人给你支招,最强口诀40条玩转设计
绘图界有这样一个准则:绘图越快,玩的越6 相反的,CAD玩的很6 ,你的绘图效率一定不会差到哪里去,虽然不能说的太绝对,但你就操作如果玩转,一定你就操作能给你的绘图带来很多效率的提升. 当然后面就你就 ...
- Windows下 gcc/g++的安装与配置
引言 我们知道开发最好用Mac/Linux,效率很高,但是对于很多还是Windows用户的我们来说,编写代码再到linux上运行也是很常有的事情,但对于我们写一些小demo使用上面的流程难免有点兴师动 ...
- Spring高频面试题,你能答的上哪些?(高级篇)
1.什么是 Spring 框架?Spring 框架有哪些主要模块? 2.使用 Spring 框架能带来哪些好处? 3.什么是控制反转(IOC)?什么是依赖注入? 4.请解释下 Spring 框架中的 ...
- GBT22239-2008-等保1.0三级要求
第三级基本要求 7.1 技术要求 7.1.1 物理安全 7.1.1.1 物理位置的选择(G3) 本项要求包括: a) 机房和办公场地应选择在具有防震.防风和防雨等能力的建筑内: b) 机房场地 ...
- iOS 高效的分页加载(TableView、CollectionView)
一.tableview的分页加载的代码对比 没有优化之前的代码如下 [strongSelf.tableView.mj_footer endRefreshing]: [strongSelf.articl ...
- ubuntu下查看本机IP地址
在终端输入: ifconfig -a 即可得解.出来的结果inet后就是你的ip地址
- 当cell中有UItextfiled或者UITextVIew时,弹出键盘把tableview往上,但是有的cell没有移动
cell中有UITextView时,输入文字是需要将tableView向上移,基本的做法是,注册键盘变化的通知在通知的方法中做tableVIew的位置调整, 一,一般做法 - (void)regist ...