7月22日上周六,地平线BPU算法负责人罗恒博士来到车库办公室,和二十余位用户朋友进行了一场面对面的线下交流。
交流面向高阶智驾的计算架构演进和地平线产品矩阵,包括芯片算力算法、数据收集处理,以及地平线芯片商业化落地流程,以下为罗博观点纪要:
软件2.0时代
相较于侧重规则实现的软件1.0,软件2.0阶段的发展基于数据驱动,并会往前走的越来越多。用自动化来对抗复杂性,通过对复杂场景源源不断的学习及处理,实现算法和模型不断的迭代,从而逼近自动驾驶最高处的皇冠。

汽车架构经历了从传统的分布式到域控方式的转变,未来更有可能朝向中央计算平台架构发展,车会越来越像一个计算机,而越来越集成化的端到端系统目前也是自动驾驶的最优方案之一。
软件的代际进阶对计算架构也产生着新的影响,那么如何构建出适合于软件2.0的计算架构?
从我们的角度来说,需要在软硬件结合的基础之上,用算力匹配实际的软件需求,使计算架构在面对纷繁复杂的算法时优先识别并服务于最核心的东西。

未来最终实现的自动驾驶系统大概率会是端云结合的状态,即在端侧做实时的估计,同时将遇到的问题收集到云端,然后云端用一个更长的周期去演进迭代。
算力与带宽
对于端侧的算力和带宽问题,当计算越多时需要的数据就越多,尤其从CNN到Transformer,这一点特斯拉在其下一代产品的规划中做了显著增强,同样算力下带宽增加了5倍左右。

从早期的自动驾驶系统我们可以看出,单有图像识别和物体识别远远不够,我们需要在多个摄像头视频流里以一个3D空间视角去做识别判断。
在征程5上,我们实现了BEV和Transformer的部分算法部署,多路摄像头共同进模型,然后模型将不同摄像头的数据最终在一个BEV的空间中达成一致,从而实现对其他车辆的轨迹预测、道路关键元素的关联关系预测,以及动静态物体的BEV感知预测。


地平线BPU架构
地平线其实是一个定位在端侧的软硬件结合的公司,我们前后大约演进了三代的 BPU,初代BPU面临的问题集中在低等级辅助驾驶方面,这一阶段我们的算法优化看重效率最高、性能,以及严格的成本功耗控制。

到了Bayes这一代,我们看到在低等级ADAS的价值之上,大家对诸如高速NOA之类的高阶自动驾驶有着很大的需求。这个需求的背后是对新算力的高阶期待,也是对通用性、灵活性的期待,因为在这些高阶自动驾驶需求面前,目前的软件算法方案还尚且不够成熟。
下一代BPU架构的演进,我们会在现有的基础上对Transformer进一步做全新优化,包括对环境时序预测及复杂环境交互式规则的持续预测。Transformer 本质上带来的不仅是单一方面的效率提升,它对长距离依赖的建模是以往的 RNN 和 CNN 都不具备的。
我们下一代的纳什架构作用于全车智能中心,会用在征程6上。首先它是一个BPU内部存储单元,也是一个紧耦合系统,紧耦合系统意味着这些单元之间在核内即可实现数据交互,不再需要通过DDR完成。

相比卷积网络,Transformer对高效的数据排布和数值精度要求较高,为此我们做了一个专用的数据变换引擎,通过一个硬件的加速单元高效地把数据进行排布,同时通过VAE和VPU两个加速单元来支撑数值精度。
在VPU里我们提供浮点能力,我们把这些浮点的能力用在计算Softmax和LayerNorm里最关键的部分。而VAE是一个整型的向量加速单元,用来提供大量的相对廉价的算力。
另外我们也定义了多向数据流动,BPU核内的多个TAE间可以做高效的数据流动,多个BPU核之间可以通过L2M数据流动,另外我们通过对TAE更加精细的设计来减少数据翻转,从而使功耗减少30%左右。
关于算力&体验&协同
在和部分OEM和车企的接触过程中,我们发现他们目前面临的绝大数问题来自软件方面,真正的硬件失效并不常见。那么,自动驾驶的问题在未来两三年能够解决吗?我认为大多数人或许都还没有看到一个明确能解决的趋势。

当高等级辅助驾驶应用越来越多,智能化能力需要同时兼顾车外路况和舱内状态。理想的结果是通过一种非常合理的、新的人机交互界面,保障在降低大家开车疲劳的同时,又能机敏且及时地保证车辆安全。
对于如何做自动驾驶这个问题,行业中的入局者们其实并非完全明朗,和软件供应商之间怎么分工协作其实也是一个相对开放的需要长期磨合的问题。
对于地平线来说,我们还是希望能够提供一些开放应用的软件平台,目前我们大概分为以下几种模式:
一种是我们提供算法工具链和参考模型;
另一种是我们的艾迪开发云,像特斯拉在持续增强的云端建设一样,我们期待通过越来越多的Corner case的收集,实现高效的自动化标注、训练、测试以及快速部署上车;
还有一种是关于基础开发的组件,我们通过提供与智驾相关的应用开发套件,帮助大家高效的完成开发集成以及验证工作。

在系统的智驾体系中,芯片提供的算力终归只是一个基础能力,消费者的体验升级需要芯片和上层的软件能力共同作用。
当前,芯片行业的技术水平参差不齐,我们希望持续优化我们的软件算法架构,通过更高效的和海量的数据收集,来实现体验提升。整个系统最终的体验,一定是软件算法方案、算力、数据等多方面的能力加成。
而对于任何一家企业来说,优化短板和突破瓶颈尤为重要,长板效应不见得有利于长期收益。