89307016 2017-12-26
之前被炒的沸沸扬扬、多次被媒体寻找蛛丝马迹来证明真实性的“特斯拉自研AI芯片”传闻,这个月初被马斯克亲自敲了实锤。在今年12月初的神经信息处理系统大会NIPS上,马斯克承认,特斯拉自动驾驶硬件工程副总裁JimKeller正在领导AI芯片的开发工作。同时他表示,坚信Keller可以打造出“世界上最好的AI定制硬件”。
Keller如此被马斯克信任也不是没有原因。他可以称得上是天才架构师,最早时在DEC工作时,参与设计了Alpha 21164和21264处理器,被应用在许多大型主机中,包括中国超级计算济南中芯的神威蓝光超级计算器;在AMD期间,设计出了K7和K8等知名架构,业界首款突破GHz的CPU架构便是出自其手;后来又在苹果设计出了A4、A5处理器,这是当年iPhone最核心的部件;在回到AMD之后,Keller奉献了Zen架构,基于此架构的Ryzen让AMD在2017年咸鱼翻身。
在2016年跳槽到特斯拉之后,Jim Keller从AMD带走了一批架构师和高管,根据CNBC在9月份的一则报道,特斯拉已经有超过50人在从事AI芯片的开发了,从中也可以看出特斯拉早已置下的自研AI芯片的野心。
AI芯片事关特斯拉自动驾驶的未来
在自动辅助驾驶系统Autopilot直至8.0版本之前,特斯拉一直采用的是Mobileye的Eye Q3芯片。Mobileye是一家创立于以色列的公司,专注于ADAS(高级辅助驾驶系统)的软硬件开发,其特有的EyeQ视觉识别芯片以及ADAS软件被应用于多家汽车厂商,如沃尔沃、宝马、奥迪等。Mobileye的优势很明显:自由空间标记、启发式路径寻找、道路避障和路牌识别。
不过,特斯拉并没有完全采用Mobileye的软件,而是通过自己的软件结合Mobileye以及英伟达硬件来实现自己的自动辅助驾驶。Mobileye的Amnon博士曾亲口证实过,特斯拉的自动辅助驾驶使用了一部分EyeQ3的计算能力,而没有使用其自有的功能,如红绿灯识别,无中间黄线的双行道识别等;另外,去年5月发生的第一起自动辅助驾驶中产生的车祸也能证明此事。
当时,一位司机驾驶特斯拉的Model S在佛罗里达一条未封闭的高速上因为与横穿马路的大卡车相撞而丧命,Mobileye的发言人澄清说自己的系统主要是应对于追尾导致的碰撞,而不能胜任这样的碰撞检测,类似这样的情况会在2018年左右的新系统中解决,而特斯拉的发言人则回应说,特斯拉虽然使用了Mobileye的芯片,但是技术上已经涵盖了这种碰撞处理,只是由于当时环境条件导致失误,没能阻止惨剧发生。
在发生这起车祸时,摄像头刚好遇到太阳下山时强烈的背光导致识别能力不足,收集到的数据不完备,而这不完备的2D数据又经过图像识别加工成错误的3D场景,让车误判了前方的路况,从而酿成惨祸。
这次车祸是在一个非常极端的情况下,各种负面因素累加而成的结果,属于系统的一次“漏报”,然而这也暴露了Mobileye技术的不足。此次教训让特斯拉延迟了计划中的8.0系统的发布,且直接加速雷达主导的自动辅助驾驶时代的来临。
2016年7月,特斯拉与Mobileye分道扬镳,同年10月,搭载Autopilot 2.0自动驾驶辅助系统的车型开始量产。
Autopilot 1.0是基于Mobileye的图像识别技术,主要数据来自于车顶的Mobileye摄像头,车首的雷达和周边雷达只是提供辅助信息;而Autopilot 2.0则是基于雷达识别环境,主要数据来源于车身上的雷达,而辅助数据则来源于车队学习的高精度地图和白名单。
在硬件部分,Autopilot 2.0使用了3个前置摄像头(不同视角 广角、长焦、中等)、2个侧边摄像头(一左一右)、3个后置摄像头、12个超声波传感器(传感距离增加一倍)、一个前置雷达(增强版)、一个后置倒车摄像头,而芯片则使用了英伟达DrivePX 2(40x Autopilot 1.0处理速度)。
英伟达CEO黄仁勋曾表示:“英伟达Drive PX 2是全球首款专为主动驾驭轿车规划的AI超级计算机,它的运算才能与150台MacBook Pro相当。”
马斯克接受采访时表明,在芯片挑选上,AMD和英伟达并没有太大区别,当然特斯拉终究挑选了英伟达。但这番表述好像表明,特斯拉在芯片挑选上是十分灵敏的。
不过,特斯拉才投向英伟达的方案没多久,为何又想移情别恋?这要从GPU架构的先天限制说起。
GPU的功耗极为庞大,且推理能力差,基于GPU架构的自动驾驶方案也有同样的问题。以自动驾驶最常用的CNN卷积神经网络来说,英伟达的Drive PX2推理性能上其实并不算特别出色。为了达到L3、甚至L4以上的自动驾驶功能,Drive PX2最高端的完整自动驾驶版本功耗达250w,性能却只有20 TFLOPS,因此特斯拉要求英伟达为其定制了一个特殊版本,将最高端版本的规模减半,性能只剩下10 TFLOPS,功耗也大幅降低到100W左右,降低对电池寿命的影响,避免行驶里程过低,但也因此,其自动驾驶能力勉强只能达到L3的程度,而不是其宣称的L5。
据称,英伟达推出的下一代Xavier自动驾驶平台在增加性能同时又大幅降低了功耗,理论上特斯拉只要直接升级就好,但根据NVIDIA自己的说法,L5级别的自动驾驶需要两套Xavier共同合作才能达成。如此一来,成本上的负担又会增加了。完整版Drive PX2要价1.5万美元,Xavier只会更贵,若要达成L5自动驾驶则必须搭配两套Xavier以及周边传感器,成本恐怕是天价。
另外,曾经的好伙伴Mobileye也即将推出高一级的Eye Q4和Eye Q5。前者可以在3W的功耗下达到2.5 TFLOPS的效率,后者则是在10W的功耗下达到24 TFLOPS。Eye Q系列都是采用CPU混搭向量加速单元来做自动驾驶所需要的卷积神经网络计算,严格上来说,就是CPU结合ASIC处理单元的异构产品。
下一代Eye Q4方案要到2018年才会量产。前不久宣布正式上市的蔚来首款量产车ES8就是全球首款安装Mobileye Eye Q4芯片的车型;而唯一具竞争力的EyeQ5要到2019年甚至更晚才有机会面世,急于推出更高等级自动驾驶功能的特斯拉无法继续等待,这恐怕是特斯拉打定主意开发自己的AI芯片的原因之一。
自动驾驶的火热引燃了AI芯片大战
特斯拉与Mobileye、英伟达的分分合合只是自动驾驶芯片大战中的冰山一角,其他如英特尔、高通等巨头也在火力全开加速创新。
2016年,英特尔以167亿美元完成了对世界第二大FPGA公司Altera的收购。
目前主流的自动驾驶芯片解决方案主要包括GPU、FPGA、DSP和ASIC四种。相对而言,FPGA高实时,低功耗,可灵活编程,这全都切中了自动驾驶对计算芯片的要求。英特尔在年初推出的自动驾驶计算平台Intel Go中,就使用了FPGA芯片。奥迪新A8自动驾驶所仰赖的核心计算单元zFAS,也使用了Altera的FPGA芯片,内建被英特尔收购的Movidius视觉算法,负责物体数据和地图数据的融合,与自动停车功能的实现。
另外,结合FPGA,英特尔可以在云端处理大量并发的实时计算。这种模式尤其适合人们对智慧城市大脑的设想:每一辆无人车的数据都上传到一个中枢,由其处理并洞悉每一辆车的状态,再命令他们如何驾驶。要实现如此,需要5G高宽带、时延低的数据通道,为此英特尔在今年推出了首款车载5G通信平台。
然而,虽然这一套设想很先进,但是目前短期内实现难度较大,英特尔今年3月以153亿美元价格收购了以色列ADAS公司Mobileye,是以先参与进自动辅助驾驶技术的落地。
Mobileye一方面为英特尔提供了切入自动驾驶市场的渠道——前者在全球ADAS市场的份额超过70%;另一方面,Mobileye的核心产品——ADAS专用芯片Eye Q系列,使英特尔形成了针对车辆端的计算芯片解决方案——英特尔的凌动/至强+Mobileye的EyeQ+Altera的FPGA。这153亿美元,其实是英特尔为自动驾驶买的门票。
至于高通,由于专注于移动端,其在高性能计算上的积累不如英特尔与英伟达。骁龙SoC虽然在单位能耗上相对英特尔与英伟达的计算平台都占据优势,但在峰值性能输出上则被其功耗限制。加之骁龙SoC又并非为ADAS专门打造的计算平台,因此想要打开自动驾驶汽车的市场,面临的阻力不小。
去年10月,高通宣布与全球最大的汽车半导体厂商恩智浦达成收购协议。恩智浦在被高通宣布收购之前,就已推出了ADAS专用芯片S32V234,主要用于处理视觉信号,可同时处理两路视频。值得一提的是,考虑到ADAS对安全性的要求,S32V234在设计之初就加入了ECC(错误检查与纠正),FCCU(故障收集与控制单元)等安全机制。
随后在此基础上,恩智浦发布了BlueBox车载电脑,内部除了搭载S32V234芯片,还加上了应用8核A72的高性能处理器LS2088以及其他传感器芯片,除了支持ADAS,还能够实现多传感器数据的融合。恩智浦称,BlueBox能够为L4级别的自动驾驶提供运算支持,而功耗不超过40W。
不过,高通对恩智浦的收购并非一帆风顺,由于双方未能提供相关文件,欧盟反垄断机构于今年6月暂停了对这一收购的反垄断调查,交易迟迟未能完成,高通便无法同恩智浦作为一个整体施行其战略。此外,持有恩智浦半导体股份的埃利奥特管理公司认为高通低估了恩智浦半导体股票的价格,要求将每股的收购价格有110美元提高到135美元,不过高通拒绝提高收购报价,表示每股110美元公平合理,此事也为这一收购案再添风波。
好在,高通还可以专注于V2X车联网。今年9月,高通推出新一代V2X通信芯片组9150C-V2X,符合3GPP标准,同时支持4G与5G网络,无需SIM卡,就能够实现车对车(V2V),车对基础设施(V2I),车对行人(V2P)三种场景的通信。如果能够利用5G的高速传输,将数据送至云端再快速处理下发,高通或许可以通过车联网来实现自动驾驶功能,也算是在这场激烈的芯片竞争中另辟蹊径。
在自动驾驶方面,我们还不得不提到谷歌。谷歌的自动驾驶方案使用了英特尔提供的至强处理器、Altera提供的Arria FPGA芯片以及英特尔家的XMM通信芯片。不过,负责推断的部分究竟用的谷歌自家的TPU,还是英特尔的芯片,或是英伟达的GPU,都不明朗。需要说明的是,谷歌的TPU,就是一种专用于推断阶段的ASIC。当然,在其第二代Cloud TPU上,谷歌也为其增添了深度学习训练的能力。
而在国内,近日地平线正式发布两款计算机视觉嵌入式AI芯片——旭日和征程,分别面向智能驾驶和智能摄像头。这是中国首款嵌入式人工智能芯片,相较于其他芯片,旭日和征程在性能、功耗、面积等方面都有了较大的提升,不仅可同时识别200个对象,芯片乘法器利用率峰值更高达100%,可强耦合于各种应用场景。
我们不难看出,在AI行业快速发展的当下,计算能力成为技术发展和应用落地最大的关键因素,而作为主要承载硬件计算功能的芯片,也随之成为了“革新”的对象。如今AI芯片正处在不断突破的黄金年代,创新再创新,成为现阶段AI芯片的主题。