Waymo早在2008年就开始投入自动驾驶,当时还属于谷歌X事业部,不过14年过去,Waymo几乎一事无成,声音也越来越小,根本的原因就是Waymo对软件算法过分重视,忽视了硬件平台。这几年英伟达、高通自动驾驶芯片的崛起与Waymo的没落形成鲜明对比。自动驾驶的软件和硬件是硬币的两面,无法分割,整套解决方案必然包括软件和硬件。单独提供软件或硬件都没有出路,因为自动驾驶软硬件配合度要求太高,很难移植。这主要是深度学习算法模型与硬件高度捆绑,两者不匹配很容易导致效率低下,硬件的利用率低到10%以下是经常遇到的。
Waymo早期是采用英特尔芯片做计算平台的,主要是基于服务器CPU至强和FPGA加速卡。
图片来源:互联网
Waymo计算平台,其中以太网交换机应该也是用FPGA搭建的,因为这么高带宽的以太网交换机现在还没有量产,几年前更不可能有了。只有FPGA能做到如此高的带宽,代价是价格很高,至少在1000美元以上。还有两个至强CPU之间应该还需要PCIe交换机。
FPGA可能是Arria 10 1150GX,目前售价大约2000美元,2013年时可能要4000美元以上。Altera的FPGA共有四大系列,分别是顶配的Stratix系列、成本与性能平衡的Arria系列、廉价的Cyclone系列、带NVM的MAX系列。Stratix系列多在近万美元以上,Arria系列大约在2000-5000美元之间,Cyclone系列多在10-20美元之间。Arria系列再细分10、V、II、GX四个系列,10系列为最新产品,于2013年推出,采用20纳米工艺,GX为第一代产品,2007年推出,采用90纳米工艺,II系列为2009年产品,采用40纳米工艺,V系列为2011年产品,采用28纳米工艺。10系列再分为带ARM内核和不带ARM内核两大类。ARM内核为双A9内核。
1150GX拥有标准FPGA的1150K个逻辑元素外,还拥有1518个硬核单精度浮点运算乘法器/加法器,3036个18*19乘法器。最终能够获得3340GMACS(等于每秒百万次的定点乘累加运算),还有1366 GFLOPS的浮点运算能力。AI算力最高是26TOPS@Int8。在2013年这个算力可以算是非常惊人的,价格当然也很惊人。
FPGA是效率最高的运算单元,FPGA之所以比CPU甚至GPU能效高,本质上是无指令、无需共享内存的体系结构带来的福利。冯氏结构中,由于执行单元(如CPU核)可能执行任意指令,就需要有指令存储器、译码器、各种指令的运算器、分支跳转处理逻辑。由于指令流的控制逻辑复杂,不可能有太多条独立的指令流,因此GPU使用SIMD(单指令流多数据流)来让多个执行单元以同样的步调处理不同的数据,CPU也支持SIMD指令。而FPGA每个逻辑单元的功能在重编程(烧写)时就已经确定,不需要指令。
FPGA中的寄存器和片上内存(BRAM)是属于各自的控制逻辑的,无需不必要的仲裁和缓存。对于通信的需求,FPGA每个逻辑单元与周围逻辑单元的连接在重编程(烧写)时就已经确定,并不需要通过共享内存来通信。FPGA实际就像是一片SRAM,它没有AI芯片难以克服的内存墙问题,有点像存内计算,但要比存内计算规模大太多了。FPGA的硬件利用率可轻松做到80%以上,因此FPGA的频率都比较低。
但FPGA的布线没有优化,有大面积的硅片资源闲置,浪费了,这导致其成本飞速上升,小规模的FPGA价格很低,一旦越过30-50万逻辑单元,价格直线飞升。
Waymo的计算平台单芯片成本就已超过4000美元,并且都是非车规的,显然这无法量产。2019年以后,Waymo的声音就慢慢沉寂,而软硬一体的高通和英伟达发展越来越顺利。
眼看英伟达和高通一飞冲天,Waymo也幡然悔悟,2021年就开始筹划与三星推出自动驾驶芯片,正式推出可能在2023年底。和英伟达、高通相比,Waymo的劣势在于英伟达和高通都是芯片巨头,两者出货量巨大,特别是高通,能够大幅度降低芯片成本。Waymo订制芯片,出货量必然是很低的,谷歌的TPU用在数据中心,成本敏感度不高,但汽车不行。同时谷歌的TPU出货量相对自动驾驶汽车还是不低的。
要做到商业化,成本是必须考虑的。Waymo找到了三星做合作伙伴,三星每年手机CPU芯片上亿,足以和高通抗衡,足以摊薄成本。三星与谷歌合作是从谷歌第一代手机芯片Tensor开始。高通的Snapdragon Ride平台目前是SA8540p+SA9000。SA8540p近似于高通手机5纳米芯片888,只不过SA8540p可能采用4大核4小核的设计,即4个Cortex-X1加4个A78。去掉了强调A55小核。高通以此还衍生出针对笔记本电脑的8cx gen3,与SA8540p非常近似,但去掉了5G modem。
能做手机SoC,就能做自动驾驶芯片,三星、苹果、联发科都可以。
图片来源:互联网
谷歌第一代Tensor芯片,用于谷歌Pixel 6系列手机上,实际就是基于三星Exynos 2100的修改版。
第一代Tensor与三星Exynos 2100对比
图片来源:互联网
在NPU方面,Exynos 2100是压倒性优势的26TOPS,谷歌是5.7TOPS。不过在实际测试中,Exynos 2100优势不明显。
图片来源:互联网
骁龙888、谷歌Tensor与Exynos 2100的NNAPI即神经网络测试跑分,谷歌Tensor优势明显。
NLP自然语言处理方面,谷歌Tensor优势非常明显。
图片来源:互联网
离线图像分类跑分测试,Tensor差距也不算大。
图片来源:互联网
Waymo的自动驾驶芯片不大可能基于第一代Tensor,因为第二代Tensor已于2022年7月底量产了。Waymo的自动驾驶芯片很有可能基于第二代Tensor,目前未有基于第二代Tensor的消息,但很显然,三星不会给谷歌做太多工作,应该就是Exynos 2200的修改版,毕竟第一代Tensor的具体型号就是Samsung Exynos Tensor GS101,从型号就能看出,这是Exynos2100的修改版。
图片来源:互联网
Waymo的自动驾驶芯片芯片应该会基于三星4纳米工艺。超大核应该还是两个Cortex-x2,而不是Exynos的1个。两个Cortex-710的中核,四个A510的小核。GPU方面估计也是基于AMD RNDA2代的GPU,足以和高通的Adreno 730一争高下。
CPU和GPU没有太多操作空间,NPU应该是谷歌擅长的。
谷歌历代TPU对比
图片来源:互联网
谷歌从2016年推出第一代TPU,2021年推出第四代,第四代TPU的算力没有公开数据,只说比第三代的两倍。第三代TPU的算力是360TOPS@Int8,那么第四代应该是720TOPS@Int8。不过TPU是针对数据中心的。针对边缘计算,谷歌还有TPU EDGE,价格非常低廉,应该不超过10美元。
谷歌没有公布TPU V4的算力,但给出了下表,用在各种算法模型上的消耗时间,完全可以超越顶级英伟达系统。
备注:这是在2021年中期测试的数据。
图片来源:互联网
Waymo的策略应该与高通一样,也是一片SoC加一片加速器。SoC基于二代Tensor也就是基于三星Exynos 2200,其内部的NPU算力至少能到30TOPS。加速器应该基于4代TPU或5代TPU做修改而来,算力估计360TOPS。这样一来,成本大大降低,应该不高于英伟达系统的成本。此外4代或5代TPU都应该委托三星而非台积电代工,台积电代工当然更好,但价格会远高于三星,且谷歌的订单数量太少,在产能紧张大客户云集的台积电那里肯定要排队等待,因此谷歌一直选弱势的三星做合作伙伴。
自谷歌开始搞自动驾驶以来,其定位就比较模糊,战略经常变化,最初似乎是想提供全套软件解决方案,然后是自己制造无人驾驶小车,再后是做无人出租车运营,现在似乎是回归最初,提供包括硬件计算平台在内的全套解决方案。主要是自动驾驶算法的门槛极低,单独的算法没多少价值,自动驾驶软件里最有价值的应该是经过人工标注的数据集,这没什么技术含量,完全靠人力和资金。如今Waymo试图和英伟达或高通竞争,显然已经晚了,Waymo的最终结局想必大家都已经能预测到。