北京2024年10月21日 /美通社/ -- 随着自动驾驶算法技术的快速发展,基于BEV+Transformer的感知范式为高阶自动驾驶提供了更高精度感知、更强场景泛化能力和更优多模态融合的方案,是目前各大主流汽车厂商高阶自动驾驶方案的标配。当下主流自动驾驶方案的大模型算法参数规模在几千万至接近亿级,比以往最高提升了一个数量级,但苛刻的时延要求并没有降低,这对算力、数据IO和互联都带来了极大的挑战:大模型复杂的网络结构和算子推理,依赖于更高性能的车载算力;众多传感器的高频采集,带来了大规模数据流的实时IO吞吐需求;算力单元间的协同,也需要更强大的网络通信支撑。
近日,浪潮信息发布支持BEV+Transformer的全新自动驾驶计算框架AutoDRRT 2.0(Autonomous Driving Distributed Robust Real-Time),并第一时间开源,用户可以基于该框架快速搭建部署端到端的低延时自动驾驶方案,加速大模型上车。
基于在车载计算、自动驾驶算法、软硬协同等领域的研发积累,浪潮信息从硬件系统、软件环境、应用框架及算法内核多个层面对AutoDRRT2.0进行优化,实现计算、通信、IO全面升级,优化后,框架整体端到端链路延时低于100 毫秒,保障车载大模型的高效稳定运行。
BEV+Transformer成为自动驾驶标配,车端部署面临挑战
利用相机进行纯视觉感知是自动驾驶的主要技术路线之一。但在相机2D视角下,物体由于遮挡会产生不可避免的视觉盲区问题。BEV (Bird's eye view,鸟瞰图) 从俯视视角重建3D感知空间,不仅能够提供360°全域感知信息,还便于多源、多模态的数据融合,有利于自动驾驶高效感知、定位和路径规划。
纯视觉方案在物理上会损失感知目标的深度信息,BEV技术借助Transformer特征推理,可将2D透视空间映射到3D物理空间。Transformer大模型通过交叉注意力机制重建深度特征,具有精度上限高、泛化能力强等优点,并通过学习建立数据帧间的关联,在4D (3D+时序) 空间生成无盲区的全方位感知结果,确保驾驶安全。这种BEV+Transformer的感知范式正在成为自动驾驶标配,但在车端部署应用中仍面临计算、通信、IO等方面的多重挑战。
模型参数量大幅提升,算力需求骤增:从2D+CNN小模型到BEV+Transformer大模型,参数量的大幅提升给计算带来越来越大的挑战,车端模型部署不仅要考虑单SOC的计算性能优化,如低比特量化、算子融合等,而且要考虑多SOC的模型并行问题,实现多SOC的协同,包括算法拆分、模型的并行机制、SOC间的负载均衡与pipeline优化等。
通信带宽不足,时延需求严苛:车载计算经历从2D+CNN小模型到BEV+Transformer大模型的技术升级,并最终朝着端到端大模型的方向发展,这使得数据交互也逐步从目标级过渡到特征级,最终向数据级维度演变。数据通信量增加使得多SOC协作中的通信负荷急剧变大,设备间的通信开销逐渐成为框架的延时瓶颈。作为主流的通信中间件,DDS (Data Distribution Service, 数据分发服务) 仅支持以太网进行设备间的数据传输和调度。该模式受限于有效带宽和传输协议的限制,在大批量数据吞吐的情况下容易发生阻塞,导致通信效率下降。以典型多模态感知模型BEVFusion为例,其在单SOC上单帧推理的时间约50 ms,若双SOC推理时间降至约30 ms,然而设备间通过千兆以太网和DDS进行特征融合的通信耗时也在数十毫秒,通信延迟抵消了算力提升带来的性能优势。因此,车端部署大模型亟需更高速的数据通信带宽。
数据吞吐提升,IO制约计算:自动驾驶框架层面的感知任务包含原始数据的接入 (传输+调度) 和模型推理等多个部分。数据的调度包含大量逻辑操作,需要CPU运行,而模型推理则主要为AI运算,由GPU执行,DDS则提供通信服务支持。但由于DDS不支持GPU层面上的通信和调度,导致跨模型/节点的任务数据在CPU-GPU间的冗余搬运,出现IO消耗。随着自动驾驶技术的发展,车辆各类传感器数据呈爆发性增长趋势,大量数据的传输让IO问题日益凸显。在浪潮信息自动驾驶研发团队的实测中,数据IO耗时占完整链路的15%~30%,IO限制计算效率的发挥。
全新推出AutoDRRT 2.0,计算、通信、IO全面升级
浪潮信息团队通过计算、通信、IO全面升级,研发AutoDRRT 2.0,解决技术进化带来的各项挑战。
为了实现"大模型上车"的目标,AutoDRRT 2.0从计算组件的分布式、高容错及低延时三个核心特点出发进行技术革新,实现框架支持BEV+Transformer低延时推理。
分布式:从任务级并行到数据级并行。浪潮信息车载域控制器EIS400通过多SOC的PCIe互连实现算力扩展。AutoDRRT 2.0框架采用分布式架构设计,选择将200+个功能节点部署在不同SOC上并行执行,通过自动分布式并行工具进行任务间的调度和设备的负载均衡,节点间通过DDS中间件进行通信和协作,从而实现任务级并行计算加速。同时,AutoDRRT 2.0利用BEV算法使用多环视相机补盲进行全域感知的特点,选择将异源数据的编解码流分配到SOC上不同的计算单元,实现算法单batch推理的数据并行,进一步提高硬件使用效率,降低计算延时。
高容错:从算法间容错到算法内容错。在复杂工况下保障计算平台的稳定运行也是框架设计的核心要点之一。AutoDRRT 2.0通过备份重要功能节点和关键消息,在主算法失效后实时 (< 1ms) 切换从算法,实现算法间无感容错,达到失效可操作。同时,浪潮信息自动驾驶研发团队进一步从算法内核层面升级,开放了面向多模态任务的高鲁棒性低延时自动驾驶感知算法BEVFusion_Robust,在原始代码基础上通过高性能Lift-Splat-Shoot算法解绑相机流和雷达流,并基于流并行的方式,在BEV统一表征下适配多检测头实现了自动驾驶多源传感器融合感知方案中的鲁棒性需求,使得框架在纯视觉、纯雷达及多模态下均可以稳定运行,延时较基础版本下降22%。模型现已集成在AutoDRRT 2.0高性能算法库。
低延时:算法内核全面优化,降低运行时延。为降低大模型运行时延,AutoDRRT 2.0在算法内核层面进行改造,包括对典型BEV模型进行Post-Training Quantization量化,提高推理效率,并引入结构化稀疏N:M稀疏方案,提高了内存访问效率,不影响模型精度的基础上压缩模型规模,节约计算和存储成本。AutoDRRT 2.0还开发了高性能算子库,典型算子延时下降70%。通过算子融合的方式,大模型可以减少GPU在核函数之间的切换,进一步优化了性能。以BEVDet为例,AutoDRRT 2.0的BEV算法库在典型推理能力上实现了相较于业界开源版本速度提升1倍,在单SOC上推理超过50 FPS。实车测试显示,浪潮信息车载域控制器EIS400与AutoDRRT 2.0的自动驾驶算法方案,数据闭环端到端延迟低于100毫秒,确保了大模型在车端的稳定高效运行。
为提升通信带宽,AutoDRRT 2.0在中间件层面进行创新,给出DDS的Opt优化版本 (DDS_Opt)。框架通过PCIe内存共享方式和设备间的直接访问 (Direct Memory access,DMA) 技术,使得大数据在设备间可以高速通信,同时开放API接口,一方面保留了DDS订阅/发布的功能特点,另一方面也使得用户不需要关心底层设备间地址映射逻辑和实现方法,专注于DDS应用层上的设计。
基于PCIe的通信模式创新大幅降低链路时延,减少CPU算力消耗,同时能兼顾DDS中的发布/订阅等通信协议的优势,满足跨SOC的大数据通信场景需求。实测DDS基于PCIe的通信模式在通信原理和实际效果中均优于以太网,大文件传输时效果尤其明显。我们基于PCIe模式实现ROS2+DDS的跨设备大数据通信应用,在数据量达到100MB时完整链路通信效率较以太网模式提升14倍。
为了提高感知任务的执行效率,减少CPU-GPU间冗余IO操作,优化链路延时,AutoDRRT 2.0在不改变原始模块链路的前提下,以传输数据"标签"的间接通信代替传输数据"本体"的直接通信,通过节点间GPU数据共享,在保留模型间松耦合结构的同时完成了基于DDS的高效能协作,实现"轻量化"传输和调度功能,减少框架负荷。
对于相机传输链路,通过GPU数据共享完成数据获取及模型推理两个ROS2节点的数据通信,可以有效减少IO操作,降低系统时延。如下给出典型的单帧图像数据读入(8 MB数据量)下IO_Opt升级效果,对比优化前模块 (传统IO算法) 延时下降85%,效率提升近6倍。
此外,AutoDRRT 2.0框架为BEV+Transformer大模型上车提供了完善的开发工具链,包括模型的数据标定、训练推理和部署加速工具等,同时整合了完善的传感器接入方案,集成主流型号的激光雷达、相机、毫米波雷达、组合惯导等设备驱动,支持用户在系统层面对框架进行监控和管理。仿真方面,该框架还开放了RoboBus和GolfCar两个L4级自动驾驶场景的系统测试。浪潮信息希望通过自动驾驶计算框架AutoDRRT 2.0和车载域控制器EIS400的一系列创新技术和产品,为汽车厂商、自动驾驶软件开发商带来更高性能、更高通信带宽、更低IO延时的自动驾驶软硬优化车载计算方案,加速BEV+Transformer技术的大规模上车应用。