在过去的2016年,在计算机产业来说,相信没有一个概念比人工智能更热门。跨入2017年,专家们表示,人工智能生态圈的需求增长会更加迅猛。主要集中在为深度神经网络找寻性能和效率更适合的“引擎”。

现在的深度学习系统依赖于软件定义网络和大数据学习产生的超大型运算能力,并靠此来实现目标。但很遗憾的是,这类型的运算配置是很难嵌入到那些运算能力、存储大小、和带宽都有限制的系统中(例如汽车、无人机和物联网设备)。

这就给业界提出了一个新的挑战,如何通过创新,把深度神经网络的运算能力嵌入到终端设备中去。

Movidius公司的CEO Remi El-Ouazzane在几个月前说过,将人工智能摆在网络的边缘将会是一个大趋势。

在问到为什么人工智能会被“赶”到网络边缘的时候,CEA Architecture Fellow Marc Duranton给出了三个原因:分别是安全、隐私和经济。他认为这三点是驱动业界在终端处理数据的重要因素。他指出,未来将会衍生更多“将数据转化为信息”的需求。并且这些数据越早处理越好,他补充说。

002AI20161226

CEA Architecture Fellow Marc Duranton

摄像一下,假如你的无人驾驶汽车是安全的,那么这些无人驾驶功能就不需要长时间依赖于联盟处理;假设老人在家里跌倒了,那么这种情况当场就应该检测到并判断出来。考虑到隐私原因,这些是非常重要的,Duranton强调。

但这并不意味着收集家里十个摄像头的所有图片,并传送给我,就称作一个号的提醒。这也并不能降低“能耗、成本和数据大小”,Duranton补充说。

竞赛正式开启

从现在的情景看来,芯片供应商已经意识到推理机的增长需求。包括Movidus (Myriad 2), Mobileye (EyeQ 4 & 5) 和Nvidia (Drive PX)在内的众多半导体公司正在角逐低功耗、高性能的硬件加速器。帮助开发者更好的在嵌入式系统中执行“学习”。

从这些厂商的动作和SoC的发展方向看来,在后智能手机时代,推理机已经逐渐成为半导体厂商追逐的下一个目标市场。

在今年早些时候,Google的TPU横空出世,昭示着业界意图在机器学习芯片中推动创新的的意图。在发布这个芯片的时候,搜索巨人表示,TPU每瓦性能较之传统的FPGA和GPU将会高一个数量级。Google还表示,这个加速器还被应用到了今年年初风靡全球的AlphaGo系统里面。

但是从发布到现在,Google也从未披露过TPU的具体细节,更别说把这个产品对外出售。

很多SoC从业者从谷歌的TPU中得出了一个结论,他们认为,机器学习需要定制化的架构。但在他们针对机器学习做芯片设计的时候,他们又会对芯片的架构感到怀疑和好奇。同时他们想知道业界是否已经有了一种衡量不同形态下深度神经网络(DNN)性能的工具。

工具已经到来

CEA声称,他们已经为帮推理机探索不同的硬件架构做好了准备,他们已经开发出了一个叫做N2D2,的软件架构。他们够帮助设计者探索和声称DNN架构。“我们开发这个工具的目的是为了帮助DNN选择适合的硬件”,Duranton说。到2017年第一季度,这个N2D2会开源。Duranton承诺。

N2D2的特点在于不仅仅是在识别精度的基础上对比硬件,它还能从处理时间、硬件成本和能源损耗的多个方面执行对比。因为针对不同的深度学习应用,其所需求的硬件配置参数都是不一样的,所以说以上几点才是最重要的,Duranton表示。

004AI20161226

N2D2的工作原理

N2D2为现存的CPU、GPU和FPGA提供了一个参考标准。

边缘计算的障碍

作为一个资深的研究组织,CEA已经在如何把DNN完美的推广到边缘计算领域进行了长时间的深入研究。在问到执行这种推进的障碍时,Duranton指出,由于功耗、尺寸和延迟的限制,这些“浮点”服务器方案不能应用。这就是最大的障碍。而其他的障碍包括了“大量的Mac、带宽和芯片上存储的尺寸”,Duranton补充说。

那就是说如何整合这种“浮点”方式,是最先应该被解决的问题。

Duranton认为,一些新的架构是在所难免的,随之而来的一些类似“spike code”的新coding也是必然的。

经过CEA的研究指出,甚至二进制编码都不是必须的。他们认为类似spike coding这类的时间编码在边缘能够迸发出更强大的能量。

Spike coding之所以受欢迎,是因为它能明确展示神经系统内的数据解码。往深里讲,就是说这些基于事件的的编码能够兼容专用的传感器和预处理。

这种和神经系统极度相似的编码方式使得混合模拟和数字信号更容易实现,这也能够帮助研究者打造低功耗的硬件加速器。

CEA也正在思考把神经网络架构调整到边缘计算的潜在可能。Duranton指出,现在人们正在推动使用‘SqueezeNet取替AlexNet。据报道,为达到同等精度,使用前者比后者少花50倍的参数。这类的简单配置对于边缘计算、拓扑学和降低Mac的数量来说,都是很重要的。

Duranton认为,从经典的DNN转向嵌入式网络是一种自发的行为。

P-Neuro,一个临时的芯片

CEA的野心是去开发一个神经形态的电路。研究机构认为,在深度学习中,这样的一个芯片是推动把数据提取放在传感器端的一个有效补充。

但在达到这个目标之前,CEA相处了很多权宜之计。例如开发出D2N2这样的工具,帮助芯片开发者开发出高TOPS的DNN解决方案。

而对于那些想把DNN转移到边缘计算的玩家来说,他们也有相对应的硬件去实现。这就是CEA提供的低功耗可编程加速器——P-Neuro。现行的P-Neuro芯片是基于FPGA开发的。但Duranton表示,他们已经把这个FPAG变成了一个ASIC。

005AI20161226

和嵌入式CPU对比的P-Neuro demo

在CEA的实验室,Duranton他们已经在这个基于FPAG的P-Neuro搭建了一个面部识别的卷积神经网络(CNN)。这个基于 P-Neuro的Demo和嵌入式CPU做了对比。(树莓派、带有三星Exynos处理器的安卓设备)。他们同样都运行相同的CNN应用。他们都安排去从18000个图片的数据库中去执行“人脸特征提取”。

根据示例展示,P-Neuro的速度是6942张图片每秒,而功耗也只是2776张图每瓦。

006AI20161226 P-Neuro和GPU、CPU的对比

如图所示,和Tegra K1相比,基于FPGA的P-Neuro在100Mhz工作频率的时候,工作更快,且功耗更低。

P-Neuro是基于集群的SIMD架构打造,这个架构是以优化的分级存储器体系和内部连接被大家熟知的。

007AI20161226 P-Neuro的框图

对于CEA的研究者来说 ,P-Neuro 只是一个短期方案。现行的 P-Neuro 是在一个CMOS设备上打造的,使用的是二进制编码。他们团队正在打造一个全CMOS方案,并打算用spike coding。

为了充分利用先进设备的优势,并且打破密度和功率的问题,他们团队设立了一个更高的目标。他们考虑过把RRAM当做突触元素,还考虑过FDSOI和纳米线这样的制程。

在一个“EU Horizon 2020”的计划里面,他们希望做出一个神经形态架构的芯片,能够支持最先进的机器学习。同时还是一个基于spike的学习机制。

Neuromorphic处理器

这就是一个叫做NeuRAM3的项目。届时,他们的芯片会拥有超低功耗、尺寸和高度可配置的神经架构。他们的目标是较之传统方案,打造一个能将功耗降低50倍的产品。

008AI20161226 Neuromorphic处理器

009AI20161226 Neuromorphic处理器的基本参数

据介绍,这个方案包含了基于FD-SOI工艺的整体集成的3D技术,另外还用到的RRAM来做突触元素。在NeuRAM3项目之下,这个新型的混合信号多核神经形态芯片设备较之IBM的TrueNorth,能明显降低功耗。

010AI20161226 与IBM的TrueNorth对比

而NeuRAM3项目的参与者包括了IMEC, IBM Zurich, ST Microelectronics, CNR (The National Research Council in Italy), IMSE (El Instituto de Microelectrónica de Sevilla in Spain), 苏黎世大学和德国的雅各布大学。


更多AI芯片角逐

其实AI芯片这个市场,已经吸引了很多玩家,无论是传统的半导体业者,还是所谓的初创企业,都开始投奔这个下一个金矿。除了上面说的CEA这个。我们不妨来看一下市场上还有哪些AI芯片。

一、传统厂商的跟进

(1)Nvidia

英伟达是GPU霸主,虽然错过了移动时代,但他们似乎在AI时代,重获荣光,从其过去一年内的股票走势,就可以看到市场对他们的信心。我们来看一下他有什么计划,在这个领域。

在今年四月,Nvidia发布了一个先进的机器学习芯片——Tesla P100 GPU。按照英伟达CEO黄仁勋所说,这个产品较之英伟达的前代产品,任务处理速度提高了12倍。这个耗费了20亿美元开发的芯片上面集成了1500亿个晶体管。据介绍,全新的 NVIDIA Pascal™ 架构让 Tesla P100 能够为 HPC 和超大规模工作负载提供超高的性能。凭借每秒超过 20 万亿次的 FP16 浮点运算性能,经过优化的 Pascal 为深度学习应用程序带来了令人兴奋的新可能。

011AI20161226

而通过加入采用 HBM2 的 CoWoS(晶圆基底芯片)技术,Tesla P100 将计算和数据紧密集成在同一个程序包内,其内存性能是上一代解决方案的 3 倍以上。这让数据密集型应用程序的问题解决时间实现了跨时代的飞跃。

再者,因为搭载了 NVIDIA NVLink™ 技术, Tesla P100的快速节点可以显著缩短为具备强扩展能力的应用程序提供解决方案的时间。采用 NVLink 技术的服务器节点可以 5 倍的 PCIe 带宽互联多达八个 Tesla P100。这种设计旨在帮助解决拥有极大计算需求的 HPC 和深度学习领域的全球超级重大挑战。

(2)Intel

在今年十一月。Intel公司发布了一个叫做Nervana的AI处理器,他们宣称会在明年年中测试这个原型。如果一切进展顺利,Nervana芯片的最终形态会在2017年底面世。这个芯片是基于Intel早前购买的一个叫做Nervana的公司。按照Intel的人所说,这家公司是地球上第一家专门为AI打造芯片的公司。

Intel公司披露了一些关于这个芯片的一些细节,按照他们所说,这个项目代码为“Lake Crest”,将会用到Nervana Engine 和Neon DNN相关软件。。这款芯片可以加速各类神经网络,例如谷歌TensorFlow框架。芯片由所谓的“处理集群”阵列构成,处理被称作“活动点”的简化数学运算。相对于浮点运算,这种方法所需的数据量更少,因此带来了10倍的性能提升。

Lake Crest利用私有的数据连接创造了规模更大、速度更快的集群,其拓扑结构为圆环形或其他形式。这帮助用户创造更大、更多元化的神经网络模型。这一数据连接中包含12个100Gbps的双向连接,其物理层基于28G的串并转换。

这一2.5D芯片搭载了32GB的HBM2内存,内存带宽为8Tbps。芯片中没有缓存,完全通过软件去管理片上存储。

英特尔并未透露这款产品的未来路线图,仅仅表示计划发布一个名为Knights Crest的版本。该版本将集成未来的至强处理器和Nervana加速处理器。预计这将会支持Nervana的集群。不过英特尔没有透露,这两大类型的芯片将如何以及何时实现整合。

至于整合的版本将会有更强的性能,同时更易于编程。目前基于图形处理芯片(GPU)的加速处理器使编程变得更复杂,因为开发者要维护单独的GPU和CPU内存。

据透露,到2020年,英特尔将推出芯片,使神经网络训练的性能提高100倍。一名分析师表示,这一目标“极为激进”。毫无疑问,英特尔将迅速把这一架构转向更先进的制造工艺,与已经采用14纳米或16纳米FinFET工艺的GPU展开竞争。

(3)IBM

百年巨人IBM,在很早以前就发布过wtson,现在他的人工智能机器早就投入了很多的研制和研发中去。而在去年,他也按捺不住,投入到类人脑芯片的研发,那就是TrueNorth。

TrueNorth是IBM参与DARPA的研究项目SyNapse的最新成果。SyNapse全称是Systems of Neuromorphic Adaptive Plastic Scalable Electronics(自适应可塑可伸缩电子神经系统,而SyNapse正好是突触的意思),其终极目标是开发出打破冯•诺依曼体系的硬件。

这种芯片把数字处理器当作神经元,把内存作为突触,跟传统冯诺依曼结构不一样,它的内存、CPU和通信部件是完全集成在一起。因此信息的处理完全在本地进行,而且由于本地处理的数据量并不大,传统计算机内存与CPU之间的瓶颈不复存在了。同时神经元之间可以方便快捷地相互沟通,只要接收到其他神经元发过来的脉冲(动作电位),这些神经元就会同时做动作。

2011年的时候,IBM首先推出了单核含256 个神经元,256×256 个突触和 256 个轴突的芯片原型。当时的原型已经可以处理像玩Pong游戏这样复杂的任务。不过相对来说还是比较简单,从规模上来说,这样的单核脑容量仅相当于虫脑的水平。

不过,经过3年的努力,IBM终于在复杂性和使用性方面取得了突破。4096个内核,100万个“神经元”、2.56亿个“突触”集成在直径只有几厘米的方寸(是2011年原型大小的1/16)之间,而且能耗只有不到70毫瓦,IBM的集成的确令人印象深刻。

这样的芯片能够做什么事情呢?IBM研究小组曾经利用做过DARPA 的NeoVision2 Tower数据集做过演示。它能够实时识别出用30帧每秒的正常速度拍摄自斯坦福大学胡佛塔的十字路口视频中的人、自行车、公交车、卡车等,准确率达到了80%。相比之下,一台笔记本编程完成同样的任务用时要慢100倍,能耗却是IBM芯片的1万倍。

跟传统计算机用FLOPS(每秒浮点运算次数)衡量计算能力一样,IBM使用SOP(每秒突触运算数)来衡量这种计算机的能力和能效。其完成460亿SOP所需的能耗仅为1瓦—正如文章开头所述,这样的能力一台超级计算机,但是一块小小的助听器电池即可驱动。

通信效率极高,从而大大降低能耗这是这款芯片最大的卖点。TrueNorth的每一内核均有256个神经元,每一个神经有分别都跟内外部的256个神经元连接。

(4)Google

其实在Google上面,我是很纠结的,这究竟是个新兴势力,还是传统公司。但考虑到Google已经那么多年了,我就把他放在传统里面吧。虽然传统也是很新的。而谷歌的人工智能相关芯片就是TPU。也就是Tensor Processing Unit。

TPU是专门为机器学习应用而设计的专用芯片。通过降低芯片的计算精度,减少实现每个计算操作所需的晶体管数量,从而能让芯片的每秒运行的操作个数更高,这样经过精细调优的机器学习模型就能在芯片上运行的更快,进而更快的让用户得到更智能的结果。Google将TPU加速器芯片嵌入电路板中,利用已有的硬盘PCI-E接口接入数据中心服务器中。

据Google 资深副总Urs Holzle 透露,当前Google TPU、GPU 并用,这种情况仍会维持一段时间,但也语带玄机表示,GPU 过于通用,Google 偏好专为机器学习设计的芯片。GPU 可执行绘图运算工作,用途多元;TPU 属于ASIC,也就是专为特定用途设计的特殊规格逻辑IC,由于只执行单一工作,速度更快,但缺点是成本较高。至于CPU,Holzle 表示,TPU 不会取代CPU,研发TPU 只是为了处理尚未解决的问题。但是他也指出,希望芯片市场能有更多竞争。

如果AI算法改变了(从逻辑上讲随着时间的推移算法应该会改变),你是不是想要一款可以重新编程的芯片,以适应这些改变?如果情况是这样的,另一种芯片适合,它就是FPGA(现场可编程门阵列)。FPGA可以编程,和ASIC不同。微软用一些FPGA芯片来增强必应搜索引擎的AI功能。我们很自然会问:为什么不使用FPGA呢?

谷歌的回答是:FPGA的计算效率比ASIC低得多,因为它可以编程。TPU拥有一个指令集,当TensorFlow程序改变时,或者新的算法出现时,它们可以在TPU上运行。

现在问题的答案开始浮现。在谷歌看来,能耗是一个重要的考量标准,数据中心相当巨大,建设在世界各地,包括芬兰和台湾。能耗越高,运营的成本就越高,随着时间的推移实际消耗的金钱会成倍增长。谷歌工程师对比了FPGA和ASIC的效率,最终决定选择ASIC。

问题的第二部分与TPU的指令集有关。这是一套基本的命令,它以硬编码形式存在于芯片中,能够识别、执行;在芯片世界,指令集是计算机运行的基础。

在开发TPU指令集时,它是专门用来运行TensorFlow的,TensorFlow是一个开源软件库,针对的是AI应用的开发。谷歌认为,如果AI有必要在底层进行改变,极可能发生在软件上,芯片应该具备弹性,以适应这种改变。

TPU架构的技术细节让许多了解芯片的人惊奇。Anandtech的Joshua Ho有一个有趣的理论:TPU更加类似于第三类芯片,也就是所谓的数字信号处理器(Digital Signal Processor)。

(5)微软

这是又一个由软转硬的代表,微软蛰伏六年,打造出了一个迎接AI世代的芯片。那就是Project Catapult。

据介绍,这个FPGA 目前已支持微软Bing,未来它们将会驱动基于深度神经网络——以人类大脑结构为基础建模的人工智能——的新搜索算法,在执行这个人工智能的几个命令时,速度比普通芯片快上几个数量级。有了它,你的计算机屏幕只会空屏 23 毫秒而不是 4 秒。

在第三代原型中,芯片位于每个服务器的边缘,直接插入到网络,但仍旧创造任何机器都可接入的 FPGA 池。这开始看起来是 Office 365 可用的东西了。最终,Project Catapult 准备好上线了。另外,Catapult 硬件的成本只占了服务器中所有其他的配件总成本的 30%,需要的运转能量也只有不到 10%,但其却带来了 2 倍原先的处理速度。

另外还有赛灵思、高通、中国寒武纪等一系列芯片投入到AI的研发。我们暂且按下。先看一下新兴的AI芯片势力。

二、新兴势力

(1)KnuEdge

KnuEdge实际上并不是一个初创公司,它由NASA的前任负责人创立,已经在一个隐形模式下运营了10年。KnuEdge最近从隐形的模式中走出,并让全世界知道他们从一个匿名的投资人获取1亿美元的投资用来开发一个新的“神经元芯片”。

KUNPATH提供基于LambaFabric的芯片技术,LambaFabric将会通过与现在市场上的GPUs、CPUs和FPGAs完全不同的架构进行神经网络的计算。

LambdaFabric本质上是为在高要求的运算环境下向上拓展至512000台设备而设计,机架至机架延迟时间只有400毫微秒,低功耗的256核处理器。

KNUPATH技术以生物学原理为基础,将会重新定义数据中心和消费设备市场中的芯片级/系统级计算。

对比其他相似的芯片,这个芯片技术应提供2倍到6倍的性能优势,并且公司已经通过销售他们的样机系统获得了收入。在“KnuEdge伞形结构”下,KnuEdge由3个单独的公司组成,KnuPath提供他们的芯片,KnuVerse提供通过验证的军事级的语音识别和验证技术,Knurld.io是一个允许开发者们去简单地融合语音验证到他们的专利产品的公共云API服务(Public cloud API service)。KnuEdge宣称,现在只需要对着麦克风说几个词就可以做到验证电脑、网络、移动应用和物联网设备。以后再也不用记住密码将会是一件多棒的事情?

(2)Nervana

这个公司已经被英特尔收购了,但我觉得我还是有必要介绍一下这个公司。Nervana创立于2014年,位于圣地亚哥的初创公司Nervana Systems已经从20家不同的投资机构那里获得了2440万美元资金,而其中一家是十分受人尊敬的德丰杰风险投资公司(Draper Fisher Jurvetson,DFJ)。

在·The Nervana Engine(将于2017年问世)是一个为深度学习专门定做和优化的ASIC芯片。这个方案的实现得益于一项叫做High Bandwidth Memory的新型内存技术,同时拥有高容量和高速度,提供32GB的片上储存和8TB每秒的内存访问速度。该公司目前提供一个人工智能服务“in the cloud”,他们声称这是世界上最快的且目前已被金融服务机构、医疗保健提供者和政府机构所使用的服务,他们的新型芯片将会保证Nervana云平台在未来的几年内仍保持最快的速度。

(3)地平线机器人

由余凯创立于2015年的初创企业Horizon Robotics(地平线机器人)已经从包括Sequoia和传奇的风险资本家Yuri Milner等投资人获得了未透露金额的种子基金。后来更是获得了已经获得了晨兴、高瓴、红杉、金沙江、线性资本、创新工场和真格基金的联合投资。他们正在着手于建立一个一站式人工智能解决方案,定义“万物智能”,让生活更便捷、更有趣、更安全。

地平线致力于打造基于深度神经网络的人工智能 “大脑” 平台 - 包括软件和芯片,可以做到低功耗、本地化的解决环境感知、人机交互、决策控制等问题。

其中,软件方面,地平线做了一套基于神经网络的 OS,已经研发出分别面向自动驾驶的的 “雨果” 平台和智能家居的 “安徒生” 平台,并开始逐步落地。硬件方面,未来地平线机器人还会为这个平台设计一个芯片——NPU (Neural Processing Unit) ,支撑自家的 OS,到那时效能会提升 2-3 个数量级(100-1000 倍)。

安徒生平台方面,今年3月 上海的家博会上,地平线机器人展示了与家电大厂合作的智能家电,近期还会推出其他新品。雨果平台方面,今年3月9日奇点汽车发布会上,地平线机器人首次展示了基于雨果平台的 ADAS(先机辅助驾驶系统)原型系统。据悉,世界某知名 tier-1 汽车零部件供应商的 ADAS 系统也确定将采用地平线研发的单目感知技术。

(4)krtkl

创立于2015年的krtkl致力于创造“一个微小的无线电脑用来创造一些完全不同的东西”。技术人将会迷恋Snickerdoodle,一个双核ARM处理器、FPGA、WIFI、蓝牙,起价于65美元,“以最小、最难做、最实惠赋能机器人、无人机和计算机视觉等的平台”。这个产品事实上是通过众筹获得了超过16万美金的资金。最新的信息是说他们已经收到了Snickerdoodle初级版本,并且很快就会出货。这款开拓板是基于XilinxZynq SoC,集成了ARM处置器和可编程FPGA。用户甚至可以经过手机上的专用APP对其举行编程,供230个用户可用的I/O接口,应用灵巧兼容很多扩展板卡,其特征如次:

选择Zynq 7010SoCchip,集成双核ARM Cortex-A9@667Mhz处置器和430K LUT的FPGA资源(可晋级为Zynq 7020@866Mhz1.3M LUT)

这款开拓板的一大亮点是不仅支援传统的MicroUSB程序烧写,终端调试等效能,还支援手机终端操控,应用官方供的Apps,经过Wi-Fi连接开拓板,用户可以下载程序,管脚把持,管脚复用以及体系把持能效能。

(5)Eyeriss

Eyeriss事实上还不是一个初创公司,但是因为它是由MIT开发并且获得了大量的媒体报道,所以我们不能从这个名单中排除它。Eyeriss是一个高效能的深度卷积神经网络(CNN)加速器硬件,架构图如下:

MIT 表示,该芯片内建168 个核心,专门用来部署神经网路(neural network),效能为一般行动GPU 的10 倍,也因其效能高,不需透过网路处理资料,就能在行动装置上直接执行人工智慧演算法。其具有辨识人脸、语言的能力,可应用在智慧型手机、穿戴式装置、机器人、自动驾驶车与其他物联网应用装置上。

而MIT 研究出的Eyeriss 芯片之所以能大量提升效能,关键便在于最小化GPU 核心和记忆体之间交换资料的频率(此运作过程通常会消耗大量的时间与能量),且一般GPU 内的核心通常共享单一记忆体,但Eyeriss 的每个核心拥有属于自己的记忆体。

此外,Eyeriss 芯片还能在将资料传送到每一个核心之前,先进行资料压缩,且每一个核心都能立即与邻近的核心直接沟通,因此若需要共享资料,核心们不需要透过主要记忆体就能传递。

写在最后

由于小编见解有限,文章体现的不会是所有的AI芯片,有哪些被遗漏了或者错过了,请大家留言补上。

(原文发表于EDN姐妹刊eetimes,http://www.eetimes.com/document.asp?doc_id=1331052

20160630000123