当前位置: 首页 > news >正文

基于MaxCompute MaxFrame 汽车自动驾驶数据预处理最佳实践

一、背景及挑战

在汽车自动驾驶场景中,车端(量产车、研采车)持续产生并采集海量数据,包括图片、音视频、雷达、GPS等内容,这些数据通常以 ROSbag文件形式进行存储。

行业需求:

自动驾驶依赖海量多模态数据(视频、点云、传感器日志等),需高效处理、分析及管理。

核心痛点:

  • 开发环境配置管理复杂
  • 开发环境往往较为复杂,依赖 Python 环境、自定义镜像、Docker、K8s 等基础环境,需要开发人员花费大量时间自行配置环境及相关依赖,开发复杂度极高。
  • 不同业务产线作业可能依赖不同环境、版本,开发人员需要自行保障环境、版本的一致性,导致运维成本极高。
  • 计算资源调度不够灵活
  • 传统方式缺乏灵活、自动化的分布式调度功能,导致资源利用率不理想且作业并发受限。
  • 可扩展性限制,自动驾驶数据处理场景存在明显的业务/任务峰谷期,在工作负载高峰期,传统方式资源无法快速、弹性扩容以应对突增的数据处理需求,从而导致任务执行延迟和潜在瓶颈。
  • 海量多模态数据处理性能压力大
  • 自动驾驶场景单车日均产生TB级数据(如视频、点云、传感器日志),传统框架(如单机 Python)难以应对如此数据量级与处理复杂度。
  • 在进⾏⼤规模数据处理时,传统架构缺乏容错机制,可能出现因为部分长尾数据 OOM 导致整体作业失败,影响整体数据产出效率。
  • 任务及数据管理复杂度高
  • 传统开发方式缺乏有效的元数据及数据血缘管理,导致无法追踪任务执行状态、数据处理情况,使得后续作业任务及数据分析困难。
  • 传统框架缺乏针对失败任务的自动重新运行机制,增加了作业维护开销。

二、核心架构

基于阿里云 MaxCompute 分布式计算框架MaxFrame、DataWorks、PAI、OSS 等产品构建自动驾驶端到端数据处理流水线,实现从车端数据采集、数据预处理到模型训练的全流程管理。

核心目标:

  • 高效、稳定处理解析ROS Bag包:实现多传感器数据(激光雷达、摄像头、GPS等)的分布式解析。
  • 构建端到端流水线:从数据采集、预处理、标注到模型训练,形成可扩展的自动驾驶数据闭环。
  • 云原生架构优势:利用阿里云云原生 MaxComoute 弹性资源调度能力,降低成本并提升处理效率。

整体架构:

阶段一:车端数据上传与解析

车端持续产生海量数据,包括文件上传进度信息、视频图像文件等。采用 DataHub/Kafka 确保文件上传进度信息稳定传输。借助DataWorks,实现数据预处理任务一站式开发和调度,无论是数据清洗、格式转换,还是数据同步,都能高效完成。

阶段二:高效数据存储与管理

OSS提供海量存储空间,安全存放bag文件、原始及切帧后的CLIP文件,上下行带宽可达上百Gbps,大幅缩短文件传输时间。MaxCompute可以实现大规模文件元数据存储与管理,通过meta表、tag表记录数据下载和预处理过程中的的任务状态更新,以及CLIP文件的tag信息,并监控失败任务进行重跑。

阶段三:海量数据弹性计算与调度

依托 MaxCompute Serverless 弹性计算能力,可快速拉起并提供数十万+CU 弹性计算资源能力,同时基于分布式计算框架 MaxFrame,支持作业自动分布式执行,单作业可调用数万Core/内存,轻松应对自动驾驶海量数据计算需求。

阶段四:稳定高效的模型训练

PAI具备上千节点并发的离线大规模分布式训练能力,大幅缩短模型训练时间,结合并行文件系统CPFS,为训练过程提供稳定、高速的数据读写支持,助力自动驾驶模型持续优化升级。

三、方案优势

在汽车自动驾驶数据处理场景中,MaxCompute 主要完成对车端采集的大量 bag 包进行解压、处理等工作,基于 MaxCompute MaxFrame 高效、稳定的完成端到端数据处理流程。

基于 MaxFrame 的数据处理流程架构

核心优势:

1、一站式开发环境管理

  • MaxCompute MaxFrame 与DataWorks(数据开发、Notebook)深度集成,提供开箱即用的交互式 Python 开发环境,并且支持作业离线调度、运维能力。
  • MaxCompute 及 DataWorks 支持并打通用户自定义镜像,同时在 MaxFrame开发中可直接引用用户镜像,方便开发者快速搭建、管理开发环境,满足个性化开发需求。

2、海量弹性计算资源灵活调度

  • MaxCompute支持灵活、按需的弹性资源使用及付费方式(包年包月+按量计费),显著降低闲置资源成本,最大化计算资源利用率。
  • 依托 MaxCompute Serverless 能力,可支持快速拉起并提供数十万CU 弹性计算资源能力。

3、高效的分布式处理性能

  • 基于分布式计算框架 MaxFrame ,作业提交至MaxCompute 后自动分布式执行,相比开源框架性能提升 40%以上,用户无需关注底层分布式计算细节,专注于业务逻辑。
  • 在MaxCompute集群中直接进行数据分布式计算,无需本地数据传输,减少数据传输开销,提高计算效率,尤其在处理大规模数据时优势明显。
  • MaxFrame 支持上万级别的高并发、分布式处理能力且根据任务负载自动弹性伸缩计算资源,合理分配资源,快速处理海量数据,大幅缩短数据预处理周期,加速后续模型训练,同时显著降低资源成本。

4、统一的元数据管理

  • 在 MaxFrame 作业中可一站式实现车端采集数据预处理和处理流程的meta数据记录,方便作业及数据跟踪。
  • DataWorks、MaxCompute 支持作业级别失败重试、Worker 级别部分提交,保障作业稳定性及最大化结果数据产出。

核心优势总结:

核心场景

自建集群 +原生 Python

MaxCompute MaxFrame

环境管理

需要管理容器任务

无需关心底层环境及调度分配,作业按需切分并发

依赖管理

手工构建镜像,人工运维

统一镜像管理,开发、生产镜像打通,同时 MaxFrame 支持声明式依赖指定

资源管理

固定资源

弹性资源,按需分配

监控运维

人工监控,运维成本高

DataWorks及MaxCompute 提供作业运维,支持对作业状态、资源使用自动监控运维

作业开发

需要协调不同组件、环境,开发、使用、运维成本高

基于 DataWorks 完成一站式作业开发,打通 MaxCompute、PAI 产品,构建数据开发、数据处理、模型开发、模型训练、模型推理整体 Pipline,显著降低用户开发成本,提升用户体验

计算性能

需要用户大量调优工作

MaxFrame 支持作业自动分布式执行,底层自动优化,相比开源框架性能提升 40%以上

http://www.lryc.cn/news/588012.html

相关文章:

  • WST2078 N+P 双通道 MOSFET 在蓝牙耳机中的技术适配
  • FreeSWITCH fifo模块排队并动态播放排队位置
  • 12.如何判断字符串是否为空?
  • AI驱动的软件工程(下):AI辅助的质检与交付
  • SpringBoot 整合 MyBatis-Plus
  • 智源全面开源RoboBrain 2.0与RoboOS 2.0:刷新10项评测基准,多机协作加速群体智能
  • LangChain面试内容整理-知识点16:OpenAI API接口集成
  • docker-compose 安装Alist
  • rk3588ubuntu 系统移植AIC8800D Wi-Fi6/BT5.0芯片
  • FRP Ubuntu 服务端 + MacOS 客户端配置
  • mac安装nvm执行命令报错-解决方案
  • Ubuntu服务器安装Miniconda
  • 131. Java 泛型 - 目标类型与泛型推断
  • 一般的非线性规划求解(非凸函数)
  • 深度解析:htmlspecialchars 与 nl2br 结合使用的前后端协作之道,大学毕业论文——仙盟创梦IDE
  • 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | GithubProfies(GitHub 个人资料)
  • 持续优化小程序排名,稳定获取搜索流量
  • 动态规划题解——最长递增子序列【LeetCode】记忆化搜索方法
  • 掉线监测-tezos rpc不能用,改为残疾网页监测
  • urlencode、html实体编码、unicode
  • 认识下计算机视觉中的人脸识别
  • React强大且灵活hooks库——ahooks入门实践之DOM类hook(dom)详解
  • C++-linux 5.gdb调试工具
  • LSY_C语言编程题
  • AI数据分析仪设计原理图:RapidIO信号接入 平板AI数据分析仪
  • Markdown表格列格式(加粗 / 高亮 / 复选 / 进度条 / 数值 / 货币 /…)~优雅好用的 Typora 主题与增强插件 VLOOK™
  • MFC中BOOL类型,在某些操作系统中,-1不能被识别,一般是哪些原因?
  • NAT原理与实验指南:网络地址转换技术解析与实践
  • com2tcp工具
  • 使用axios向服务器请求信息并渲染页面