智驾多模态数据处理
业务场景
智能驾驶数据生产业务流中,车辆会采集大量的视频、图像数据,对于这些多模数据的梳理,要经过预处理、向量化等环节,才能为构建智驾模型训练数据集提供数据输入。这种数据密集型、计算密集型的分析场景给计算资源的调度和数据存储的I/O能力提出了极高的要求。
在传统的数据分析中,开发人员通常配置串行流水线:先调用CPU资源执行解码任务,然后将数据存盘,再调度NPU资源执行推理任务。这种方式存在资源调度效率低、算力利用率低、数据读写效率低等问题,异构资源的管理增加了工程运维的复杂性。
| 痛点类型 | 具体描述 |
|---|---|
| 算力调度效率低 | 原流程需经过解码、调用模型向量化等多步骤,CPU与NPU计算任务串行执行,NPU大量空闲等待CPU处理数据,实际算力利用率低。 |
| I/O瓶颈严重 | 跨架构数据流转必须“落盘中转”(Write-to-OBS),导致大量I/O开销,数据读写效率低下,存储成本高。 |
| 开发割裂 | 数据工程师需要维护多套代码和环境来适配不同硬件,开发和运维成本高。 |
多模数据引擎Aura是专为分析多模态类型数据而设计,支持数据的边读边算能力,避免了传统方式的频繁存盘操作,视频解码、向量化等预处理环节流水线式执行,让智能驾驶数据生产业务流实现了从串行到并行的架构升级,真正释放了异构算力的全部潜力。
本节介绍AI DataLake Aura引擎在智能驾驶数据预处理场景的应用。
方案架构
AI DataLake集成Aura多模数据分析引擎,实现跨异构资源(One Pool)、不落盘(One Flow)的数据处理流水线。
- AI DataLake将CPU、GPU、NPU等异构资源进行统一池化,实现资源的弹性调度与高效利用。通过统一资源池,将CPU、GPU、NPU异构资源进行统一管理,能够根据业务负载动态调整资源分配,实现资源的高效利用。
- AI DataLake通过LakeFormation统一管理元数据,实现数据处理过程中全程不落盘,大幅提升处理效率。解码算子在CPU节点执行,向量化处理算子在NPU节点执行,解决了传统数据处理中磁盘I/O带来的性能瓶颈,显著提升了数据处理的传输效率。 图1 解决方案架构图
| 特性 | 传统方案 | Aura方案 |
|---|---|---|
| 跨架构协同 | 业务逻辑串行且割裂,先调用CPU资源执行解码任务,然后将数据存盘,再调度NPU资源执行推理任务。 | 业务逻辑如同在一个单机进程内,资源调度无感知,而物理资源自动跨机流转。 |
| 数据流转 | 数据需重复落盘存储,中间图片数据必须写入对象存储,读写I/O效率低,存储资源成本增加。 | 数据不落盘,依赖纯内存/网络流转,数据在内存中解码后直接流向NPU节点。 |
| 资源利用率 | 计算资源闲置,利用效率低,任务串行,部分资源需要等待数据I/O。 | 计算资源利用效率高,流水线并行(Pipeline Parallelism)设计,异构算力不再闲置。 |
方案流程
针对车辆采集的图像数据开展预处理、向量化,帮助用户从海量原始图像数据中高效地提取高质量的特征向量,为构建智驾模型训练数据集提供坚实基础。
技术实现流程:
- 环境准备
- 在AI DataLake管理控制台创建工作空间,用于提供独立的作业运行环境。
- 在AI DataLake管理控制台创建计算资源池,为作业的运行提供计算资源。
- 在AI DataLake管理控制台创建端点,配置Aura引擎与计算资源池的关联关系。
- 数据接入
- 获取Aura端点信息,建立与多模态数据引擎Aura的链接。
- 通过Lazy Mode读取元数据表。
- 算子注册 注册数据处理算子,构建数据处理流水线:
- 图片解码算子:支持多种格式的视频/图像解码。
- 图片向量化算子:将图像转换为高维特征向量。
- 执行作业及查看结果
- 执行多模态数据处理流水线。
- 查看处理后的多模态数据,输出高质量的特征向量,为智驾模型训练提供数据输入。
方案效果
- 计算重叠以及并行执行压榨NPU算力,端到端算力利用率提升40%+。 图3 Aura执行引擎耗时与客户原方案执行耗时对比
- 数据生产效率提升35%+。 图4 架构升级前后的数据生产效率对比
- 实现业务逻辑零侵入与平滑迁移,通过算子化自动编排技术,将原有10万+行的流水线编排代码精简至30行。