ADAS落地 | 自动驾驶的硬件加速
点击下方卡片,关注「集智书童」公众号
自动驾驶车辆中的计算平台通过许多传感器记录大量数据,通过机器学习模型处理数据,并做出决策以确保车辆的安全运行。快速、准确和可靠的决策至关重要。传统的计算机处理器缺乏高级自动驾驶任务中感知和机器视觉需求所需的功率和灵活性。
硬件加速器是专用的协处理器,帮助自动驾驶车辆满足更高级别自主性的性能要求。本文概述了机器学习加速器,并通过自动驾驶车辆中机器视觉的实例展示了它们的应用。作者为研究人员和实践者提供建议,并强调了这一新兴领域持续和未来研究的轨迹。
1、简介
自动驾驶车辆既属于移动自主机器人领域,也属于汽车领域 。自动驾驶出租车是自动驾驶车辆的显著新兴市场和机会之一。机器学习和深度学习的进步直接促进了车辆自主性的提升。自动驾驶的机器学习加速器正在实现新的自主性和性能水平。
本文第2节在自动驾驶的背景下概述了机器学习加速器,其中包括机器学习加速器的架构风格。
第3节提供了机器学习加速器如何提升自动驾驶车辆中机器学习工作负载性能的示例,重点关注机器视觉用例。最后,本文总结了机器视觉和自动驾驶开发的影响,为研究人员和实践者提供了一些建议,并勾勒了机器学习加速器未来研究的轨迹。
2、背景
机器人在对环境做出决策时,是自主的,而不是遵循预先编程的指令。它们通过多种技术实现自主性,包括信号处理、控制理论和人工智能。自动驾驶车辆是一种安全关键系统,具有在其他形式的机器人中不存在的有关时间、调度、性能和安全的约束。美国汽车工程师学会(SAE)为执行部分或全部动态驾驶任务(DDT)的车辆定义了六个自动化级别(从Level 0到Level 5)。
在0到3级别中,必须有人类驾驶员。在4级(L4)和5级(L5)自动驾驶系统中,没有人类驾驶员,必须在复杂多样的条件下实现自主且安全的运行 。自动机器人需要感知和理解其环境,这通过使用测量环境某些方面的各种传感器来实现。感知和理解的最常用传感器是摄像头、雷达和激光雷达。
机器学习越来越多地被用于实现自动驾驶功能。在自动驾驶的背景下,机器学习是使车辆能够识别和应对复杂、动态环境的关键工具。通过利用大量数据集和强大的算法,机器学习可以帮助自动驾驶车辆识别物体、导航道路,并实时做出决策。新的机器学习模型不断涌现,并在移动机器人和自动驾驶领域找到应用。例如,研究人员使用深度学习来训练自动驾驶车辆识别和避免道路上的障碍物、行人和其他车辆。自动驾驶的机器学习模型通常在公共云或数据中心中进行训练。针对自动驾驶的训练模型会部署到自动驾驶车辆上的计算平台上并在其中执行。
自动驾驶车辆中的计算平台的能力是决定机器学习模型成功性能以及车辆自主操作成功的关键因素。传统的中央处理器不足以处理机器学习工作负载,以满足安全和有效自动驾驶所需的性能标准。虽然对许多基于人工智能的工作负载有用,但图形处理单元(GPU)只是越来越丰富的协处理器生态系统中的一个工具,被称为机器学习加速器。
挑战在于设计具有足够高性能的计算系统,以满足运行越来越复杂的机器学习模型的需求。对于L4+系统而言,挑战比L2和L3系统复杂得多且要求更高。安全要求更为复杂,风险更高。必须考虑冗余情况。速度、性能和延迟要求都要高得多。在L4+中,机器学习模型更为复杂。传感器更多,导致数据量和数据处理需求更大。3D目标检测、目标跟踪和轨迹规划都是需要增加计算能力的自动驾驶功能。机器学习加速器需要应对这些挑战,并提供传统计算架构所不具备的设计选项。
硬件加速器并不是一个新概念。浮点协处理器、图形处理单元(GPU)和视频编解码器是熟悉且广泛使用的示例。新的是为处理机器学习工作负载而专门开发的特殊目的硬件加速器,被统称为机器学习加速器,用于处理机器学习工作负载。[Reuther等人,2022]总结了商业机器学习加速器的最新趋势。图1突出显示了机器学习加速器存在于一个连续体上,并可以从灵活性、应用、吞吐量和成本等多个维度进行比较。
例如,在一个端,CPU具有对广泛应用的一般灵活性。虽然它们可以执行机器学习工作负载,但它们没有针对此类工作负载的特定支持。在连续体的另一端,神经处理单元(NPU)旨在为专用机器学习工作负载提供增加的性能,但代价是对通用应用的灵活性较小。
ASICs具有高度的并行处理能力和相对较低的成本,但缺乏灵活性,只适用于特定的用例。因此,系统设计者需要在考虑到适应其应用需求的情况下平衡各种处理资源。大多数创新都集中在优化计算架构光谱的组合,以适应特定的应用。这些加速器通常使用硅CMOS逻辑技术,其中硬件制造和软件基础设施最成熟和先进,以在最小成本下获得最高性能。
没有一个明确的标准集来定义处理器或其他硬件元素是否符合汽车级别。然而,对于在自动驾驶中使用的处理器(与车辆娱乐系统中使用的芯片不同),必须满足一定的标准和操作条件。它们通常需要符合ISO 26262功能安全标准 [ISO 2018] 的汽车安全完整性等级(ASIL)评级。汽车合格处理器的其他常见特征包括工作温度范围从-40°C到125°C或150°C,并支持汽车特定的通信协议和信号接口。机器学习硅还应该根据AEC-Q100标准和AEC-Q104多芯片IC可靠性标准进行合格认证。其他系统考虑因素包括防止静电放电以及支持失效模式效应和诊断分析(FMEDA)。
3、将机器视觉工作负载与处理器架构相匹配
这些引擎主要用于自动驾驶机器视觉任务中的核心机器学习处理。图2显示了在AV中使用的3种主要传感器模态的常见处理阶段。图2显示了每个阶段处理的一些常见示例任务。尽管最先进的机器视觉算法利用了机器学习,但在完整的机器视觉流水线方面,也有很多工作是在CPU或DSP上执行的。基于硬件的机器学习加速器在对相机、雷达和激光雷达数据进行核心机器学习处理方面非常有用。
对功能安全和网络安全的支持是基本要求。要考虑的设计权衡包括性能、功耗和成本。影响系统性能的因素包括芯片上的内存(如HBM、SRAM)、芯片外的内存(如DDR)和核心时钟频率。数据移动的成本很高,也是系统延迟的主要贡献因素之一。
作者需要考虑用于连接系统中多个芯片的互连选项的相对优势。选项包括PCIe、MIPI、以太网和GMSL。特殊的总线结构、非均匀内存访问和定制的高速缓存一致性机制可以通过将来自多个来源的内存视为单个可寻址的块来提高性能,而不是在多个块之间移动数据。软件和工具支持是一个不同iating因素,涉及开发工作量、维护成本以及对整体系统架构的影响。
4、总结
自动驾驶车辆中的机器视觉应用使用来自各种传感器(包括相机、雷达和激光雷达)的数据,使车辆能够感知其环境。在这些应用中,有各种处理器架构可供选择用于处理数据。一些任务更适合于通用架构,如CPU和GPU。其他任务可以从专用处理架构(如神经处理单元、DSP或ASIC)中受益。
为特定任务选择合适的架构有助于满足自动驾驶中机器视觉应用的安全和性能要求。作者正在研究用于支持L4+自主性的自动驾驶系统的ML加速器架构。他们正在设计利用ML加速器能力的下一代自主性计算系统。持续进行的和未来的研究将深入分析使用来自各种传感器(包括相机、激光雷达和雷达)的数据的特定机器视觉用例。
5、参考
[1].Hardware Accelerators in Autonomous Driving.
Fast-BEV的CUDA落地 | 5.9ms即可实现环视BEV 3D检测落地!代码开源
南京大学提出量化特征蒸馏方法QFD | 完美结合量化与蒸馏,让AI落地更进一步!!!
英特尔提出新型卷积 | 让ResNet/MobileNet/ConvNeXt等Backbone一起涨点
扫码加入👉「集智书童」交流群
(备注:方向+学校/公司+昵称)
前沿AI视觉感知全栈知识👉「分类、检测、分割、关键点、车道线检测、3D视觉(分割、检测)、多模态、目标跟踪、NerF」
欢迎扫描上方二维码,加入「集智书童-知识星球」,日常分享论文、学习笔记、问题解决方案、部署方案以及全栈式答疑,期待交流!