欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

算法or芯片?自动驾驶时代的痛点是什么?

程序员文章站 2022-09-09 12:45:52
50KM摘要: 在新的5G时代,真正的数据驱动力来源于IOT(物联网),而在所有的IOT的垂直行业里,汽车又是最大的数据产生源。芯片业老大Intel收购ADAS(智能驾驶辅助系统)业界龙头Mobile...

50KM

摘要: 在新的5G时代,真正的数据驱动力来源于IOT(物联网),而在所有的IOT的垂直行业里,汽车又是最大的数据产生源。

算法or芯片?自动驾驶时代的痛点是什么?

芯片业老大Intel收购ADAS(智能驾驶辅助系统)业界龙头Mobileye,NVDIA和德国Bosch强强联合,打造新版Tegra(“行车电脑”系统的超级芯片),一时间,自动驾驶成了一股蓄势待发的大潮流。跟着潮流,迎接挑战的,既有大型的传统车企,也有科技巨头,也有技术型创业公司。

不需要驾照,不需要集中注意力,只需要你坐在车上,或许还能满足你个性化的需求,这样一个自动驾驶的时代,着实令人期待。但是,这个未来真的就是近在咫尺的2025年吗?若要普及智能驾驶,还有多少痛点亟待解决?解决瓶颈的关键又是什么了?地平线智能驾驶商务总监李星宇分享了他的一些想法。

算法or芯片?自动驾驶时代的痛点是什么?

地平线智能驾驶商务总监李星宇

自动驾驶落地离不开计算平台

算法or芯片?自动驾驶时代的痛点是什么?

如今,打开任何一家主机厂的无人车的后备箱,都是一堆计算设备,这样,既没有空间放东西,还要解决它整个系统的稳定性问题。不但如此,之前曾有记者在乌镇的互联网大会上体验百度的无人车,发现其后备箱的车载计算机的噪音很大,坐在这样的车里,就不能再强求什么个性化体验了。

业内类似的无人车有很多,他们大都使用的是CPU+GPU+FPGA的计算平台,而这样车载计算平台隐患有很多:他们不仅计算所需要的功率大,而且如果没有强力风扇来散热,夏天很容易烧坏机器。

回溯计算工业发展的核心驱动力,毋庸置疑是手机。但依照如今的情形来看,自动驾驶行业对计算平台的要求,已经成为技术行业新的驱动力了。但在需求方面,自动驾驶与手机存在如下差异,

第一,自动驾驶对计算能力的要求非常高。相对于手机可以看到的计算需求,自动驾驶大概要超过两个数量级(100X),数据生成速度方面超过四个数量级(10000X),这是非常恐怖的;

其次,是自动驾驶的一些特殊需求,首先是可靠性和功能安全。所有的汽车电子都需要符合AEC—Q100和ISO26262的规范,这是AEC(美国能源控制公司)的标准。

而在实时性方面,自动驾驶有非常明确的最低延迟要求。在成本方面,它需要有高度的扩展性,因为汽车这个行业对于价格的分级是非常严格的。

那么,计算平台要达到一个量产化的要求,它的关键指标是什么了?据李星宇介绍说,第一是每瓦的性能,第二是每瓦的成本,第三是生态系统,包括使用这个计算平台的用户群和它的易用性。

自动驾驶计算平台的三个大玩家各有千秋

目前,全球前14大的技术公司里有12家已经宣布开发自动驾驶相关的技术,在汽车领域全球前14家的车厂已经有13家宣布要进军自动驾驶的领域,然而,在这么一个风口,自动驾驶计算平台的三大玩家分别是英特尔、英伟达和高通。

算法or芯片?自动驾驶时代的痛点是什么?

英特尔以173亿美元收购以色列公司Mobileye,改写了业界的竞争格局。首先,就英特尔自身优势而言,它在数据中心业务上占有绝对的优势。

通过收购英飞凌(德国英飞凌科技公司是全球领先的半导体公司之一,提供微处理器,LED驱动,传感器以及汽车用集成电路与功率管理芯片等产品),获得了无线的资产;同时,它又是苹果baseband(基带)的供货商之一;在端方面,英特尔有自己的服务器级芯片;再者,通过收购Altera获得了FPGA(可编程逻辑器件)资产。

李星宇认为,通过收购,英特尔也完美弥补了自身的不足。

首先,在整个战略上,英特尔借助Mobileye弥补了自身算法的不足,同时获得了针对于专用的ADAS算法所设计的专用处理器IP,最为重要的是,通过这次收购,英特尔获得了70%的ADAS市场,这样就使得它与主机厂建立了一个非常稳固的业务联系。

在新的5G时代,真正的数据驱动力来源于IOT(物联网),而在所有的IOT的垂直行业里,汽车又是最大的数据产生源,英特尔深刻地了解到这一点,也正好抓住了机遇,在其产品组合方面很好地完成了一个基于数据的闭环。

算法or芯片?自动驾驶时代的痛点是什么?

英伟达则是在深度学习领域和训练平台这块占有绝对的优势。李星宇解释道,英伟达和博世的结盟以及与德国采埃孚集团(简称:ZF,ZF与英伟达计划2018年推出人工智能自动驾驶系统——ProAI)建立的深度合作,使得它在汽车领域获得一个很好的基矗

但不可否认的是,英伟达自身的优势也足够引人注目。

第一,它自身有很快的迭代速度。李星宇说,英伟达在过去三年里,GPU(图形处理器,它是显卡的“心脏”)的性能提升了65倍,功耗下降了7倍;

第二,英伟达正在重新设计自身的GPU框架,即从面向图形的优化设计转向越来越多的面向深度学习的优化。CUDA(显卡厂商NVIDIA推出的运算平台)以及随后的像CUDNN、NCCL这样的中间共接的推出,使得深度学习的开发在GPU方面的门槛大大下降;

第三,GPU功耗方面得到极大改善。李星宇说,在最近发布的DRIVEAI平台上,英伟达现在可以推出30瓦的平台,而它的性能可能达到30个TOPS,已经超过了之前的Drive PX2。

算法or芯片?自动驾驶时代的痛点是什么?

高通目前是全球最大的汽车半导体供应商。这得益于,它在去年以470亿美元收购了恩智浦,而恩智浦此前便收购飞思卡尔,所以使得整个新的高通在汽车电子的产品组合方面比较全面。

此外,高通是V2X(vehicle-to-everything)领域的领导者,它的DSRC(专用短程通信技术)的产品已经成功运用在通用的凯迪拉克上;在5G方面,毫米波雷达,汽车娱乐导航系统方面都有比较明显的市场优势。

再者,高通现在拥有一些比较高性价比的产品组合。比如说它推出的BlueBox自动驾驶平台,这个其实是S32V视觉处理器再加上一个Layerscape的组合。跟像英伟达和英特尔这样比较高端的数百美元甚至更高价格的产品比起来,S32V视觉处理器的价格其实只有二三十美元。亲民,是它能够在汽车电子领域有高占有率的关键因素之一。

“对于高通来说如何提供更强的计算平台,以及提供基于这个计算平台的一个算法库,进而构建一个有生命力的生态系统是它接下来面对的挑战。”李星宇认为,目前高通的问题主要的是更强大的算法平台。

算法和芯片是自动驾驶时代的关键路径

算法or芯片?自动驾驶时代的痛点是什么?

回顾过去自动驾驶所使用的计算平台,可以看到由最开始使用CPU,到后来的GPU,到现在GPU和FPGA的组合使用。在未来的话,其实是一个基于专用的人工智能IP的处理器时代,在这样一个时代最显著的特征就是算法和芯片要协同进化。

然而,在过去很长的时间内,算法是迁就于芯片构架的。但随着fabless模式(Fabless是半导体集成电路行业中无生产线设计公司的简称)的成熟,设计一个专用的IP其实在投资方面的门槛已经降低。Mobileye就是这样一个成功的典范,它最开始用PC去开发,后来跟ST(意法半导体)合作做专用的芯片,即它的EyeQ系列,获得极大的成功。

其实,其他行业也有一个类似的演进路径。比如,对于计算有非常高要求的比特币的挖矿,最开始挖比特币的时候用家里的PC就可以挖,到后来发现不行,一定要用GPU去做高性能计算,再后来大家开始成立专业公司去基于FPGA开发定制化的计算构架,那么到最后像Avalon这样的专用的ASIC(集成电路)就出来了。

计算平台如何克服深度学习方面的局限性

算法or芯片?自动驾驶时代的痛点是什么?

虽然说现在深度学习的计算平台已经比较多,表现也在持续地优化,但其实现有计算平台在深度学习方面也有相当多的局限性。

对GPU来说,内存带宽是一大棘手问题,所以虽然现在显存的带PIN脚的数量已经超过384位,它的memory controller已经达到4096位之多,但是依然不能满足中间结果带来的需求。所以在很多的时候,不是GPU的计算单元不够用,而是计算单元在等待数据的到来。

第二,GPU并行计算的模式不够灵活,很难对它进行拆分。

第三,GPU这种并行计算的模式无法对串行化的算法进行优化,而很多算法都是有依赖性的,即它后面的计算依赖于前面的结果,没有办法做到绝对的并行。第四,GPU本身的双精度和ECC其实对深度学习的意义也不是很大,所以等于是在浪费它的计算资源,而且会增加额外的功耗。

由于FPGA的计算构架可以全定制,所以它在很大程度上克服了GPU的弱点。但FPGA也有问题,产品本身迭代比较慢,四年才会产生新一代的产品,所以它也无法满足一个自动驾驶高速演进的需求;另外,就是当你对于门阵列和internal memory的需求比较大时,它的成本也会变得比较高。

由此可见,无论是GPU还是FPGA在计算平台的深度学习方面都存在一定的局限性,那该如何去打破这种瓶颈呢?

算法or芯片?自动驾驶时代的痛点是什么?

一方面是克服现有的计算平台在深度学习计算方面的不足,比如存储器构架的设计。在计算单元的设置方面要有高度的灵活性。比如原来的CNN (卷积神经网络)可能是浮点的操作,现在为了减少对计算资源的需求,从浮点转到定点是一个趋势。

在定点方面,从八位转到两位也是一个趋势,即二值网络,这样一个二值网络的出现,使得原来需要用八位乘法器来进行的操作变成一个简单的XOR操作,能够极大地节约计算资源。

在处理器的指令集方面也是一样,可以定制专有的指令,直接进行卷积的操作。比如在过去的多媒体时代,英特尔曾经推出过MMX这个指令集,本身来讲就是用来完成视频的编解码、压缩和解压直接的操作,使得对计算资源的需求可以大大下降,因为它是有专有的构架和专有的指令集。

再者,针对CNN网络结构优化方面,需要根据具体的数据和任务特点来进行一个设计,所以要求的就是高度的灵活和高度的动态化。

在深度学习计算构架方面,从一个一致的结构走向一个异构的组合结构,可以大大优化整个系统的能耗,降低成本;同时,从并发计算走向序列化计算也是一个趋势,尤其是在自动驾驶对于整个活动态势预测的需求方面,是有比较明确的需求的。

以下笔者与李星宇的对话呈现:

Q: 目前或者未来,自动驾驶技术的数据应用可能在哪些领域?是否已经有相关的研究计划或者商业化模式?

李星宇:在数据应用方面,一个最本质的需求就是提升自动驾驶技术本身的适域性和它的可靠性。像特斯拉采用一个叫做影子模式进行数据的搜集,就是为了验证它自己技术的可靠性。

在未来自动驾驶技术的数据还可能有更广泛的这种商业场景的应用,比如举一个例子,我们看到整个汽车业界在商业模式方面最大的改变,就是从私人拥有汽车转向一个共享出行的态势:

共享出行的格局之下,对于汽车的采购其实是由运营商来进行,运营商对于自动驾驶所产生的数据其实有非常多的使用方式。

比如说运营商可能能够通过这些数据的分析,非常合理的进行一个它自己运营车辆的调配,比如说哪些网点分布得密,哪些网点分布少一点,这样一些动态配置都是数据的很好应用,包括运营商对于自动驾驶汽车自身的一个故障方面的维护保养,也是数据运营可以帮忙的地方,可以通过一些人工智能的模型提前在故障诊断方面的预测。

其实我们看到像Uber、滴滴这些公司,包括现在雨后春笋般成立的这些分时租赁的公司,他们对于数据都有比较明确的需求。我相信围绕数据打造一个高度技术化的商业模式是可以期待的。

Q:能不能讲讲未来自动驾驶的生态圈,以及小公司用什么样的途径参与比较好?

李星宇:关于自动驾驶的一个生态圈小公司如何参与,其实从历史上来看的话,一项新的项目在刚开始出现的时候,其实都是大公司在主导。

比如举一个例子,PC那个时候是IBM,是通用PC的鼻祖。在那个时候做PC其实还是一个比较高技术门槛的行业。在这个之后,其实各家小公司都开始在上游进行一些标准模块的开发,就是我们现在看到的各种板卡,都是从那个时代开始的。

所以一个大的产业在一开始的时候所需要的这种技术门槛比较高,环节比较多,适合让大公司来去做这个事情。在后面产业链势必会形成分工,在这样一个分工的地势下小公司就有非常多的切入点。比如说在上游做某一个零部件,这就是一种参与,这是从产品开发的纬度上来讲。

从商业运营角度来讲,对于高技术的商业化运营,其实本身并不见得是高技术,就像我们看到PC在各个领域的应用一样,所以从这个意义上来讲,如果我们看到自动驾驶的技术在达到一定的地步以后,其实相应的这种商业模式就可以变得有可行性,从而诞生很多新的这种商业业态,比如说现在这种比较热门的分时租赁的行业,如果自动驾驶能够实现L3的一个水准的话,那么在取车和还车这个环节可以做到全自动化,极大的提升运营效率。

Q: 汽车届大多数人把tesla auto pilot 2.0当成L3,这个有争论吗?

李星宇:关于这个问题,如果我们从直观上看的话,auto pilot 2.0那的确是有这样一个能力,也就是说在限定环节下的自动驾驶,但是从实际上来讲,魔鬼往往就隐藏在细节之中,所以我们其实还是要看它具体的表现,毕竟它现在还处于测试期,还没有看到大规模的反馈过来。