亚马逊AWS官方博客
联想车计算携手亚马逊云科技进行软件定义汽车新实践——基于 SOAFEE 架构和 SOCA 构建智驾超算平台
行业背景及用户需求
随着 Transformer 模型在智能驾驶算法中的广泛应用,对算力、网络存储、安全及运维等方面提出了更高的要求。为了支持智能驾驶算法的开发和验证,需要投入更强大的计算资源,提供稳定、高速的网络连接,以及具备足够的存储容量和高效的存储设备,采取有效的数据安全保护措施,确保数据的安全性和保密性,此外还需要高效的运维手段和工具保障服务可用性。
- 算力资源需求:Transformer 模型通常包含大量的参数和复杂的计算操作,对计算能力有较高的需求。在智能驾驶算法开发和验证阶段,需要进行大规模的训练和优化,以及实时的推理和决策。因此,需要更强大的计算资源,如高性能的 GPU 或专用的 AI 芯片,以支持模型训练、推理和实验的高效进行。在开发验证阶段,企业往往批量采购高性能开发套件,但一次性大批量采购的高昂成本及到货周期是巨大的挑战。
- 网络存储需求:智能驾驶算法开发和验证涉及大量的数据传输和通信,如各类传感器数据、模型文件及日志等。在分布式计算和协同开发的环境中,需要稳定、高速的网络连接,足够的存储容量和高速的存储设备,以支持数据的共享和协作。此外,在实时数据采集和处理的场景中,需要低延迟的网络连接,以确保实时和快速的数据传输。企业自行采购和部署网络存储设备需要企业承担大量的资金投入及时间投入。
- 数据安全需求:在智能驾驶算法开发和验证过程中,涉及大量的数据传输流动。保护这些数据的安全性是至关重要的。因此,需要在算法开发和验证环境中采取严格的数据安全措施,如数据加密、访问控制和安全传输协议等,以防止数据泄露和非授权访问。数据安全是一个复杂而庞大的领域,构建和维护一个完整的数据安全体系需要企业大量的资金及专业技术人员投入。
- 系统运维需求:为保障智能驾驶算法开发及验证工作的正常开展,企业需要构建一个专业团队对硬件、网络、存储及安全进行持续不断的安装、配置、监控和故障排除。支持智能驾驶算法的开发和验证将给运维团队带来更高的挑战,需要他们具备相关的技术能力和经验,以有效地管理和维护所需的硬件、网络、存储和安全环境。
本文介绍联想与亚马逊云科技以 SOAFEE(Scalable Open Architecture For Embedded Edge)架构为基础,聚焦智能驾驶数据闭环的模型开发、仿真及验证领域,共同探索构建云边一体的混合云智能驾驶超算平台。
该平台为汽车软件开发团队提供了一种创新的解决方案,帮助团队成员(包括设计、开发、集成、测试和运维人员)摆脱硬件和地域的限制,从而更高效地开展软件开发工作,平台采用云服务的方式,可以通过按需付费模式提供计算资源,从而降低了企业的成本和风险。与传统虚拟仿真系统或云开发平台相比,该方案具有显著的优势。
解决方案
本方案基于亚马逊云科技云服务及本地计算服务,构建云边一体的混合云智能驾驶超算平台,通过这种平台,开发人员可以更加高效地进行智能驾驶系统的开发和测试,降低硬件成本和运维难度。
为实现算力的有效管理,在亚马逊云科技构建 SOCA(Scale-Out Computing on AWS)平台,该平台根据任务需求动态分配云上及线下资源,确保每个任务都能在最优的环境下运行,从而高效地调度智能驾驶开发及验证任务。
为了提供强大的算力支持,在联想本地机房部署了 Drive AGX Orin Kit,Drive AGX Orin Kit 使用的 Orin SoC 为车规级算力芯片,对云端 S3/EFS 存储的采集数据进行 HiL 验证,为智能驾驶算法的开发及验证提供了坚实的算力基础。同时,为保障数据传输安全和网络安全,通过 VPN 将 Drive AGX Orin Kit 与 SOCA 平台连接,确保数据的安全传输。
为了提供灵活的服务,通过本平台,以云服务的方式为客户提供智能驾驶算法 SiL 云端及 HiL 线下开发及验证方法。这种云服务模式不仅使客户能够轻松扩展服务规模以满足不断增长的需求,还为客户提供了方便的远程访问能力,使他们可以随时随地使用服务。
系统架构图
在云上搭建 SOCA 平台,用于用户登录管理、 WebUI(网络用户界面)、存储管理及集群作业调度及管理。通过构建 Public 及 Private Subnet 将资源进行隔离,线上线下算力资源部署在 private subnet,线下设备通过 OpenVPN 同云端进行连接,通过 VPN 进行数据传输。WebUI、调度管理均部署在 Public Subnet。
系统主要组件及功能如下:
- 搭建 Amazon OpenSearch Service 集群,用于存储任务和主机信息。
- Elastic Load Balancing 用于确保跨可用区的可访问性,保障平台资源高可用。
- 使用 Amazon Elastic Compute Cloud(Amazon EC2)实例构建调度器,用于动态预置用户提交任务所需的云上资源。该实例还托管了 SOCA Web UI,以允许用户和管理员与环境交互。
- 启动使用 NICE Desktop Cloud Visualization(DCV)的 2D 或 3D 工作站,作为远程桌面工具,用于提交批处理任务和运行 GUI 工具。
- 使用 Amazon Elastic Compute Cloud(Amazon EC2)实例搭建 OpenVPN Server,加密连接云上及线下资源,将 VPN IP 网段加入路由表,保护 Private Subnet 内网资源。
- 线下使用 NVIDIA Drive AGX Orin Kit 作为 HiL 仿真计算资源,安装 OpenVPN Client 接入亚马逊云科技网络。
- 使用的安全服务和资源包括 Secrets Manager、Certificate Manager、安全组和 Identity and Access Management(IAM),保障平台安全。
- 部署用于存储客户数据的 Amazon Elastic File System(Amazon EFS)、用于持久性日志的 Amazon Simple Storage Service(Amazon S3),以及可选的并行文件系统 Amazon FSx for Lustre。
- Lambda 用于验证所需的先决条件,并为应用程序负载均衡器(ALB)创建默认的签名证书,以管理对 DCV 工作站会话的访问。
构建系统的步骤
先决条件
- 拥有亚马逊云科技账户和 Admin 用户权限,部署在北京 Region
- NVIDIA Drive AGX Orin Kit
本次实践的搭建有三个部分:
- 在亚马逊云科技构建 SOCA 平台
- 本地的 Drive AGX Orin 环境搭建
- 构建 VPN,加密连接亚马逊云科技云服务及本地 Orin
- Orin 端配置 PBS,实现 SOCA 调度管理
具体实施方法
1. 在亚马逊云科技构建 SOCA 平台
SOCA(Scale-Out Computing on AWS)是一种可帮助客户部署和操作多⽤户环境,从而支持计算机辅助工程(CAE)等计算密集型⼯作流的开源解决⽅案,本实践使用 SOCA 作为算力资源调度平台及任务编排平台,通过对 SOCA 的功能修改,实现混合云架构的超算平台搭建。
SOCA 基础部署参见亚马逊云科技上的扩展计算解决方案。
2. 本地 Drive AGX Orin Kit 环境搭建
本地部署 NVIDIA Drive AGX Orin Kit,设备连接互联网。
NVIDIA Drive AGX Orin Kit 构建以下软件环境,具体软件部署过程可自行参考相关教程:
- NVIDIA DRIVE OS 6.0.5 (Ubuntu 20.04)
- CUDA 11.4
- DriveWorks 5.8
- TensorRT 8.4.12
3. 构建 VPN,加密连接亚马逊云科技云服务及本地 Drive Orin
通过 VPN 的搭建,将 NVIDIA Drive AGX Orin Kit 连接到 SOCA 平台,既保障数据传输的安全,又实现 NVIDIA Drive AGX Orin Kit 与 SOCA 的网络环境融合,允许 SOCA 对 NVIDIA Drive AGX Orin Kit 的管理调度。
云端部署 OpenVPN Server,该 Server 部署在 Public Subnet 中的 EC2 实例,参考部署方法见亚马逊云科技上快速搭建 OpenVPN 服务器。
注意:配置 OpenVPN Server 时,需要勾选源/目标检查为停止。OpenVPN 的网段加入 Private/Public Subnet 安全组。
NVIDIA Drive AGX Orin Kit 部署 OpenVPN Client,参考部署方法参见使用 OpenVPN 客户端应用程序进行连接。
4. NVIDIA Drive AGX Orin Kit 安装并配置 OpenPBS,实现 SOCA 调度管理(以下步骤未特殊说明均在 Orin 端执行)
1. OpenPBS 安装脚本,共 3 个文件
2. 从 EFS 挂载 SOCA 所需的目录
3. 执行安装脚本
4. 启动 OpenPBS 等相关服务
5. 为 admin 用户增加 Nvidia 相关系统权限
6. 将 Orin 加入 OpenPBS 节点(本步骤需在 SOCA Scheduler 节点执行)
执行 pbsnodes 确认 orin 是否成功被加入到备选节点中
用户体验
用户可以使用 SOCA 构建应用,通过 WebUI 可视化方式,将算法任务部署至 NVIDIA Drive AGX Orin Kit,可查看任务执行状态。
下面举例介绍以 YOLO V5 模型在 NVIDIA Drive AGX Orin Kit 进行推理,识别图像的场景。
- 访问 SOCA WebUI 并输入用户名、密码登录。
- 选择 My Files -> Upload File,上传验证的模型。
- 点击刚刚上传的模型旁边的仿真图标。
- 选择预先定义好的 SOCA 应用,输入关键参数并提交任务。
- 任务被提交至 Orin 并执行模型推理流程,输出的图片通过共享存储卷自动同步至 SOCA。
- 从 SOCA 端下载刚刚输出的图片结果。
- 查看图片,图像内容被正确识别,实现了模型在 Orin 端的验证。
解决方案的收益
通过基于 SOCA 的混合云架构,工程师和运维人员可以高效利用云端和本地资源进行车载软件的开发、验证和运维工作。他们能够自助启动云端计算资源进行开发、SiL 仿真验证,同时统一管理本地硬件资源实现 HiL 开发验证。该统一平台无缝集成了云上云下资源,为工程师和运维人员提供了流畅一致的工作环境,提高了工作效率。这种灵活的架构允许他们充分利用云端弹性计算资源,确保自动驾驶算法和模型的高效开发,助力快速迭代创新,为客户提供先进的智能驾驶解决方案。
后续计划
在汽车行业的快速发展中,高效、可靠的软件开发和测试是当务之急。本实践针对硬件在环(HiL)验证进行了场景设计与应用,下一步将探索软件在环(SiL)场景,同时利用云上云下资源管理调度能力,为软件定义汽车中的虚拟对等环境开发提供支持。
该方案将探索软件开发、测试、系统集成和验证等场景的应用,通过模拟真实环境,减少实际硬件测试的需求,从而降低开发和测试成本,加快产品上市时间。同时,虚拟环境可以模拟各种极端情况,有助于提高车辆系统的质量和安全性,确保产品在复杂多变的实际工作环境中表现出卓越的性能。
此外,该方案将充分利用云计算技术,实现资源按需调配,提高资源利用率。云端集中管理测试数据,方便分析和共享,提高开发效率。通过灵活的虚拟化技术,可快速构建所需测试环境,支持并行测试,大幅缩短开发周期。
合作伙伴介绍
联想车计算介绍
联想旨在将先进的计算和人工智能技术赋能智能汽车产业。2022 年,车计算业务正式成立,并在联想创新科技大会宣布了车计算的愿景:成为汽车新四化的赋能者,将自身的计算技术积累与汽车智能化需求相结合,共同打造智能汽车的美好未来。联想车计算致力于为客户提供汽车智能化全栈解决方案。业务覆盖智能座舱域控制器、多级别智能驾驶的域控制器、中央计算单元、车载异构计算中间件以及大模型驱动的座舱智慧伴侣。自成立以来,联想车计算携手英伟达、德州仪器、芯驰科技、Nullmax 等合作伙伴,推出了多款智能驾驶和智能座舱相关产品和解决方案。凭借其天然的计算基因以及在异构计算和人工智能技术上的积累,联想车计算愿携手产业链各方伙伴一同打造更美好的智能驾驶和智能座舱体验。
亚马逊云科技介绍
亚马逊云科技拥有遍布全球的基础设施和广泛且深入的服务,比如人工智能/机器学习、物联网和数据湖以及为网联汽车和智能驾驶汽车专门打造的行业解决方案,能够助力汽车行业客户向新四化(电动化、网联化、智能化、共享化)转型。同时提供软件定义汽车、数字化营销,智能制造以及企业应用现代化等行业方案,帮助汽车行业客户降低业务系统的建设难度,缩短建设周期,快速构建企业级数字化平台。
名词解释
Transformer 是一种基于自注意力机制的神经网络模型,用于处理序列数据,特别是在自然语言处理任务中取得了重大突破,近年,Transformer 越来越多地应用于传感器数据处理、地图数据处理、预测和规划等任务,为自动驾驶系统提供感知、决策和规划能力。
SOAFEE(Scalable Open Architecture For Embedded Edge/可扩展嵌入式边缘开放架构)是一个适用于嵌入式系统的可扩展、开放的框架,用于构建和部署可扩展的边缘计算解决方案,实现高效灵活的边缘计算应用。
Drive AGX Orin Kit 是由 NVIDIA 推出的一款用于自动驾驶和无人驾驶研发的综合套件,提供高性能计算、感知和控制功能,帮助开发者快速构建和部署自动驾驶应用。
OpenVPN 是一种开源的虚拟专用网络(VPN)解决方案,用于建立安全的远程访问连接,并加密网络通信,保护用户的隐私和数据安全。
SiL(Software-in-the-Loop)是一种汽车行业中的测试方法,通过模拟车辆软件在计算机环境中的运行来评估和验证软件功能。
HiL(Hardware-in-the-Loop)是一种汽车行业中的测试方法,通过将车辆电子控制单元(ECU)与实际硬件部件连接,模拟真实的车辆环境,以验证和测试 ECU 的功能和性能。
OpenPBS(Open Portable Batch System)是一个开源的作业调度和管理系统,用于高性能计算集群环境中的作业调度和资源管理。它允许用户提交、调度和跟踪作业,并有效地分配计算资源,以实现集群的高效利用和作业的优化执行。
YOLO V5 是一种基于深度学习的目标检测算法,通过单一神经网络模型实现实时高效的目标检测和定位,具有较高的准确性和速度。
参考资料
https://aws.amazon.com/cn/solutions/implementations/scale-out-computing-on-aws/
https://github.com/awslabs/scale-out-computing-on-aws