menggujibaren

AI让FPGA获得新生:CPU+GPU都搞不定的机器学习问题,微软和百度用FPGA解决了

0
阅读(1797)

在今年的 Hot Chips 2017 会议上,微软推出基于 FPGA 的超低延迟计算平台 Brainwave,用于在云端加速深度学习。该平台采用英特尔 Stratix 10 FPGA,经测试得出,Brainwave 不需要任何 batching 就能在大型 GRU(Gated recurrent unit)上达到 39.5 Teraflops 的性能。

微软将 DPU 或者 DNN 处理单元合并到 FPGA 中,希望通过加强深度学习网络的研究,更快地适应其云服务基础设施建设,以应对接近于实时的运算处理需求。

同样是在 Hot Chips 大会上,百度发布一款 256 核、基于 FPGA 的云计算加速芯片 XPU,其合作伙伴是著名 FPGA 厂商 Xilinx。XPU 的目标是在性能和效率之间实现平衡,处理多样化的计算任务,而 FPGA 本身就擅长于处理某些特定的计算。

百度研究员欧阳剑表示:「FPGA 是高效的,可以专注于特定计算任务。传统 CPU 擅长通用计算任务,尤其是基于规则的计算任务,同时非常灵活。GPU 瞄准了并行计算,因此有很强大的性能,XPU 则专注于计算密集型、基于多规则的多样化计算任务,提高效率和性能,并带来类似 CPU 的灵活性。」

近两年随着人工智能浪潮的到来,让有些冷门 FPGA 又重新焕发了生机,其实各大科技厂商很早就发现了 FPGA 在 AI 领域所拥有的优势,并开始布局。

早在2015 年,微软就提出了一种使用 FPGA 加速 Bing 搜索引擎的方案,这些 CPU + FPGA 混合器在当年便投入了生产和布置,用以加速 Bing 的页面排名功能。去年,亚马逊 AWS 也推出了基于 FPGA 的云服务 EC2 F1。事实上,百度、阿里云、腾讯云等巨头也相继推出了 FPGA 云服务。

FPGA 之所以普遍受到业界的关注,是源于 2015 年英特尔有史以来最大的一笔收购案 —— 以 167 亿美元的价格收购 FPGA 大厂 Altera。英特尔判断, 2020 年 CPU + FPGA 的异构计算将占据运输局中心市场的三分之一。

和传统的 CPU 、GPU 相比,FPGA 无指令、无需共享内存的体系结构可以拥有更高的计算效率,在处理类似矩阵运算、图像处理、机器学习、压缩、Bing 搜索排序等计算密集型任务中有相当优秀的表现。另外,FPGA 拥有更低的功耗,百度在线上服务使用的 FPGA 版百度大脑,在同样的功耗下,其性能是天河二号超级计算机的十倍以上。

摩尔定律已经不再符合现今技术的发展状态,而机器学习和 Web 服务的规模却以指数级增长,技术和行业的快速发展,对处理器提出了可被重新编程以适应新类型计算任务的要求,FPGA 正是这样一种可以重构的体系结构,而这也是各科技巨头如此看重 FPGA 的原因。