深度神经网络就像远方地平线上的海啸
鉴于深度神经网络(DNN)的算法和应用还在不断演变之中,所以目前我们还不清楚深度神经网络最终会带来怎样的变化。但是迄今为止,深度神经网络在翻译文本、识别图像和语言方面取得的成功,让人们清楚地意识到,深度神经网络将重塑计算机设计,当半导体设计和制造方面发生着同样深刻颠覆的同时,这些变化逐渐开始带来影响。
为训练深度神经网络量身定制的第一批商用芯片将于今年上市。由于训练新的神经网络模型可能需要几周或几个月的时间,因此这些芯片可能是迄今为止制造出的最大、也是最昂贵的商用芯片。
今年,该行业可能会看到来自初创公司Graphcore的一款微处理器芯片,没有采用DRAM,而是来自竞争对手Cerebras Systems的晶圆级集成。英特尔收购的2.5-D Nervana芯片已经在制作样品,其他十几款处理器也正在开发中。同时,ARM和西部数据等芯片公司也正在研究芯片核心,以加速深度神经网络的推理部分。
加州大学伯克利分校名誉教授David Patterson表示:“我认为(2018年)将有一场即将上演的派对。我们会看到许多公司正在评估的一些想法。”
这个趋势非常重要,Patterson和联合作者John Hennessey在关于计算机开创性文本的最新版本中撰写了一个新的篇章,于上个月发表。作者对内部设计提供了深入的见解,例如Patterson撰写的关于Google TensorFlow Processor(TPU)部分,以及最新Apple和Google智能手机芯片中的Microsoft Catapult FPGA和推理块。
“这是计算机架构和封装的复兴。明年我们会看到比过去十年更有趣的计算机,” Patterson说。
深度神经网络的兴起,在过去几年里把风投的资金带回到了半导体领域。 EE Times最近公布的Silicon 60本榜单中,有7家致力于某种形式的神经网络芯片,其中2家公司鲜为人知:Cambricon Technologies(中国北京)和Mythic Inc.(美国德克萨斯州奥斯汀)。
“我们看到拥有新架构的初创公司正在激增。我自己也在关注着15-20家公司......过去10到15年,我们还没有看到哪一个细分领域有15家这么多的芯片公司出现。”企业家Chris Rowen这样表示,他离开了Cadence Design Systems,成立了一家名为Cognite Ventures的公司,专注于神经网络软件。
“在高端服务器训练方面,Nvidia是一个很难对付的竞争对手,因为它有很难撼动的软件地位,而且涉足智能手机市场那你肯定是疯了,因为你必须要擅长很多方面,但是在高端和低端智能手机市场你可能还有一些机会。”Rowen表示。
市场分析公司The Linley Group负责人Linley Gwennap表示,Nvidia最新的GPU(Volta)做得非常出色,Nvidia对其进行了调整,可对深度神经网络做速度训练。“但我当然不认为这是最好的设计,”Gwennap说。
Gwennap表示,Graphcore(英国布里斯托尔)和Cerebras(美国加州洛斯阿尔托)是训练芯片领域值得关注的两家初创公司,因为这两家公司筹集的资金最多,而且似乎拥有最好的团队。由Google前芯片设计师创立的初创公司Groq声称,它将在2018年推出一款推理芯片,在总体操作和每秒推论方面都会以4倍的优势击败竞争对手。
英特尔的Nervana是一个大型的线性代数加速器,位于4个8-Gb HBM2内存堆栈旁的硅中介层上。来源:Hennessy和Patterson,“计算机体系结构:一种定量方法”
英特尔代号为“Lake Crest”的Nervana(上图)是最受关注的定制设计之一。它执行16位矩阵操作,数据共享指令集中提供的单个5位指数。
与Nvidia Volta一样,Lake Crest逻辑器件位于4个HBM2高带宽内存堆栈旁边的TSMC CoWoS(衬底上芯片上芯片)中介层上。这些芯片被设计成网状,提供5到10倍于Volta的性能。
虽然去年微软在深度神经网络上使用了FPGA,但Patterson仍然对这种方法持怀疑态度。 “你为[FPGA的]灵活性付出了很多代价;编程真的很难,”他说。
Gwennap在去年年底的一项分析中指出,DSP也将发挥作用。Cadence、Ceva和Synopsys都提供面向神经网络的DSP内核,他说。
加速器缺乏共同的基准
这些芯片即将到来时,架构师们却还不确定如何评估这些芯片。
Patterson回忆说,就像RISC处理器的早期,“每个公司都会说,'你不要相信别人的基准,但是你可以相信我的',这可不太好。”
那个时候,RISC厂商们在SPEC基准测试中进行合作。现在,深度神经网络加速器需要自己定义的测试套件,涵盖各种数据类型的训练和推理,以及独立芯片和集群芯片。
听到这个呼吁,Transaction Processing Performance Council(TPC)在12月12日宣布成立了一个工作组来定义机器学习的硬件和软件基准。TCP是由20多个顶级服务器和软件制造商组成的团体。TPC-AI委员会主席Raghu Nambiar表示,这么做的目标是创建各种测试,并且这些测试不关乎加速器是CPU还是GPU。但是,这个团队的成员名单和时间框架还在不断变化之中。
百度在2016年9月发布了一个基于其深度学习工作负载的开放源代码基准测试工具,使用32位浮点数学做训练任务。百度在6月份更新了DeepBench以涵盖推理工作和16位数学的使用。
由哈佛大学研究人员发表的Fathom套件中,定义了8个人工智能工作负载,支持整数和浮点数据。Patterson表示:“这是一个开始,但是要获得一个让人感觉舒适的、全面的基准测试套件还需要更多的工作。”
“如果我们致力于打造一个很好的基准,那么所有用在这个工程上的钱都是物有所值的。”
除了基准之外,工程师还需要追踪仍在演变的神经网络算法,以确保他们的设计不会被淘汰。
高通公司下一代核心研发总监Karam Chatha表示:“软件总是在变化的,但是你需要尽早把硬件拿出来,因为它会影响软件——这种关系总是存在的。目前,这家移动芯片厂商正在Snapdragon片上系统的DSP和GPU内核上运行神经网络工作,但一些观察家预计,高通将为机器学习定制一个新的模块,作为2019年的7纳米Snapdragon SoC的一个组成部分。
高通公司展示了一个自定义深度神经网络加速器的研究范例,但是现在高通在通用的DSP和GPU核心上使用软件。来源:高通
Patterson表示:“市场会决定哪些芯片最好。这是很残酷的,但这正是设计计算的兴奋点所在。”
早期的玩家已经抓住了这个偶然的机会。
例如,Facebook最近证明,通过大幅增加打包到所谓批量大小的功能数量,将训练时间从一天缩短到一个小时。对于试图在本地SRAM中运行所有操作的Graphcore来说,这可能是个坏消息,因为这消除了外部DRAM访问的延迟,同时也限制了内存占用。
“他们是为小批量设计的,但几个月前的软件结果表明,你需要一个大批量。这说明了事情变的话的有多么快,”Patterson说。
另一方面,Rex Computing认为他们正处于一个有利的位置。该初创公司的SoC最初是为高性能服务器设计的,使用了一种新颖的暂存器内存。联合创始人Thomas Sohmers说,Rex的方法消除了在虚拟页面表中缓存数据的需求,这是GPU使用的一种技术,增加了延迟。
因此他说,Rex芯片比现在的GPU要好得多,特别是在处理流行的矩阵/矢量运算神经网络时。Rex公司计划6月份推出256核的SoC,预计能提供256Gflops/W。
与此同时,研究人员正在尝试从32位到单浮点和整数数学的方方面面,以找到最有效的方法来计算神经网络结果。有一点似乎是他们认同的,最好不要在精确度之间来回切换。
人工智能算法还处于初期阶段
深度神经网络是几十年来人工智能领域一直进行的相对较小分支的工作。从2012年左右开始,包括Facebook公司的Yann LeCun在内的很多研究人员开始使用特定种类的深度神经网络来识别图像,并最终以比人类更高的准确度得到令人惊叹的结果。深度学习技术吸引了研究界,研究界迅速发表了不少该领域的论文,以寻求新的突破。
现在深度神经网络为Amazon Alexa、谷歌翻译、Facebook面部识别等商用服务提供动力。网络巨头们和他们的全球竞争对手,正在寻找杀手级应用的过程中竞相将这些技术应用于尽可能多的服务中。
微软每年都会举办两个主题是人工智能的内部员工大会,最近一次规模达到5000人,前SPARC处理器架构师Marc Tremblay表示,他现在负责微软在定制人工智能芯片和系统方面的工作。
有专家坦言,他们并不完全理解为什么现有的算法获得了这么好的效果。关于递归(RNN)和卷积(CNN)神经网络等类型的深度神经网络相对有效性引发了各种辩论,同时,新的模式仍在开发之中。
AMD公司研究员Allen Rush在最近一次关于人工智能的研讨会上表示:“各种算法非常有可能在未来五年内会发生变化。我们打赌,像矩阵乘法这样的最底层的原语将是不可改变的。”
这就是Google在TPU上投入的赌注,最新版本的TPU是针对训练和推理任务的,它本质上是一个大的乘法累加单元,运行和保存线性代数例程的结果。预计Nervana和Graphcore芯片也将效仿这一做法。
哈佛大学前大脑研究员、Nervana共同创始人、现任英特尔Nervana集团首席技术官Amir Khosrowshahi表示,目前在深度神经网络方面取得的成功,正在主导着更广泛的人工智能领域。他在IEEE研讨会上表示:“由于深度学习如此成功,所以在这之下事情发展得很顺利。大家都在做深度神经网络,这是一场悲剧......不要以为现在发生的事情,一年以后还会存在。”
今天深度神经网络得到了如此多的关注,但这仅代表了更为广泛的人工智能领域的很小一部分。(来源:英特尔)
尽管深度神经网络可以比人类更精确地识别图像,但“如今的数据科学家被迫花费不可接受的时间对数据进行预处理,对模型和参数进行迭代,并且等待训练的融合......每一步都要花费太多人力,或者太过于计算密集型了,”Khosrowshahi说。
总的来说,“人工智能的难题仍然很难解决,”他补充说。“最好的研究人员可以用一个机器人打开一扇门,但要拿起杯子,可能比赢过Alpha Go(深度神经网络赢得的早期胜利之一)还难。”
在这种环境下,Facebook和Google等网络巨头都发布大型数据集,以吸引更多的人从事诸如对新应用领域或者视频等数据类型进行识别的前沿问题。
先锋者们拓展了应用前沿
随着算法的发展,研究人员也在推动深度学习的应用前沿。
Google正在系统地将深度神经网络运用于从自动字幕照片混合到读取MRI扫描以及监测工厂车间质量控制等方方面面的问题。谷歌人工智能研发负责人Jia Li在IEEE研讨会上表示:“人工智能不是单一的技术或产品。我们从理解一个领域开始,然后收集数据,找到算法,并提出解决方案。每一个新问题我们都需要一个不同的模型。”
的确,深度神经网络正在被用于几乎所有领域,包括设计和制造芯片。英特尔列举了超过40种可能的用途,从面向消费者的网上购物助手,到华尔街自动交易程序。
现在在Target公司担任数据科学家的一位IBM前研究人员对应用领域给予了更加清醒的认识。大部分零售商的数据都是关系型数据,而不是最适合神经网络的非结构化数据。Shirish Tatikonda在一次大会后的简短采访中表示,Target公司的业务问题中只有大约10%适用于深度神经网络。尽管如此,该公司正在积极开拓这一领域,其系统中约有10%是面向训练神经网络模型的GPU服务器。
为了扩展这样大规模的努力,谷歌的研究人员正在探索他们所谓的AutoML,其想法是使用神经网络自动生成模型,而不需要数据科学家手动调整这些模型。
尽管最近很多公司试图减少内存占用量,但深度神经网络模型在尺寸上仍然差别很大。来源:高通
机器人技术先驱Rodney Brooks担心,预期可能会失控。他在最近的一次谈话中说:“深度学习是好的,但它正在成为人们用来打击一切的工具。”
对Patterson而言,他仍然很乐观。他说,虽然广泛的人工智能领域没有兑现过去的承诺,但在机器翻译等领域的成功是真实存在的。“可能所有低处的果实都摘下来了,所以没有什么更令人兴奋的事情,但是你几乎每个星期都会看到有进展......所以我认为我们会发现更多的用途。”
首先是努力实现软件融合
在早期的疯狂和分裂之中,即使是软件融合方面所做的事情也是很分散的。百度人工智能研究团队进行了一项调查,发现11项措施来弥补那些争着管理神经网络的各种软件框架之间存在的差距。
最有希望的是Open Neural Network Exchange(ONNX),这是一个由Facebook和微软发起的开源项目,最近Amazon也加入其中。该项目小组在12月份发布了ONNX格式的第一个版本,旨在将用把十几个有竞争关系的软件框架所创建的神经网络模型转译为图形化呈现。
芯片制造商可以将他们的硬件瞄准这些图形。对于那些负担不起为支持这些不同模型框架——例如Amazon的MxNet、Google的TensorFlow、Facebook的Caffe2以及微软的CNTK——单独编写软件的初创公司来说,这是一个好消息。
30多家主流芯片提供商组队在12月20日发布了他们的首选项——Neural Network Exchange Format(NNEF),目标是为芯片制造商提供一种替代方案,来创建自己的内部格式,就像英特尔在Nervana Graph和Nvidia TensorRT那样。
百度在各种各样的格式中发现了ISAAC、NNVM、Poplar和XLA。百度硅谷人工智能实验室高级研究员Greg Diamos表示:“现在去预测是否会出现一个成功的实施,可能还为时尚早,但我们正在走上一条更好的道路,其中一条最终取得胜利。”
在这些人工智能框架中,Amazon宣称自己的MxNet框架和新出现的Gluon API提供了最高的效率。(来源:Amazon)
此外,谷歌已经开始致力于开发软件来自动化精简深度神经网络模型,这样这些模型就可以运行在从智能手机物联网(IoT)节点的方方面面。如果成功的话,可以将50Mb的模型降低到500Kb。
谷歌也已经在探索在手持设备上做有限的模型训练,调整模型的顶层,或者基于白天收集的数据在夜间进行处理。像SqueezeNet和MobileNet等,也展示了更简单的成像模型路径,且同样精确。
负责Google TensorFlow Lite工作的Pete Warden表示:“我们看到有很多人在各种各样的产品中使用机器学习,每次操作降低1皮焦,这是我每天熬夜在做的事情。”
展望未来
当专家认真看待人工智能未来的时候,他们会看到一些有趣的可能性。
今天我们使用基于手动调整模型的监督式学习。谷歌的Warden就是预见未来会出现半监督方法的研究人员之一,他认为未来手机等客户端设备可以进行自主学习,最终目标是无监督式学习——计算机自学,而不需要工程师们的帮助。
在这条道路上,研究人员正在寻找方法来自动标记数据,因为这些数据是由手机或物联网节点等设备收集的。
西部数据公司首席数据科学家Janet George表示:“谷歌称,现在在这个中间阶段我们需要大量的计算,可一旦事情被自动标记,你只需要索引新的增量内容,这更像是人类如何处理数据的方式。”
无监督式学习打开了一扇通向加速机器智能时代的大门,有些人认为这是数字化的必杀技。另一些人则担心技术可能会在没有人为干预的情况下以灾难性的方式失控。谷歌公司TPU项目负责人Norm Jouppi说:这让我感到害怕。
同时,从事半导体工作的学者对未来的人工智能芯片的发展由他们自己的长远愿景。
英特尔、Graphcore和Nvidia“已经在制造全掩膜版芯片,下一步就是3D技术,”Patterson说。“当摩尔定律如火如荼时,由于担心可靠性和成本问题人们可能会退缩。现在摩尔定律正在结束,我们将看到很多这方面的实验。”
最终是创造出新型的晶体管,可以在逻辑和内存层进行片上堆叠。
Notre Dame电气工程教授Suman Datta很看好负电容铁电晶体管作为此类芯片的基础。他在最近召开的一次关于所谓单体3D结构的会议上谈到了该市场的格局。这样的设计应用并推进了3-D NAND闪存在片上芯片堆栈方面所取得的进展。
来自伯克利、麻省理工学院和斯坦福大学的团队将在2月份的国际固态电路会议上,展示一个类似的具有远见的架构。该芯片(下图)将电阻RAM(ReRAM)结构堆叠在一个由碳纳米管制成的逻辑上的相同模片上。
来自伯克利、麻省理工学院和斯坦福大学的研究人员将在ISSCC上发布报告,关于一种使用碳纳米管、ReRAM和图形作为计算元件的新型加速器。(来源:加州大学伯克利分校)
该设备从深度神经网络获得灵感,被编程为具有类似的模式而不是使用计算机一直在使用的确定数字。伯克利教授Jan Rabaey说,这个所谓的高维计算使用了几万维的向量作为计算元素。Rabaey为该报告做出了贡献,同时也是英特尔人工智能顾问委员会的成员。
Rabaey说,这种芯片可以从样例中进行学习,与传统系统相比操作要少得多。测试芯片将很快出炉,使用振荡器阵列作为与相关存储器阵列中的ReRAM单元配对的模拟逻辑。
Rabaey在IEEE人工智能研讨会上表示:“我梦想着可以随身携带的引擎,当场就能给我提供指导......我的目标是推动以小于100毫伏的功耗运行[人工智能]。我们需要重新思考如何做计算。我们正在从基于算法的系统转向基于数据的系统。”
好文章,需要你的鼓励
后来广为人知的“云上奥运”这一说法,正是从这一刻起走上历史舞台。云计算这一概念,也随之被越来越多的人所熟知。乘云科技CEO郝凯对此深有感受,因为在2017年春节过后不久,他的公司开始成为阿里云的合作伙伴,加入了滚滚而来的云计算大潮中。同一年,郝凯带领团队也第一次参加了阿里云的“双11”活动,实现了800万元的销售业绩。
随着各行各业数字化变革的不断深入,人类社会正加速迈向智能化。作为智能世界和数字经济的坚实底座,数据中心也迎来了蓬勃发展。面