一、背景及挑戰
在汽車自動駕駛場景中,車端(量產車、研采車)持續產生并采集海量數據,包括圖片、音視頻、雷達、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%以上 |