AI科技评论:今年三月 AlphaGo 和李世石的“世纪之战”炒红了深度学习—— AlphaGo 采用了人工神经网络技术,充分挖掘了深度学习的潜力。简单来说,深度学习是一个包含了许多层级数据处理的神经网络,以自动化方式组合起来解决问题。
人机大战之前,相当多的人并不看好 AlphaGo,包括许多围棋、AI 业内人士 。但公众并不清楚的是:当时谷歌手中握着一张王牌——AlphaGo 的计算设备搭载了特制硬件,一个被谷歌称为“Tensor Processing Unit”(TPU)的计算卡。
谷歌 TPU
人机大战落幕后的两个月,谷歌硬件工程师 Norm Jouppi 才公开了它的存在。在博客中,他解释道,谷歌给数据中心装备这些加速器卡已经有超过一年的时间。虽然谷歌对技术细节严格保密,但已透露它们专为谷歌开源项目 TensorFlow 而优化;并且,它采取了一个越来越流行的深度学习运算加速方式:ASICs。它全称为应用型专用集成电路(application-specific integrated circuit)。
而微软采用了另一种逐渐流行起来的方式:FPGAs(现场可编程门阵列,field-programmable gate arrays)。它的优势是,如果计算机需要改变,它可以被重新装配。但是,最通用、最主流的方案仍旧是使用 GPU,以并行处理大量数学运算。不出预料,GPU 方案的主要推动者是该市场的霸主英伟达。
英伟达旗舰显卡 Pascal Titan X
事实上, 2009 年之后人工神经网络的复兴与 GPU 有紧密联系——那一年,几名斯坦福的学者向世界展示,使用 GPU 可以在合理的时间内训练深度神经网络。这直接引发了 GPU 通用计算——GPGPU 的浪潮。
英伟达首席科学家、斯坦福并发 VLSI 架构小组的负责人 William J. Dally 表示:“行内每个人现在都在做深度学习,这方面,GPU 几乎已经达到了最好。”
William J. Dally (又名 Bill Dally)
William Dally 进一步解释,深度学习硬件的选择有三个不同领域要考虑。
第一个被他称之为“在数据中心训练”。这里,他指的是任何深度学习系统需要做的第一步:调整神经元之间的数百万连接,让神经网络来执行分配的任务。
对于这方面的硬件,行业领头羊是一家最近被英特尔收购的公司 Nervana Systems。该公司的计算机学者 Scott Leishman 透露,他们开发出的 ASIC 深度学习加速器 Nervana Engine, 将于 2017 年中投产。他注意到,另外一项需要大量计算的任务——比特币挖矿,正从一开始在 CPU 上运行,转移到 GPU,再到 FPGAs,最终到 ASICs。这是由于提升的能耗效率。他说:“在深度学习领域我观察到了同样的趋势”。
第二个深度学习硬件的任务是,“数据中心的推理(inference)”。推理在这里指代的是,基于云端、被训练来处理特定任务的神经网络的连续运行。每天,谷歌的神经网络都要运行天文数字级别的推理计算,来进行图片分类,语言翻译,语音识别。虽然现在的信息不足以证实,但据雷锋网所知,业内人士普遍推测谷歌的 TPU 是为这些任务而定制。
训练和推理通常需要不同的技能组合。对训练来说,计算机往往需要以较高的精确度运算,一般使用 32 位浮点运算。对于推理,精确度可以适当牺牲,换取更快的速度和更低的能耗。对此,Leishman 表示:“这是一个热门研究领域,能耗到底可以降低到什么程度?”
William Dally 拒绝透露英伟达的深度学习产品计划,而是强调如今做出的成绩。他说,英伟达的 GPU 在不断进化。上代 Mazwell 架构可以进行双精度(64 位)或者单精度(32 位)运算,而这一代的帕斯卡( Pascal )架构能以单精度运算两倍的吞吐量和效率进行 16 位运算。我们能想象,英伟达很可能最终会发布能进行 8 位运算的 GPU 。对于云端的推理计算来说,这十分理想,因为能耗对于降低成本十分关键。
第三个深度学习运算需要考虑的是 “嵌入式设备的推理”,比如智能手机、摄像头和平板电脑。这类应用的核心是低能耗的 ASICs。近年来,深度学习软件越来越多地集成入手机应用。它已经被用来查杀恶意软件和翻译图片中的文字。
雷锋网消息,大疆已经在精灵 4 中应用了类似于深度学习 ASIC 的东西:使用加州公司 Movidius 的视觉处理芯片来识别障碍。顺便说一句,Movidius 是最近另一家被英特尔收购的神经网络公司。另外,高通也在旗舰芯片 820 中加入了优化深度学习计算的特殊电路。
今天,各家公司有极强的商业动机,去开发能加速深度神经网络的硬件。但这里有一个很大的风险:如果技术迭代太快,为昨天的神经网络而设计的芯片,可能在最终生产、铺货时就已经过时了。对此,William Dally 说道:“算法正在飞速变化,所有开发这些硬件的人,都试图让产品方案覆盖尽可能多的对未来的赌注。”
目前,基于 ASICs 和 FPGAs 产品大多应用在企业端,大多数个人开发者的的首选仍然是 GPU。至于在未来 GPU 的霸主地位是否会动摇,AI 科技评论会继续关注。
via ieee