原文链接:http://www.csdn.net/article/2015-09-21/2825749
Yann LeCun:深度学习硬件前瞻
Yann LeCun被大家誉为“卷积神经网络之父”,该技术助推了人工智能在Google、Facebook等公司的发展,在此之外,LeCun也已经不再局限于扎根算法领域。正如那些开发全新计算方法的人一样,他在硬件领域也有深厚背景,尤其是芯片设计,并且在硬件专业化,复杂问题下的数据迁移,以及核性能提升方面也很拿手。
LeCun是从贝尔实验室的研究真正开始开拓深度学习的,他的研究项目结合了先进的软硬件联合设计技术(co-design)。即使在今天,他在服务器端的机器学习和神经网络循环仍广为人知。他本周在Hot Chips会议上做了这方面介绍。在关于神经网络进化(硬件和软件)的演讲中,LeCun除了介绍自己在贝尔实验室、Facebook研究院和纽约大学(众多研究机构之一)的经历之外,还挤出时间和The Platform交流了关于卷积神经网络在联合设计方面今后的发展。
最后,他基于现阶段深度学习的能力,以及下一阶段更智能、更大规模的神经网络,描绘了未来架构的前景。LeCun观点的引人关注之处并不令人惊讶:当前架构在性能上不足以承受下一代机器学习算法,因为新的算法已经超越了现有加速工具和程序性能的局限之处。
正如五月份的采访所描述,我们和LeCun谈到的GPU计算在深度学习中的地位,我们了解到GPU加速方法不仅在训练大规模神经网络时有用,还亟需被改进来处理另一部分问题,也就是运行真正的post-training算法。本周,LeCun再次提及此,他解释说大多数模型训练在4个或8个GPU的服务器端上完成,Google和Facebook正尝试在多个节点上用这套装置并行化运行训练算法。他还提到说尽管普遍猜测Google拥有GPU的数量在8000个左右,但事实上远远不止,而且随着图片、视频数据集的不断增长,GPU的规模还在扩大。
但也许更有趣的想法是把FPGA作为可配置器件用于神经网络处理更大的网络(同时GPU仍旧保持高性能训练机制)。LeCun向ThePlatform透露,传言Google正在定制硬件设备来运算神经网络,而这一硬件正是基于FPGA。在The Platform其它版块也报道过,Microsoft正在尝试使用FPGA加速神经网络计算,并一直在寻找拥有更强大计算能力的可编程逻辑器件。
如果Google正在做某件事,Microsoft也是齐头并进,毫无疑问Facebook也一定在做,其它一些神经网络前沿开发的公司都跑不了。尽管我们很难理解Intel出资$167亿美元收购Altera,但是这些消息的确释放出了某些信号。LeCun说,像Google和Facebook这个规模的公司在使用有专利的硬件时会十分慎重。“实际上他们都是用自己的硬件设备或者是一些可编程的”,他说道,这使得FPGA的机会大门又敞开了一寸。
那么就下一代神经网络处理所使用的这种特殊硬件方法而言,又将会意味着什么呢?上述内容可以用LeCun本周演讲的一张幻灯片来概括,它展示了卷积神经网络在人脸识别的应用究竟有多深。在LeCun的职业生涯早期,都是一些简单对图片分类(例如,区分飞机和汽车)的任务,现如今已经相当复杂,Facebook作为(公开的)大规模使用神经网络做图片识别的用户,能够在5秒之内搜索8亿个人并找到一张人脸。
这个问题的软件一端已经用其它方式解决了,采用了如Torch、Caffe等开源的计算框架。但回到训练神经网络和用于高效大规模运行的下一代硬件这个话题,如何来寻找一个平衡点,尤其是考虑到相对“基础”的计算需求(大规模数据集的快速训练,以及高并行化的加/乘运算操作)。
这些问题早就摆在了LeCun面前。早在1980年代和1990年代初期,LeCun和他的同事在贝尔实验室就探索了开发卷积神经网络定制硬件的早期道路。ANNA的芯片是这一领域的产品之一,尽管它从未被用于贝尔实验室(其它地方)的商业化应用,但确实显示了专业化硬件,即简单的逻辑乘法器,微调神经网络的能力比现有通用处理器强多了。事实上,当时ANNA芯片有着备受瞩目的性能,包括每秒处理40亿次运算——在1991年是了不起的成就,对解决当时新涌现的一类问题很有帮助。
如果你仔细了解ANNA芯片,会发现其最终目标到现在仍未改变。比如,这款芯片对ANNA电路设计的益处在于它能够限制和外部存储的数据传输量,这也就意味着芯片的速度不再受限制于处理器能够承受多少运算量——而是受牵制于芯片和外部进行通信的带宽。那个设计概念在多核运算的世界经过一番周折,但是它在复杂环境下性能不足。按照那个设计思路,当然是这样。毕竟,有一堆多余的额外能力有什么用?这里“可配置性”这个概念又被抛了出来。
LeCun透露已经有用相当一部分卷积神经网络在FPGA上运算。比如,他提到了2000年代早期的一项场景分析和标签实验,当时团队用Virtex-6 FPGA以50毫秒每帧的速度取得了不错的准确率。尽管这是一套完美的框架,不需要对数据做后期处理,然而当年网络的内在因素限制了整个系统的性能。(同样的,关于Virtex FPGA的这个想法,下一步在NetFlow架构上实现时也遇到了其它限制因素,因为种种问题最终没有转化为产品——这都是后话)。
几乎在第一批Virtex-6投入使用的同时,GPU计算也进入大家视野,它被证明对LeCun的后续工作很有用。LeCun指出了这点,以及其它推动图像识别技术前进的技术,包括开放来自ImageNet数据集的分属于1000个类别的120万张训练图片,这属于革命性的新能力。训练和分类图像的机会呈指数级增加,Nvidia GPU的性能也开创了一片全新领域,当时它的处理能力已经达到每秒万亿次运算。
如果搭建一套完美的深度神经网络硬件平台的需求是超级快的加/乘运算能力,能够在现实场景计算神经网络算法,人们有理由相信在“可编程”器件(大概是一块FPGA)的基础之上,强大的GPU能够横扫所有训练过程。在某种程度上,这种模式已经存在了一段时间,NVIDIA公司新的深度学习使用案例和大公司的丰富例子都在使用GPU进行模型训练,尽管不如真正处理网络本身那么多。
LeCun的一张幻灯片总结了深度学习的一些硬件选择。GPU目前占据了大规模训练这一端,同时也有其它许多新兴技术正在走向黄金时期,生态系统正在逐步完善。
原文链接: A Glimpse into the Future of Deep Learning Hardware(译者/赵屹华 审核/刘翔宇、朱正贵、李子健 责编/仲浩)
译者简介:赵屹华,计算广告工程师@搜狗,前生物医学工程师,关注推荐算法、机器学习领域。