1. 首页
  2. 大牛说
  3. 担心无人驾驶汽车会“死机”吗?芯片的“功耗战争”正冲它而来

担心无人驾驶汽车会“死机”吗?芯片的“功耗战争”正冲它而来

冬至已过,2017年最冷的时节也日渐逼近。然而,即便是在最冷的日子里,如果你乘坐的是一辆搭载着英伟达的Drive PX 2计算平台的无人驾驶汽车,你可能根本就不用开空调。因为,这是一辆“有情怀有温度”的“暖车”。 

但千万别高兴得太早——不用开空调当然好,但过分的是,极有可能,每过两个小时,你便不得不停下来打开窗户“吸吸外面的冷气”。冬季尚且如此,到夏季,就更麻烦了——作为无人车“大脑”的PX 2被“热晕”、“热死”也有可能。

功耗太高、运行中产生的热量太多,已经成为GPU最大的软肋之一。正因为如此,特斯拉在最近“悍然宣布”要自己研发芯片时,也把“降低功耗”作为主要动机之一。 

事实上,早在特斯拉之前,GPU的“功耗太高”,已经成为众多“友商”向它发起进攻的突破口——英特尔、谷歌、Mobieye、Wave Computing、Graphcore、地平线、寒武纪等多家芯片厂商都在以“我的功耗更低”为资本来跟GPU抢生意,一场针对英伟达的围剿正在展开。 

一.GPU:生命不能承受之“热”

首先必须澄清一下,通常所说的“GPU功耗”,并不是单颗芯片的功耗,而是基于GPU及对应算法的整个计算平台的功耗;因为,GPU常常是跟算法结合在一起,作为整体方案一起使用的,脱离计算平台谈单颗芯片的功率,没有多大实际意义。 

目前,特斯拉Model S上的Autopilot 2.0使用的自动驾驶计算平台是英伟达的Drive PX 2。 PX 2使用的处理器为GPU TeslaP100,功耗最高可达250W,10小时2.5度电。10小时2.5度电是什么意思呢? 

Model S75与Model S P100D的电池容量分别为75kWh、100kWh,续航里程分布为417公里、540公里,算下来,每1度电可以跑5.4公里,2.5度电,可以跑13.5公里。也就是说,Drive PX 2每运行10小时,Model S的续航里程可能就减少13.5公里。(英伟达提供给Tesla的PX 2,是定制版,相对于通用版,在功耗上得到了优化。)

根据中国科技部在去年8月份发布的《“新能源汽车”试点专项2017年度项目申报指南建议》,到2020年之前,电动车的耗电应降低到10度/100公里以内,算下来,也就是,1度电至少可以跑10公里。假如到时Drive PX 2被装在“中国标准”的电动汽车上,将可能产生什么后果?PX 2每多运行10小时,车辆的续航里程就会减少25公里以上。 

如果搭载PX 2的无人驾驶汽车是私家车,那么,连续运行10小时的情况并不常见,但如果这辆无人驾驶汽车是出行运营车辆,则连续运营10—20小时便是家常便饭。在这种情况下,PX 2的高功耗无疑会提高无人车的充电频次,从长期看,还会加速电池的“折寿”。 

并且,对运营车辆来说,充电频次过高,还会增加时间成本,减少盈利。 

如果说GPU功耗过高对电池带来的耗损还主要是“钱的问题”,那么,散热问题则可能“事关人命”,这也是更令人头疼的问题。 

芯片功耗太高最大的问题并不是“太费电”,而是散热困难——夏天,车内的自然温度可以达到四五十度,再跟计算平台产生的热量叠加再一起,器件的温度达到100-200度,轻则发烫,重则烧坏,进而导致系统“死机”、或“自动关机”。 

手机在死机后重启一下就可以了,但无人驾驶汽车要是在高速行驶的过程中系统崩溃,是性命攸关的事,马虎不得。为了避免系统崩溃,很多以GPU为核心处理器的无人驾驶汽车,每开两个小时就要停下来散热。 

为应对功耗太高的问题,PX 2的用户们纷纷搭载水冷系统、小电风扇、散热片等各种散热设备。对电子产品来说,散热设备本是常识,无甚新奇之处,但需要强调的是,功耗越高的器件/系统,需要搭配的散热设备就越多,而这个散热设备,也是需要耗电的,这就等于新增了一次功耗。 

并且,设计中需要的风扇和散热器等硬件越多,系统故障的概率就越大,这将影响系统的可靠性,甚至是寿命。 

由于被用户吐槽太多,英伟达也已意识到功耗是它的软肋,因此,它曾经做过“设计低功耗的GPU”的努力,但结果并不理想。 

英伟达在2017年CES展上推出了新款处理器Soc Xavier(由GPU TeslaV100集成而来),运算速度为30 TOPs。当时媒体纷纷在计算,说Xavier的计算能力提高至PX 2(24 TOPs)的1.3倍,而功率只有30w,仅为后者的几分之一。这进步,真是杠杠滴! 

但是,先别急着高兴,据《建约车评》向英伟达工程人员确认,Soc Xavier并非是像PX 2那样能够“独当一面”的产品,它们之间不存在可比性。 

Xavier只是英伟达在2017年10月份推出的最新计算平台Drive PX Pegasus上面的“半成品“。可是,当以Xavier为基础的PX Pegasus出来后,”一切都变了“——Pegasus的深度学习计算能力为320万,是PX 2的13.3倍,而最高功耗也升高至500W。 

虽然从能效(计算能力/功率)的角度看,PX Pegasus相比于PX 2是进步了不少,但每2个小时一度电,这个还是挺可怕的。因此,英特尔首席工程师兼自动驾驶解决方案首席架构师杰克·威仕特“黑”PX Pegasus功率依然太高,不是没有道理的。 

二.FPGA:五十步笑百步

在英伟达搭上了AI的东风一路青云直上的岁月里,昔日芯片市场上绝对的霸主英特尔是很不服气的,它总想着如何扳回一局。在AI芯片市场上,英特尔最主要的动作就是买买买,这其中,就包括对FPGA领军公司Altera的收购。 

英特尔的FPGA,在多传感器融合中发挥着重要作用。FPGA,是公认的比GPU“能效更高”的AI芯片。 

我们可以将英特尔的FPGA之Stratix系列中等级最高的Stratix 10(14nm)与英伟达GPU中目前等级最高的Tesla V100(12nm)做个比较:计算能力方面,Stratix 10为10 TFLOPs,Tesla V100为14 TFLOPs;最高功耗方面,前者为 120W,而后者为300W。虽然Stratix 10的计算能力稍微逊色一点,但如果综合来看(功率/计算能力),完成相同的计算能力,它所需要的功耗要比Tesla V100小得多。 

FPGA之所以比GPU能效更高,主要有以下几个原因—— 

1.多线作战

FPGA虽然和GPU都擅长“并行处理”来提高计算效率,但两者并行处理的方式并不完全相同:

GPU只有数据并行,比如把一组庞大的数据拆分成6400份,然后分别输入6400个小的计算单元中,所有的计算单元都听命于同一个指令、按照统一的步骤计算,等6400份计算都分别完成后,再统一输出,汇总到一起;而如果是在FPGA中,则不仅数据并行,而且还有“流水线并行”,即这6400份数据在各自的计算单元中是由不同的指令操控着,每处理完一份,就能马上输出。 

基于这种特质,在面对压缩、图像处理、机器学习等计算量比较密集的任务时,FPGA更有能力避免延时,效率要比GPU高很多。因此,完成同样的计算任务,FPGA所需要的功耗也要比GPU少得多。 

2.不需要“兜圈子” 

跟CPU一样,GPU在运行中也依赖于传统的冯.诺依曼架构,即指令和数据均存储于外部存储器中,处理器需要从存储器中取出指令、解码,然后再执行该指令。GPU里面有数千个小的计算单元,它同时运行最多数十万个小程序,因访问存储器需要“排队”,所以实际上大部分小程序都被“卡”住了,真正在GPU上”动起来“的只是很小的一部分。然而,这些正在“排长队”的小程序却要占用芯片面积、消耗内存带宽,结果,抬高了GPU的功耗。

而对于可编程的FPGA来说,由于硬件电路是通过程序来定义的,它不需要取指令与指令译码过程,计算得到的结果也无需在主存储器临时保存,可以被直接送到下一步。因此,相比于通过GPU实现,不仅提高运算速度,而且对存储器带宽的需求也会低很多,这就节省了功耗。 

3.计算资源的浪费少 

GPU的硬件资源是由加法器、乘法器这样的硬件单元组成的,并且,一经配置,就无法更改。比如,加法器配置15个、乘法器配置15个,但实际使用的时候,可能前者的用量是2个,而后者的用量只需要2个,这就白白浪费了13个加法器的资源。 

而FPGA则具有“可编程”的灵活性,用户可以根据特定应用的需求对硬件进行编程,如果应用里面的加法运算非常多就可以调用大量的逻辑资源去实现加法器,从而保证计算资源被充分利用。计算资源浪费少,同时就意味着功耗的节省。 

不过,具体到个案中,FPGA是否真的就在功耗上比GPU更有优势,还得结合应用场景来看,不能简单地生搬硬套。 

具体地说,如果FPGA的架构优化能做得很好以致于一块FPGA的平均性能能够接近一块GPU,那么FPGA方案的总功耗远小于GPU,散热问题可以大大减轻。反之,如果需要二十块FPGA才能实现一块GPU的平均性能,那么FPGA在功耗方面并没有优势。 

总体上,基于FPGA的计算平台的功耗在30W—200W,虽然上限要比基于GPU的Drive PX 2要低一些,但根据业内人士的说法,使用了FPGA方案的谷歌无人驾驶汽车依然无法逃避“每开两个小时就要停下来散热”的命运。 

英特尔总不忘在各种场合向它的潜在客户黑一下英伟达,黑一下GPU的功耗,但站在旁观者的角度,FPGA黑GPU功耗高,也许只是“五十步笑百步”而已。 

三.ASIC:做减法,追求“小而美”

如果要降低功耗,需要从哪些方面入手?这是很多人都好奇的问题。在芯片领域有近30年经验的地平线机器人公司首席芯片架构师周峰博士认为,影响芯片功耗的主要是制程和架构,那么,要降低功耗,也应该从这两个角度入手。 

制程

在架构不变的前提下,芯片的制程等级越高,功耗就越低。比如,一款芯片,在14nm的制程下做出来,要比在28nm的制程下做出来功耗更低。通过提高制程等级来降低功耗,一般发生在同一系列产品的更新换代上,比如,28nm制程下的FPGA Stratix V在升级到14nm制程下的Stratix 10后,功耗降低了40~70%。

不过,对厂商来说,改制程的成本往往是一个天文数字,如果没有一个可观的预期销量,厂商通常很难仅仅为了降低功耗就去改制程。 

架构

在不改变制程的条件下,可以通过对芯片架构进行重新设计,通过调整结构、缩小面积、并配合一定的算法等方式把功耗降下来。这种做法,比改变制程的难度更大,并且,重新设计架构的周期也很长,但如考虑到高能效带来的功耗节省以及效率提升所能带来的总体维持/营运成本的降低,有远见的公司还是愿意这样做。

通过修改架构来降低功耗,往往发生在不同产品、不同厂商之间的竞争中。比如,谷歌推出的TPU、Mobileye推出的EyeQ、地平线推出的BPU,就是通过改变芯片架构来降低功耗。 

那么,为什么通过调整架构就可以降低功耗呢? 

GPU和FPGA都是通用芯片。所谓“通用”,即功能“大而全”,某些功能在特定的应用场景中是派不上用场、被浪费的,然而,就是这些派不上用场的功能,却硬是要运行、要“发光放热”。 

GPU,本不是为了做AI计算而设计的,它的主要功能是用来做图像处理的,这就导致,在AI计算中,仅有占芯片总面积不到4成的计算单元被有效利用。比如,GPU 有6400个微小处理器,在做图像处理时,这6400个处理器全部都用上了,但在做AI计算时,只有效利用了一小部分,可能是2000个,结果,剩下的那一部分计算资源就被浪费了。然而,GPU 仍然需要为这部分被浪费的计算量承担功耗。   

因此,被应用在AI计算中的GPU,要降低功耗,就得“做减法”,把传统的图像处理功能给砍掉。 

FPGA也存在“产能利用不足”的问题。FPGA的运算电路基于查找表,比如说,FPGA内部有1000万个自定义逻辑部件,一个4输入的查找表单元需要96个晶体管来支持,然而,这96个晶体管中,绝大部分都属于冗余。这些冗余也必然体现在芯片的面积和功耗上。 

要想避免因为“产能利用不足”而导致的功耗浪费,最好的方法就是,通过重新设计芯片架构,开发针对特定应用场景的专用芯片,这就是走“小而美”路线的ASIC。在ASIC中,除了必要的对外连接及对内中控部分,所有的晶体管都可以完全被用于计算上,而那些“闲置产能”都被砍掉了,因此,对应的功耗浪费也省掉了。 

因为是“专用”,所以,ASIC的设计难度和开发成本都要比GPU和FPGA高得多,而且,周期也更长——一般来说,基于FPGA的开发周期大约为6个月,而相同规格的ASIC则需要1年左右。但一旦量产,成本就会比GPU和FPGA低得多(特定的用户不需要像对GPU那样为某些“闲置”的功能买单)。 

并且,由于计算能力和计算效率都可以根据算法需要进行定制,ASIC与通用芯片相比,在节省功耗的同时,还具有计算性能高、体积小等多种优点。 

马斯克曾表示,“人工智能专用芯片将大幅度降低能耗和成本”,而他的搭档吉姆•凯勒也表示,专用芯片可以提升效率。由此看,特斯拉正在研发的芯片应该也是ASIC。 

在这里,我们列举三款已经有成型产品的ASIC芯片。 

1.谷歌—TPU 

很早之前,谷歌就意识到GPU更适合训练,却不善于做训练后的分析决策,因此,它得自己开发一款专门用于做分析决策的AI芯片。在低调使用了一两年后,在2016年5月份召开的Google I/O大会上,这款专用芯片TPU终于闪亮登场了(在2017年5月份又公布了TPU 2.0版)。 

谷歌声称TPU(以下简称TPU 1)的运算速度“比当前CPU和GPU快15-30倍”,同时“功耗还要低30—80倍”,但很快遭到黄仁勋及其拥护者的“打脸”,他们纷纷表示,谷歌是拿自己新出的产品跟英伟达两年前的旧产品TeslaK80做比较,不太厚道。 

甚至,直到谷歌在2017年推出新一代TPU即TPU2时,英伟达方面也称,他家的最新款GPU Tesla V100在计算性能可以秒杀TPU2。 

TPU2的最高功耗在130-160W之间,但其计算能力,公开资料只能查到其半精度浮点计算能力为45 TFLOPs,至于流传的180 TFLOPs是什么情景下的则语焉不详;而GPU Tesla V100,最高功耗300W,计算能力为单精度浮点15 TFLOPs,半精度浮点计算能力暂不清楚,因此,无法直接比较。但即便是Tesla V100的计算能力超过TPU 2,这也是以超过后者两倍的功耗为代价的,论能效的话,应该还是TPU 2更占优势。 

之所以说在功耗战争中TPU 2能赢过GPU,就因为它是 ASIC,由于只执行单一工作,速度更快也在情理之中。TPU和GPU之间除了性能较量,更多代表的是ASIC和通用型芯片这两种设计思路间的博弈。 

不过,由于TPU只用于云端计算,不在终端使用,并且,也只是谷歌自己用,而不对外销售,因此,它跟其他厂商的AI芯片之间并不存在太强的竞争关系。 

2. Mobileye—EyeQ 

被英特尔收购的Mobileye所产的ADAS视觉处理芯片EyeQ,也属于ASIC。在跟英伟达走到一起之前,特斯拉就使用的EyeQ。EyeQ目前已经更新到第四代,最近蔚来汽车刚发布的量产车ES8,即为全球首款使用EyeQ 4作为自动驾驶处理器的量产车。

将EyeQ 4与英伟达的最新处理器Xaiver做个比较会很有意思。 

EyeQ 4 可以在 3W 的功耗下提供 2.5 TOPs 的计算能力,Xavier在30W的功率下提供 30 TOPs的计算能力,计算一下能效可知,在EyeQ 4中,每1W可支持0.8 TOPs的计算能力,而在Xavier中,每1W可支持1 TOPs的计算能力,Vavier的能效更高。 

不过,在这场比较中,Xavier以微弱优势胜出,却并不能否认ASIC在降低功耗方面的能力——有一个关键的问题忽略了,制程,EyeQ 4是基于28nm的制程生产的,而Xavier则是基于16nm的制程。也就是说,Xavier在能效上超过EyeQ 4,要归功于更先进的制程,而非芯片架构。 

当EyeQ的制程从28nm升级到7nm的时候,它在功耗上的优势就立马可以秒杀Xavier。2016年5月,当时尚未被英特尔收购的Mobieye发布了最新一代芯片EyeQ 5,这款芯片将于2020年上市。在本月初的洛杉矶车展上,英特尔执行长Brian Krzanich强调,“EyeQ 5,在深度学习中的能效要比英伟达的Xavier高出1倍以上。” 

英伟达的人听了这句话可能会很不舒服,但我们可以做个简单的比较——计算能力方面,EyeQ 5是 24 TOPs,Xavier是30 TOPs;功耗方面,前者是5-10W,而后者则为30W。 再比较一下能效(计算能力/功率),EyeQ 5为Xavier的2.4—4.8倍。 

可以,在降低功耗的问题上,Mobileye走的是ASIC和改进制程“两手抓,两手都要硬”的路线。 

3. 地平线—BPU 

这场功耗战争中,还有一个后起之秀,即由原百度自动驾驶创始人余凯博士创办的地平线机器人公司。地平线自2015年成立之初就以生产“低成本低功耗”的AI芯片为使命,2017年12月20日,他们的第一代低功耗芯片“征程”(Journey)和“旭日”(Sunrise)系列也正式发布。 

其中,“征程”将主要用做于智能驾驶平台的核心处理器,而“旭日”将主要运用于智能城市、智能商业中的人脸识别等。

地平线将这两款自研的芯片架构命名为BPU(BrainProcessUnit)。第一代BPU的计算能力为1Tops,延时低于30ms,可实时处理1080P@30帧,并对每帧中的200个目标进行检测、跟踪、识别,而其功率则仅为0.5—2.5W,典型功耗为1.5W。 

数据要经过比较才有意义。 

比如英伟达Drive PX 2,图像处理能力可达2800帧/秒,不到BPU的3倍,但功耗却高达250W,是后者的上百倍。从能效的角度,BPU的优势十分明显。 

与PX 2相比,BPU能识别的目标数量确实是“少了点”,但在周峰博士看来,这并不能算是一个遗憾。“芯片应该达到怎样的能力,取决于应用场景。从能力上来说,我们也可以做到每祯识别400个目标,但毕竟这样会影响检测速度、增加功耗,而且也不必要——人在开车的时候,才能同时处理多少个目标?针对自动驾驶的ADAS系统,每祯识别200个目标,最小分辨率达到32*32,这就已经足够了。” 

说200个目标“足够了”,是因为BPU能够对目标进行“精准识别”。通常,图像处理中有大量并不重要的冗余信息,而地平线则通过算法设计“无视”掉那些跟无人驾驶无关的干扰图像信息。这就减少了处理器的计算负担,将处理效率提高10倍以上,同时,也节省了功耗。 

为芯片设计独特算法的另一个优势是,芯片中的乘法器利用率得到了提供。通常,芯片中的乘法器利用率在20%—60%,而地平线BPU乘法器利用率的平均值为96%,峰值甚至达到了100%。这就减少了计算资源的浪费,提高了能效。 

意即,BPU的低功耗,不仅得益于专用的芯片架构,也要归功于专用的算法。 

在自动驾驶领域,第一代BPU“征程”(Jounery)具备同时对行人、机动车、非机动车、车道线、交通标志牌、红绿灯等目标进行精准的实时检测与识别的处理能力,将应用于基于视觉感知的ADAS(雨果平台)上;明年,地平线还将发布第二代BPU,搭载第二代BPU的雨果平台将支持多传感器融合,应用于L3和特定场景下L4级的自动驾驶,感知能力强大到连行人“下一个5秒钟将怎么走”这样的细节都可以预测。

目前,地平线已在全球四大汽车市场(美国、德国、日本和中国)同博世等多家顶级Tier1和整车厂建立起合作关。不过,需要注意的是,地平线并不直接向客户卖BPU,而是跟算法捆绑在一起,作为整体方案来销售。 

其实,在创立地平线之前,余凯博士就已经意识到,要想达到在同等性能下功耗更低、成本更小的目标,就必须构建“芯片+算法”的一整套解决方案,因为,无人驾驶的某些核心算法要跟专用的芯片匹配,才能达到最好的效果,而芯片的功耗也会受算法的影响。在AI时代,用算法和软件来定义芯片,并通过算法来优化芯片将成为一种趋势。 

今后,地平线还将构建一个芯片训练平台,用户可以在这个平台上做各种模拟测试、训练,积累数据、改进算法。 

细数全球范围内的无人驾驶方案供应商,Mobieye跟地平线的相似度最高:视觉方案为主,软硬一体化,本地计算。但余凯认为,地平线的方案更适合中国的道路场景。 

“Mobileye的车尾检测做得很好,但车辆的侧面检测效果就并没有那么理想,这是因为欧美的高速路况大家很少变道。地平线在国内与一些保有自主车辆的公司,今年有50辆车载华东地区和重庆路测,而路测得到的数据,让我们看到了车辆侧面检测、行人检测这些中国特有的问题,并做了针对性的算法优化。“ 余凯说。 

由于中国的路况更复杂,搞定了中国市场,再对其他路况更好的汽车市场进行“降维进攻”就容易多了。这也让地平线在2025年前实现“有3000万辆汽车都内置着地平线的自动驾驶处理器BPU”这一愿景有了更大的底气。 

不仅如此,在文本所聚焦的功耗问题上,地平线也跟能提供“最优解”的Mobieye“有得一拼”。 

地平线的BPU 1.0跟Mobileye的量产产品EyeQ 3(2014年发布)一样,都是基于40nm的制程,参数上,EyeQ 3是计算能力0.256 TOPs,功耗2.5W,而BPU则是计算能力1.0 TOPs,功耗1.5W;也就是说,BPU用比EyeQ 3更低的功耗实现了更强的计算能力,综合计算后得知,后者的能效是前者的6.5倍。 

可能有人会质疑,为什么不拿BPU 1.0跟EyeQ 4做比较?很简单,QyeQ 4是基于28nm制程的,不具有可比性。BPU 1.0跟相同制程的Eye Q3做比较,功耗上的明显优势,更能充分证明地平线所设计的芯片架构(高斯架构)对降低功耗的贡献。 

值得注意的是,这次发布的BPU 1.0只是地平线团队用不到两年半时间搞出来的“处女作”,而EyeQ 3则是Mobileye用六年时搞出来的第三代产品。可见,在某种意义上,地平线的芯片设计能力,已经超过了Mobileye。明年,地平线将发布基于28nm制程的BPU 2.0,到时,我们可以再拿它跟同样是28nm制程的EyeQ 4做比较,相信能看到更多的惊喜。 

无人驾驶时代正在快速到来,中国也将成为无人驾驶汽车最大的产销地,遗憾的是,作为无人车“大脑的大脑”的核心芯片,一直掌握在英伟达、英特尔等国际巨头中,中国公司在这个关键领域是缺席的。产业内早就在急切地等待着“中国芯”的出现。 

如今,地平线携专用芯片BPU“拔地而起”,在追求高性能的同时,还重点从成本、功耗等方面入手,建立起自己的竞争壁垒,从眼下看,这对中国的芯片产业及无人驾驶产业从业者都是一个极大的鼓舞;从长期看,还将有望重塑全球汽车芯片、无人驾驶产业的竞争格局。

来源:第一电动网

作者:建约车评

本文地址:https://www.d1ev.com/kol/60160

返回第一电动网首页 >

收藏
63
  • 分享到:
发表评论
新闻推荐
大牛作者

建约车评

热爱汽车,热爱自主,信奉科技,信奉市场。为你带来前瞻科技和产业深度报道。微信号: jianyuecheping

  • 252
    文章
  • 14103
    获赞
阅读更多文章
第一电动网官方微信

反馈和建议 在线回复

您的询价信息
已经成功提交我们稍后会联系您进行报价!

第一电动网
Hello world!
-->