
# 多模态向量检索
#### 业务场景
模型迭代训练需要持续从数据集中提取特定标签和特征的内容，媒体、智驾等业务通常涉及千亿向量规模的百万样例抽取，AI DataLake Aura支持极限规模下的向标混合检索、多向量检索等多重能力，实现海量多模态训练数据高效挖掘。
表1传统实现方式的痛点 
| 痛点类型        | 具体描述                                                  |
|:---|:---|
| 常驻服务成本高     | 传统检索引擎/向量数据库依赖内存存储索引和数据，千亿规模依赖的资源成本过高。                |
| 大规模top-k性能差 | 传统的向量索引面向小top点查设计，大量无效索引扫描、距离计算、回表等操作，不适合大规模向量数据挖掘场景。 |
   
本节介绍AI DataLake Aura引擎在多模态向量检索场景的应用。
#### 方案架构
AI DataLake基于Aura+Lance的方案，采用存算分离架构，依赖Aura的分布式计算能力，提供海量数据大top-k检索能力。通过计算资源的弹性伸缩与按需分配，支持流式加载数据，有效避免内存溢出。同时，结合多级缓存技术，显著降低数据加载延迟，提升查询效率。
- 存算分离：采用Lance原生存储格式，数据和索引常驻OBS，支持千亿规模数据的高效大top-k检索。
- 原生向量引擎：面向大规模混合检索深度优化查询路径，避免传统引擎无效索引扫描、距离计算、数据回表操作。
- 弹性资源：计算资源支持弹性伸缩与按需分配，空闲时自动释放，大幅降低资源使用成本。
- 缓存加速：引入近计算缓存机制，显著缩短查询延迟，提升响应速度。
- 索引优化：多bit无偏量化算法支撑大规模检索数据高精度剪枝，图索引+分布式缓存提升小top检索性能。
  图1解决方案架构图   
  ![](https://support.huaweicloud.com/productdesc-aidatalake/zh-cn_image_0000002641581214.png "点击放大") 
表2与传统方案的对比 
| 对比维度     | 传统方案                                             | Aura+Lance方案                                |
|:---|:---|:---|
| 数据存储规模   | 依赖内存管理索引和数据，存储成本高。                               | 索引和数据常驻OBS，按需拉取检索，成本低。                      |
| 弹性计算资源   | 计算有状态，数据和节点绑定， 扩容需要重分布索引和数据，迁移耗时。                | 计算无状态，支持弹性伸缩与按需分配，空闲时自动释放，无需数据搬移。           |
| 大top-k性能 | 传统的向量索引面向小top点查设计，大top检索大量无效索引扫描、距离计算、回表等操作，性能差。 | 面向大top深度优化，多粒度索引剪枝，多级缓存，混合精度排序等技术大幅度提升查询效率。 |
   
#### 方案流程
技术实现流程：
1. **环境准备**
   a. 在AI DataLake管理控制台创建工作空间，用于提供独立的作业运行环境。
   b. 在AI DataLake管理控制台创建计算资源池，为作业的运行提供计算资源。
   c. 在AI DataLake管理控制台创建端点，配置Aura引擎与计算资源池的关联关系。
   
2. **创表索引构建**
   a. 基于LakeFormation创建Lance表。
   b. 使用Aura将原始数据向量化后写入Lance表。
   c. 使用SQL命令为对应列创建索引。
   
3. **数据挖掘**
   使用Aura提供的SQL能力，在Lance表上完成数据查询。
   
 
#### 方案效果
- 超大规模存储：单表千亿千维向量规模，数据不出湖，湖内支持海量多模态向量检索。
- 索引高速构建：百亿级索引小时级构建，向量/标量/全文索引统一管理。
- 超大规模检索：面向大TopK检索场景深度优化，TopK=100万分钟级时延，TopK=1万秒级时延。
- 复杂混合检索：支持向量/标量/多向量/全文等多场景混合检索任务，复杂分析SQL统一表达。
- 按需弹性资源：计算资源按需拉起，闲时归零，对比常驻向量数据库服务大幅降低资源成本。
 
#### 更多实践文档
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和湖仓分析场景。
  
 
