Top
首页 > IT产品和服务 > 云大数据 > 大资讯 > 正文

让计算机会思考,FPGA能否挑起并行计算大梁

深度学习也是很具现实意义的一项技术,当拥有无限多的数据样本并经过分析后,计算机就能在一定程度上模拟人类的行为,并按照既定的目标快速完成任务。
发布时间:2015-12-31 10:36        来源:赛迪网        作者:赛迪网

摘要:现今,我们已经进入了百亿亿次的大计算时代,数据量的爆发式增长、数据获取能力的大幅提升,对计算提出了更高的需求和挑战,大数据、云计算、高性能计算等不同计算方式正在交叉融合,通用计算和并行计算在各自擅长的领域发挥不可替代的作用。在人工智能领域,GPU并行计算已初见成效,而能效比更优的FPGA作为新起之秀,能否挑起并行计算的大梁?

“如果无数多的猴子在无数多的打字机上随机的打字,并持续无限久的时间,那么在某个时候,它们必然会打出莎士比亚的全部著作!”这是1909年法国数学家波莱尔在谈及概率时所举出的无限猴子定理,而这个理论应用今天时,使用一台超级计算机随机打字可能更快命中某本书。但是这只是概率的问题,计算机并不能分别他们打出来的是莎士比亚的文稿还是一推乱码。让计算机拥有接近人类的智能水平是IT行业最伟大,也是最难实现的梦想,而深度学习则是通往人工智能的漫漫长路上一项重要的技术。

深度学习也是很具现实意义的一项技术,当拥有无限多的数据样本并经过分析后,计算机就能在一定程度上模拟人类的行为,并按照既定的目标快速完成任务。以后的计算机可能会“认识”世界上所有的人,知道这个人的姓名、住在哪里、喜好如何,就像一个老朋友。这就是深度学习能够实现的人物画像,之后企业可以精准的投放广告、可以更好的定制产品、可以控制机械臂自动生产商品、你甚至无法区分与你聊天的是机器还是人类!

但是,要让机器能真正像人类一样思考不仅依靠算法模型的精确,同时也需要媲美人脑计算效率的高性能计算技术。众所周知,CPU 由专为顺序串行处理而优化的几个核心组成,需要很强的通用性来处理各种不同的数据类型,同时又要逻辑判断,因此需要引入大量的分支跳转和中断的处理,它擅长的是逻辑控制和通用类型数据运算,就像一个资深的老教授,360行样样精通。但是一个能力再强的人,其精力也是有限的,它需要一件事一件事的处理,虽然处理速度很快,但是任务量太大,总有些任务在排队等待处理。要想让计算能够像人脑一样快速的实现响应,就需要大量的计算核心的堆叠,也就是需要将顺序计算转变为并行计算。

并行计算让计算机能够同时响应大量的计算请求,虽然无可避免的,每个计算核心的计算能力相对降低,就像聘用了一群小学生,每个学生只需要计算一个十分简单的问题。他们无法像老教授一样快速的处理复杂的问题,但是每个复杂的问题都可以无限拆解,最后都可以转化成一个简单的计算问题。举个简单的例子,比如计算4×4这个问题,在没有学会乘法口诀的小孩子来说,他不能计算出结果,但是这个复杂的问题可以拆借成4+4+4+4,进而还能分解成1+1+···+1+1,这样每个小孩子都可以处理其中一块力所能及的计算,最后进行读数的汇总即可。

目前,处理并行计算的最主流形式当属GPU,它由数以千计的更小、更高效的核心组成,这些核心专为同时处理多任务而设计,因此能够很好地处理高并行计算。目前高端的GPU已经做到4992个计算核心,单卡双精度浮点运算峰值可达1.8万亿次每秒。

虽然,GPU并行计算能力强,并且高级语言的使用可使开发人员将精力集中在算法研究和实现上,但是GPU也有其应用的局限性:其成本和功耗都比较高,在工业应用或者大规模使用使会有瓶颈。因此一些企业将目标转移到早期主要是作为数字逻辑器件使用的FPGA上。

什么是FPGA?Field-ProgrammableGate Array的缩写,即现场可编程门阵列,是一种半定制的IC芯片。原厂生产出的是空白的不含配置信息的FPGA芯片,用户可根据自己的需要,利用片上所提供的各种资源开发自己的逻辑,将生成的配置信息写入,从而将其变成自己所需功能的芯片,FPGA可近乎不限次数反复重配。据浪潮为国内某大型互联网公司定制的FPGA的实际测试数据显示,一个FPGA加速卡的功耗约为20W~75W的功耗,对机房场地的适用性高,对机器散热要求不高。而作为对比,1个GPU单元为235W~300W。因此相较于GPU,FPGA具有更高的性能功耗比,一块中端GPU的每瓦单精度20Gflops/W,而FPGA可以达到60Gflops/W~80Gflops/W。

虽然在实测中FPGA具有明显的性能功耗比优势,但是传统FPGA开发采用Verilog、VHDL等硬件描述语言,对开发者的技术要求较为严苛,而浪潮希望能采用OpenCL这种高级语言和模型编程,将开发周期可大幅缩短,对于一些应用可以实现几个人月完成,为FPGA的应用发展提供更为广阔的平台。而浪潮拥有从万亿次到千万亿次的超级计算机产品研发、系统建设、运维服务能力,在GPU领域的技术积累将加速OpenCL实现从CPU到FPGA的迁移。

技术的实现首先源于客户的需求,浪潮相关人员表示,目前浪潮为国内一家以搜索为主要业务之一的大型互联网公司定制了一款FPGA卡,已经部署了近5000片,在前端用在其搜索业务,后端用于其深度学习的模型。近日SC15上,浪潮联合全球可编程逻辑芯片巨头Altera,以及中国最大的智能语音技术提供商科大讯飞,共同发布了一套面向深度学习、基于AlteraArria 10 FPGA平台、采用OpenCL开发语言进行并行化设计和优化的深度学习DNN的语音识别方案,让浪潮成为全球领先的具备GPU、MIC和FPGA三项HPC异构计算应用能力的厂商!

与FPGA生产原厂以及终端用户的联合研发,让浪潮能够实现最大限度的定制化开发,相比芯片设计,FPGA将开发周期从“年”计降低到“月”。对于互联网客户而言,硬件产品的快速响应和深度定制化将为其带来市场的先机。面向未来,浪潮互联网行业产品总监孙波表示,浪潮将针对互联网客户的需求特点,加速GPU、FPGA、ARM等异构计算服务器的研发进度,继续发挥浪潮领先的定制化能力,满足客户快速变化的需求!

合作站点
stat