ADAS落地 | 自动驾驶的硬件加速

简介: 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.

相关文章
|
存储 安全 Shell
深入浅出操作系统:从原理到实践
【9月更文挑战第21天】在数字时代的浪潮中,操作系统扮演着至关重要的角色。本文将深入探究操作系统的奥秘,从其基本概念和核心原理出发,逐步引导读者理解操作系统的工作机制。我们将通过生动的例子和实用的代码片段,揭示操作系统如何管理计算机硬件资源、提供用户接口以及确保系统安全与性能优化。无论你是初学者还是有一定基础的开发者,这篇文章都将为你打开一扇通往操作系统深层世界的大门。准备好跟随我们的脚步,一起探索这个让计算机变得生动起来的神奇软件吧!
349 8
|
并行计算 Ubuntu Docker
apollo快速入门之安装指南
apollo快速入门之安装指南
329 3
|
Prometheus Kubernetes 监控
Kubernetes 性能调优与成本控制
【8月更文第29天】随着 Kubernetes 在企业中的广泛应用,如何有效地管理和优化 Kubernetes 集群的性能和成本成为了一个重要的课题。本篇文章将介绍 Kubernetes 性能监控的基础知识,以及一些实用的成本优化技巧,包括资源配额的设置、Pod 密度的提高和集群规模的合理调整。
767 1
|
缓存 NoSQL Java
RedisTemplate操作Redis,这一篇文章就够了
redis是一款开源的Key-Value数据库,运行在内存中,由C语言编写。企业开发通常采用Redis来实现缓存。同类的产品还有memcache 、memcached 等。
2850 1
|
运维 Cloud Native 云计算
云计算:重塑数字时代的基石与未来展望
云计算作为数字时代的基石,正以前所未有的速度推动着全球科技的进步和产业的升级。从基础概念到核心技术再到应用场景和未来趋势,云计算的每一步发展都充满了无限可能。我们相信在未来的日子里随着技术的不断进步和应用的不断深入云计算将会为我们带来更加便捷、高效、智能的生活体验和工作方式。让我们共同期待并参与到这场伟大的变革中来共同创造更加美好的未来!
308 0
|
12月前
|
安全 Java 数据安全/隐私保护
如何配置 Java 安全管理器来避免访问控制异常
配置Java安全管理器以防止访问控制异常,需在启动JVM时通过 `-Djava.security.manager` 参数启用,并设置安全策略文件,定义权限规则,限制代码执行操作,确保应用安全。
786 1
|
12月前
|
自然语言处理 数据中心
Scaling LLM Test-Time Compute Optimally: 一种更有效的方法
【10月更文挑战第14天】本文探讨了大型语言模型(LLMs)在测试时通过增加计算资源来提升性能的可能性。研究发现,通过优化测试时计算的分配,特别是采用基于过程的验证器搜索和自适应更新响应分布的方法,LLM可以显著提高对复杂问题的应对能力,甚至在某些情况下超越更大规模的模型。论文提出了“计算最优”策略,旨在根据问题难度自适应调整计算资源,以最大化性能提升。未来工作将聚焦于增强测试时计算缩放、快速评估问题难度及实现自我改进循环。
479 6
|
12月前
|
搜索推荐 数据挖掘 UED
分享一些利用商品详情数据挖掘潜在需求的成功案例
本文介绍了四个成功利用商品详情数据挖掘潜在需求的案例:亚马逊通过个性化推荐系统提升销售额;小米通过精准挖掘用户需求优化智能硬件生态链;星巴克推出定制化饮品服务满足用户多样化口味;美妆品牌利用数据改进产品配方和设计,制定针对性营销策略。这些案例展示了数据挖掘在提升用户体验和商业价值方面的巨大潜力。
【Python的魅力】:利用Pygame实现游戏坦克大战——含完整源码
【Python的魅力】:利用Pygame实现游戏坦克大战——含完整源码
|
机器学习/深度学习 数据采集 自动驾驶
深度学习之点云在预处理时的增强策略
在深度学习中,点云数据的增强策略主要用于提升模型的泛化能力和鲁棒性。点云是一种表示三维数据的形式,由一组三维坐标点组成,广泛应用于计算机视觉、自动驾驶和机器人等领域。对点云数据进行预处理和增强可以有效提高模型的性能。
322 4