Proxima CE 是基于Proxima2.x内核提供的超大规模离线向量检索引擎,用于支持批量离线向量检索任务,包括基础的向量检索、多类目检索及百万TopK检索等功能。本文介绍在MaxCompute中如何使用向量计算功能。
背景信息
Proxima CE是一款来自于阿里达摩院的实现向量近邻搜索的高性能软件,相比于Faiss等开源的同类产品,Proxima CE在稳定性、性能等方面都更为出色。Proxima CE的使用十分简洁,以内嵌可执行JAR包的形式提供给用户在MaxCompute上运行,支持以MaxCompute表的形式作为底库和查询向量数据的输入,整体上分为索引构建和批量查询两个主要过程,驱动多个MaxCompute MapReduce或Graph Job,完成对索引的构建和查询的检索,最终通过MaxCompute表输出批量检索的结果。
功能说明
环境准备
使用Proxima CE前,请确保您已完成以下准备工作:
已创建MaxCompute项目,详情请参见创建MaxCompute项目。
已创建DataWorks工作空间,并绑定MaxCompute数据源。
若您在创建DataWorks工作空间时,选择了参加新版数据开发公测,请根据绑定计算资源(参加新版数据开发公测)绑定计算资源。
若您在创建DataWorks工作空间时,未选择参加新版数据开发公测,请根据创建数据源或注册集群(未参加新版数据开发公测)绑定数据源。
开通Volume功能,并成功创建External Volume。
Proxima CE构建好索引之后需要写到MaxCompute的Volume存储中,请参考新功能试用申请开通Volume功能,开通结果将以短信形式通知到您。若Volume功能未成功开通,执行任务时会出现类似于
FAILED:ODPS-0420095:Access Denied - Volumes is not allowed in project config.
的报错信息。创建External Volume的操作请参见External Volume操作。
说明后续运行时可能会用到Volume方式,因此建议提前创建好External Volume。否则需要输入
role_arn
作为必要启动参数,role_arn
的方式存在安全风险,请谨慎使用。
注意事项
Proxima CE使用的External Volume,需要指定OSS内网域名,例如oss-cn-beijing-internal.aliyuncs.com
。OSS内网域名,请参见OSS地域和访问域名。
支持的工具
上传资源、运行时支持使用odpscmd和DataWorks。
odpscmd:仅支持在Linux环境下运行,因为Proxima CE的JAR包是基于Linux平台编译的,暂不支持Windows和Mac平台。
DataWorks:您可以在DataWorks上新建MaxCompute ODPS MR节点,通过ODPS SQL脚本来运行。
使用向导
安装Proxima CE包。
使用向量计算之前您需要安装Proxima CE包,以完成Proxima CE环境准备及配置流程。
使用向量检索功能。
您可通过下述内容了解向量检索功能的适用场景及各种检索方法。
检索场景
关键特性
指导文档
基础向量检索
支持百万级别TopK查询。
多类目检索
支持多类目场景,包括query和doc属于多个类目的场景以及单个query属于多个类目的场景。
聚类分片
支持聚类分片索引构建方式,该方式能够减小计算量和加速后续索引查询过程。
内积和余弦距离
支持内积和余弦距离检索。
量化使用
支持量化器使用,一般配置量化器可提升性能,减少索引大小,召回视情况有所损失。
参考内容。
参考内容
指导文档
全量参数及内核参考
测试报告
功能测试
性能测试
常见问题
错误码处理