Waymo计算系统猜想
2020-04-16
来源:与非网
Waymo惊人的 29 个摄像头的传感器配置在自动驾驶圈内成为热门话题。
近日,Waymo 在 Youtube 上发了一段视频专门介绍“WaymoDriver”——自动驾驶巨头的第五代无人车平台。视频主讲人是 Waymo 设计主管 YooJung Ahn(安永君),这位一手打造了“萤火虫”自动驾驶汽车的女设计师给我们分享了新平台的基本设计理念。 安永君是一位出生在首尔的韩国人,实际只是消费类产品工业设计师,并非技术人士,加入谷歌前在摩托罗拉和 LG 做手机工业设计,从未有过汽车外观设计经验,也正因此设计出了萤火虫那样颇为惊艳的小车。她提到了 29 个摄像头,还有许多匪夷所思的性能,比如摄像头可以识别 500 米外的停止标识。众所周知,有效距离与像素数关联程度最高,目前车规图像传感器最高的是索尼的 IMX324,像素为 742 万像素,也只敢说能看清 160 米外交通标识。 Waymo 有能力自己做摄像头,但绝无能力自制图像传感器。Waymo 要么吹牛,要么使用了 2000 万或 3000 万像素的手机用摄像头。这样 Waymo 就离车规量产的距离越来越远了。
如此高的数据流量恐怕 5 年内都找不到车规级芯片可对应。Waymo 或者说谷歌从事自动驾驶已经近 11 年,陆续烧掉估计超过 200 亿美元资金,目前仍未有得到验证的商业模式,Waymo 频繁亮相说明 Waymo 已经着急想商业化了,但可能离商业化会越来越远。越复杂的系统,出错的机率越高,进化的成果应该是越来越简洁,早期的手机和电脑的大芯片至少有十几片,今天基本只有两三片。而 Waymo 的传感器却越来越复杂。
言归正传。
在 Yole 的报告里,指出第一代 Waymo(第一代 Waymo 无人车应该指的是克莱斯勒大捷龙混动版)使用了 8 个 500 万像素摄像头,到目前也没有车规级的 500 万像素传感器,可以肯定是非车规图像传感器。帧率只有 21fps,尽管如此,带宽已经达 8.7Gbps。
第二代 Waymo 无人车应该是指捷豹 I-Pace。
第二代 Waymo 无人车根据 Yole 的说法,应该采用了 14 个 500 万像素摄像头,带宽是惊人的 15.3Gbps。第二代 Waymo 无人车的传感器(而不是摄像头)有 29 个才更为合理,当然也有可能 Waymo 独辟蹊径,有过人之处,真用了 29 个摄像头。 500 万像素摄像头数据带宽超过 1Gbps,且至少 8 个,这需要非常昂贵的以太网交换机芯片,大多数车规级以太网交换机芯片只能对应 1 路或 2 路 2.5Gbps 带宽输入。目前输入带宽最高的是博通的 BCM53162,可以对应 4 路 2.5GbE,售价高达 650 美元(Mouser 报价,100 片起)左右,14 个 500 万像素至少需要 3 片。
上图为 BCM53162 应用图
上图为 BCM53162 内部框架图
博通对 BCM53162 似乎没有下力气推广,2019 年 3 月就推出了 BCM8956X 和 BCM8988X,但具体参数未对外披露。如果用了 2000 或 3000 万像素的传感器,带宽至少得是 10Gbps,目前没有车规级以太网交换机能对应这么高的带宽。 Waymo 应该不会使用多片交换机芯片,业内更常见的做法是 FPGA 做以太网交换机芯片。FPGA 可以自定义接口,特别适合无人车这种还未出现成熟 ASIC 的领域,缺点是价格昂贵,能够支撑如此多高宽带输入的 FPGA 价格估计最低也在 2000 美元以上。 在视觉计算方面,即便是只使用了 14 个 500 万像素的摄像头,那么如果这 14 个摄像头都做深度学习计算的话,算力至少需要 1000Tops。特斯拉的 FSD 单片算力接近 37TOPS,已经是很高的了。需要指出算力比拼必须看精度,浮点、定点、整数、小数,FP64 为双精度,FP32 为单精度,FP16 为半精度,还有 bfloat16 介于 FP32 和 FP16 之间。
通常都是浮点运算,还有更低的 INT8,即整数 8 位精度。做训练用的多 FP64\FP32\FP16\bfloat16,做推理一般是 INT8。 特斯拉的 FSD 是 36.864TOPS,是基于 INT8 的,而谷歌的 TPU V3 是 420TOPS,是基于 bfloat16,如果换成 INT8 精度,至少可以达到 600TOPS,但 TPU 不是针对 INT8 设计的,所以没有这个参数。一般来说,双精度到半精度就是 4 倍,但英伟达的比较特殊,它有可能分开两个针对不同精度的多核,比如英伟达的 GK104,每个 GK104 的 GPU 内含 1536 个 FP32 CUDA Core 和 64 个 FP64 Units ,单精度浮点数 理论峰值 = 2 GPU *1536 FP32 Core * 2 * 745MHz = 4.58TFlops,双精度浮点数 理论峰值 =2 GPU * 64 FP64 core * 2 * 745MHz = 0.19TFlops。英伟达的 Tesla T4 有 2560 个 CUDA 核对应 FP16,还有 320 个 TURring Tensor 核对应 FP32,FP32 算力为 8.1TFLOPS(浮点),FP16 精度为 65.13TFLOPS(浮点),INT8 精度下可达 130TOPS,INT4 精度下可达 260TOPS。
那么 Waymo 有没有可能用自己的独门武器 TPU V3 呢?
需要指出 TPU V3 并非是一块芯片,而是 4 片芯片构成的一块板卡,谷歌还有规模更大的 1024 个 TPU V3 组成 TPU V3 POD。TPU V3 采用液冷,每个芯片算力有 105TOPS,TPU 使用 bfloat16 数据。因为深度学习的矩阵运算瓶颈在存储带宽,TPU V3 不计成本使用了 HBM 内存,内存带宽 3516GB/s,是特斯拉的 10 倍以上带宽,FSD 不可能达到 36.8TOPS 的理想状态,某些时候,可能会下降一半。英特尔、英伟达和华为的此类高算力芯片都是不计成本采用昂贵的 HBM 内存,AMD 的民用级产品也有奢侈使用 HBM。
之所以这么做就是深知瓶颈在存储而非运算单元本身。TPU V3 未知其功耗,大多数人估计在 200-350 瓦之间,要达到 1000TOPS 以上,得 3 块 TPUV3,功耗高达 1 千瓦,显然更是远离车规了,而成本则会非常惊人。一块 TPU V3 估计价格在 5000 美元以上,3 块得 1.5 万美元。显然远离量产了。最重要的是 TPU V3 是针对训练设计的。车载需要的是推理部分。
Waymo 不大可能用 TPU V3,成本和功耗太高。 目前有关 Waymo 计算平台的唯一公开信息是 2017 年 9 月英特尔的新闻,英特尔声称自 2009 年以来,其一直与谷歌合作开发无人驾驶汽车,同时也与 Waymo 合作,为后者提供 Xeon 处理器、 Arria FPGA(用于机器视觉)以及千兆以太网的解决方案,以帮助 Waymo 无人汽车实时处理信息。EyeQ5 的算力只有 12TOPS,并且在今年才量产,显然 Waymo 是不可能用 EyeQ5 的。最大可能还是 Xeon 处理器加 Arria FPGA。
上图为英特尔设计的无人驾驶计算平台。虽然英特尔写的是 Arria 10 系列 FPGA,但针对深度学习加速,英特尔最常见的是 Stratix10。使用 FPGA 做深度学习加速的典型代表是微软,从 2015 年末开始,微软就在其购买的几乎每台新服务器上部署 Catapult FPGA 板卡。这些服务器被用于微软的必应搜索、Azure 云服务以及其他应用。这也使得微软成为了世界上最大的 FPGA 客户之一。当使用微软独创的 ms-fp8 数据格式(8 位比特精度)时,在 Stratix 10 FPGA 上可以得到 90 TFLOPS 的峰值性能。 Stratix 10 是英特尔 2015 年的产品。2019 底,Stratix 10 升级为 Agilex,Agilex FPGA 芯片基于第二代 HyperFlex 架构开发,相较于上一代的 Stratix 10 FPGA,性能提升了 40%,功耗降低了 40%,DSP FP16 半精度浮点性能最高 40 TFlops(每秒 40 万亿次)、INT8 整数性能最高 92Tops,收发器数据率最高 112Gbps。更高算力的有 Xilinx 的 ACAP 系列 FPGA,最高达 147TOPS(INT8)。
不过 FPGA 的功耗已经不是我们一贯印象中的那么低了,以英特尔 FPGA 的可编程加速卡来说,基于 Stratix 10 SX FPGA(280 万逻辑单元)的 D5005 可编程加速卡,已在 HPE ProLiant DL3809 Gen10 服务器中应用。TDP 高达 215 瓦,Givena specific airflow, the Intel FPGA PAC D5005 can dissipate up to 189 W ofpower,of which up to 137 W can come from the FPGA. 英特尔称一般情况下 D5005 功耗 189 瓦,FPGA 是 137 瓦。而英伟达的 T4 只有 75 瓦,芯片本身只有 70 瓦。D5005 价格也比较高,高达 1 万美元,当然其内部还有 2 个四通道小型可插拔(QSFP)接口,接口速度高达 100G,关键它是可编程的,贵有贵的道理。不过 Stratix 10 SX FPGA 芯片的价格至少也在 3000 美元以上,英伟达的 T4 单芯片价格应该低于 1000 美元。 因此使用英伟达 Tesla T4 的可能性最高,Waymo 可能降低了深度学习模型的精度,可能是 INT2 甚至 INT1,T4 在 INT1 下可达 1040TOPS 算力。
最后说一下 Waymo 的外观,这么多传感器裸露在外,特别是无人车有时行动迟缓,在路口反应不过来,很容易被追尾或剐蹭,这些精密的传感器先不用说更换的成本很高,安装传感器的复杂标定绝非一般 4S 店能完成的,特别是多个传感器合二为一,每一个重新安装都要标定,是单一标定还是联合标定,恐怕只有 Waymo 总部用昂贵仪器才能做到。这样的车保险费会高的惊人。 再有就是这些传感器裸露在外,难免会让小偷觊觎。另外这个巨大无比的车顶部分,传统车厂绝对无法接受,风阻问题就是消耗能源问题。 Waymo 为无人车努力了 11 年,全球最顶尖的人才汇聚,烧掉至少 200 亿美元,直到今天,还是工程样车的模样,离车规量产依然是遥遥无期。