自动驾驶汽车、智能机器人、自主机器、无人驾驶飞机有什么共同点?它们都使用边缘计算技术运行。边缘计算机是专门构建的计算机,旨在靠近数据源运行,也就是说,它们不依赖于远程处理能力。
虽然这个概念可能看起来微不足道,但许多工程师将边缘视为计算领域的最新前沿。随着该技术的进步,它可能会给许多行业带来革命性的变化。当然,如果没有数据,即使是最强大的计算机也是无用的,对于边缘计算来说也是如此。
在这里,我们将探讨自动驾驶车辆边缘计算应用中使用的顶级传感器。我们还将探究各公司如何不断使用迭代式机器学习来训练他们的边缘计算设备。
什么是边缘计算?
计算世界占用了大量的处理能力和方法。一般来说,计算机和数据中心的处理能力是通过它们每秒可以处理的浮点运算量 (FLOPS) 来衡量的。
2022 年,地球上最强大的计算机是日本的 Fugaku 超级计算机,运行速度为每秒 442 千万亿次或 442,000 TOPS(每秒万亿次运算)。通常,专门从事机器学习、人工智能和并行计算的计算机都使用 TOPS 测量进行基准测试。随着时间的推移,超级计算机速度能力的提高已经稳步增长到每秒百万兆次浮点运算 (1,000,000 TOPS) 速度范围。
作为现实世界的参照,一部 iPhone 13 在苹果的 A15 仿生芯片上运行,可以达到 15.8 TOPS。请记住,如今的手机比二十年前世界上最快的超级计算机还要强大。
数据中心凭借其惊人的处理能力以及持续用于机器学习和神经网络训练应用而闻名。但是,利用它们的处理速度需要连接到数据中心,无论是直接连接还是虚拟连接。
边缘计算技术大量用于无法或不需要连接到数据中心的应用中。例如,假设在一辆行驶的车辆上收集了大量实时视频数据。在这种情况下,您可能只在本地运行人工智能图像识别,而不是在数据中心。
这是因为无线互联网连接速度无法支持使用标准云计算数据模型的必要实时数据传输。
边缘优势
让我们考虑一个自行车骑车人的例子:如果人工智能对骑车人的正确识别是汽车避开骑车人和撞上他之间的区别,那么就应该采取一切安全措施,确保避障算法能够尽快识别并做出反应。
虽然理论上数据中心可能比部署在“边缘”的计算机更能有效地识别骑车人,但边缘计算机在自动驾驶汽车、传感器和控制系统中的通信延迟为零。
因此,“边缘计算”一词适用于任何能够在源头或边缘处理数据的计算设备,而不是在数据中心、工作站或其他固定位置的计算机。
边缘计算支持实时数据处理,因为它使用复杂的算法来实时处理数据。因此,需要实时数据解释时,以及在与外部处理服务器的连接不可行或不安全的情况下,边缘计算是可取的。
然而,边缘计算机不具备数据中心常见的处理能力,也不允许像标准数据中心那样消耗大量的能源。相反,现代边缘计算机的处理速度可以维持在 1 TOPS 以下到几百 TOPS。
NVIDIA 是 Arrow.com 的合作伙伴,也是边缘计算领域的行业领导者,提供一系列边缘计算解决方案,从运行速度为 0.472 TOPS 的 JETSON Nano,到运行速度高达 320 TOPS 的 Jetson DRIVE AGX Pegasus 不等。查看我们关于如何设置 NVIDIA JETSON Nano 的文章,了解更多信息。
自动驾驶汽车传感器
鉴于其实时数据处理能力,边缘计算自然成为自动驾驶汽车技术的支柱。然而,这些数据并不是由计算机生成的,而是由众多传感器生成的,这些传感器组成了自动驾驶汽车外围的“眼睛”和“耳朵”。
自动驾驶汽车的传感器拓扑结构可能有很大的不同,即使在同一行业领域内也是如此。例如,在自动驾驶汽车个人汽车领域,顶级竞争者如特斯拉、Cruise 和 Aurora Innovations 的各种传感器套件,都没有成功实现 5 级自动驾驶功能。
要了解有关自动驾驶人工智能不同级别的更多信息,请查看自动驾驶汽车技术的 5 个级别。
与此同时,自主送货机器人,如 Nuro 车辆,以及其他不载人的车辆,如谷歌 Waymo 的街景车,已经更接近完全自动驾驶能力。
大多数自动驾驶传感器在本质上是相似的,它们收集周围世界的数据来帮助驾驶车辆。例如,第三代 Nuro 车辆包含摄像头、雷达、激光雷达和热像仪,以提供车辆周围环境的完整、多层次视图。
目前,一辆特斯拉使用 8 个摄像头、12 个雷达和一个前向雷达系统,但比 Nuro 车辆更依赖摄像头视觉效果。谷歌的 Waymo Driver 主要依靠激光雷达,并使用摄像头和雷达传感器来帮助绘制周围世界的地图。
机器学习如何在自动驾驶汽车中训练人工智能
在所有自动驾驶汽车和车辆中收集的传感器数据的价值取决于传感器本身下游的计算方法。在许多方面,特斯拉、Waymo、Aurora Innovations 和 Nuro 等公司最有价值的知识产权是为处理和操作传感器数据而构建的软件和数据基础设施。
完全自主性领域的竞争赢家不是由拥有最佳传感器硬件的公司决定,而是由谁能够最准确、最有效、最安全地利用他们的传感器数据来决定。
如今,道路上行驶的所有自动驾驶汽车都使用边缘计算人工智能程序,这些程序通常使用数据中心机器学习模型进行训练。自动驾驶汽车机器学习模型只有在现代数据中心的计算能力能够达到数百万亿次浮点运算的情况下才成为可能。
这些庞大的机器学习模型的计算要求远远超过了边缘计算机的计算能力。鉴于这些信息,数据中心通常用于建立部署在边缘的算法。
比方说,一个人学习高等代数需要几年时间,但一旦理解了代数,他就可以快速准确地完成代数问题。
训练一个人工智能算法也是类似的;在高功率数据中心,这需要数百个计算小时。然而,一旦学会了该算法,它就可以使用少得多的计算能力快速准确地利用该算法。
自动驾驶汽车如何实施和使用人工智能
自动驾驶汽车技术完全依赖于人工智能的成功、车辆传感器的准确性以及强大的机器学习数据中心。
虽然处理自动驾驶汽车应用的机器学习模型可能需要数百或数千千万亿次的计算能力,但这些高度复杂的算法可以在边缘使用仅支持数百 TOPS 能力的硬件来处理。随着现代边缘计算机的计算能力越来越强大,毫无疑问,全自动驾驶汽车已经近在眼前。