
# 智驾多模态数据处理
#### 业务场景
智能驾驶数据生产业务流中，车辆会采集大量的视频、图像数据，对于这些多模数据的梳理，要经过预处理、向量化等环节，才能为构建智驾模型训练数据集提供数据输入。这种数据密集型、计算密集型的分析场景给计算资源的调度和数据存储的I/O能力提出了极高的要求。
在传统的数据分析中，开发人员通常配置串行流水线：先调用CPU资源执行解码任务，然后将数据存盘，再调度NPU资源执行推理任务。这种方式存在资源调度效率低、算力利用率低、数据读写效率低等问题，异构资源的管理增加了工程运维的复杂性。
表1传统多模数据处理方式的痛点 
| 痛点类型    | 具体描述                                                            |
|:---|:---|
| 算力调度效率低 | 原流程需经过解码、调用模型向量化等多步骤，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解决方案架构图   
  ![](https://support.huaweicloud.com/productdesc-aidatalake/zh-cn_image_0000002581137286.png "点击放大") 
表2与传统方案的对比 
| 特性    | 传统方案                                             | Aura方案                                            |
|:---|:---|:---|
| 跨架构协同 | 业务逻辑串行且割裂，先调用CPU资源执行解码任务，然后将数据存盘，再调度NPU资源执行推理任务。 | 业务逻辑如同在一个单机进程内，资源调度无感知，而物理资源自动跨机流转。               |
| 数据流转  | 数据需重复落盘存储，中间图片数据必须写入对象存储，读写I/O效率低，存储资源成本增加。      | 数据不落盘，依赖纯内存/网络流转，数据在内存中解码后直接流向NPU节点。              |
| 资源利用率 | 计算资源闲置，利用效率低，任务串行，部分资源需要等待数据I/O。                 | 计算资源利用效率高，流水线并行（Pipeline Parallelism）设计，异构算力不再闲置。 |
   
#### 方案流程
针对车辆采集的图像数据开展预处理、向量化，帮助用户从海量原始图像数据中高效地提取高质量的特征向量，为构建智驾模型训练数据集提供坚实基础。
图2开发流程   
![](https://support.huaweicloud.com/productdesc-aidatalake/zh-cn_image_0000002611537121.png "点击放大")
技术实现流程：
1. **环境准备**
   1. 在AI DataLake管理控制台创建工作空间，用于提供独立的作业运行环境。
   
   2. 在AI DataLake管理控制台创建计算资源池，为作业的运行提供计算资源。
   
   3. 在AI DataLake管理控制台创建端点，配置Aura引擎与计算资源池的关联关系。
    
2. **数据接入**
   1. 获取Aura端点信息，建立与多模态数据引擎Aura的链接。
   
   2. 通过Lazy Mode读取元数据表。
    
3. **算子注册**
   注册数据处理算子，构建数据处理流水线：
   - 图片解码算子：支持多种格式的视频/图像解码。
   
   - 图片向量化算子：将图像转换为高维特征向量。
     
4. **执行作业及查看结果**
   1. 执行多模态数据处理流水线。
   
   2. 查看处理后的多模态数据，输出高质量的特征向量，为智驾模型训练提供数据输入。
    
 
#### 方案效果
- 计算重叠以及并行执行充分调度NPU算力，端到端算力利用率提升40%+。
  图3Aura执行引擎耗时与客户原方案执行耗时对比   
  ![](https://support.huaweicloud.com/productdesc-aidatalake/zh-cn_image_0000002580977370.png "点击放大") 

- 数据生产效率提升35%+。
  表3架构升级前后的数据生产效率对比 
  | **指标**     | **改造前（串行）**     | **改造后（并行）**     | **节省**         | **提升幅度** |
  |:---|:---|:---|:---|:---|
  | 平均NPU高负载占用 | 14,871s (4.13h) | 5,878s (1.63h)  | 8,993s (2.50h) | 59.88%   |
  | 端到端耗时      | 18,494s (5.14h) | 12,358s (3.43h) | 6,136s (1.70h) | 33.18%   |
  | 12个数据集处理吞吐 | 2.33集/h         | 3.49集/h         | +1.16集/h       | +49.8%   |
  | 单数据集平均耗时   | 1,541s          | 1,030s          | 511s           | 33.2%    |
     
  ![](https://support.huaweicloud.com/productdesc-aidatalake/public_sys-resources/note_3.0-zh-cn.png)
  每个数据集是指一个完整的clip，一个clip包含上千帧的图片数据和点云数据，大小约为5G。
  

- 实现业务逻辑零侵入与平滑迁移，通过算子化自动编排技术，将原有10万+行的流水线编排代码精简至30行。
 
#### 更多实践文档
AI DataLake提供了多种场景的入门示例供您参考，详细介绍了在AI DataLake创建工作空间、计算资源池、配置端点，然后在DataArts Studio作业开发页面提交作业至端点运行的操作流程。
- [基于用户自定义镜像的多模数据处理](https://support.huaweicloud.com/qs-aidatalake/aidatalake_01_0030.html)
  使用自定义镜像在DataArts Studio中提交Shell作业至Aura端点，适合零基础用户首次体验AI DataLake全流程。
  
- [基于Aura DataFrame的多模数据处理](https://support.huaweicloud.com/qs-aidatalake/aidatalake_01_0003.html)
  通过Aura DataFrame SDK在Notebook中交互式处理多模态数据，体验图片解码、向量化等流水线算子。
  
- [基于RayCluster Data的数据处理](https://support.huaweicloud.com/qs-aidatalake/aidatalake_01_0004.html)
  创建RayCluster端点，通过API提交分布式数据处理作业，适合AI计算场景的数据探索与开发。
  
- [基于RayJob Data的数据处理](https://support.huaweicloud.com/qs-aidatalake/aidatalake_01_0079.html)
  创建RayJob端点，通过API提交作业并查看结果，适合生产环境的批量AI数据处理任务。
  
- [基于PySpark的数据处理](https://support.huaweicloud.com/qs-aidatalake/aidatalake_01_0005.html)
  创建Spark端点，通过API提交PySpark作业，适合传统大数据ETL和湖仓分析场景。
  
 
