向量计算(Proxima CE)概述

Proxima CE 是基于Proxima2.x内核提供的超大规模离线向量检索引擎,用于支持批量离线向量检索任务,包括基础的向量检索、多类目检索及百万TopK检索等功能。本文为您介绍在MaxCompute中如何使用向量计算功能。

背景信息

Proxima CE是一款来自于阿里达摩院的实现向量近邻搜索的高性能软件,相比于Faiss等开源的同类产品,Proxima CE在稳定性、性能等方面都更为出色。Proxima CE的使用十分简洁,以内嵌可执行JAR包的形式提供给用户在MaxCompute上运行,支持以MaxCompute表的形式作为底库和查询向量数据的输入,整体上分为索引构建和批量查询两个主要过程,驱动多个MaxCompute MapReduce或Graph Job,完成对索引的构建和查询的检索,最终通过MaxCompute表输出批量检索的结果。

功能说明

  • 支持的数据类型与检索方式:

    • 支持多种数据类型,主要包括INT8/FLOAT/BINARY

      说明

      支持使用INT32表示BINARY数据,详情请参考可选参数中的binary_to_int参数。

    • 支持多种检索方式,主要包括HNSW/SSG/HC/GC/QC/Linear,默认使用HNSW方式。

  • 通过可选的配置参数,支持高级计算能力:

    • 支持多种距离计算方式,主要包括squared_euclidean/inner_product/Hamming等,详情请参考可选参数中的distance_method参数。

    • 支持设定相似度阈值,高于阈值的向量会被过滤,详情请参考可选参数中的threshold_score参数。

支持的工具

上传资源、运行时支持使用odpscmd和DataWorks。

  • odpscmd:仅支持在Linux环境下运行,因为Proxima CE的JAR包是基于Linux平台编译的,暂不支持Windows和Mac平台。

  • DataWorks:您可以在DataWorks上新建MaxCompute ODPS MR节点,通过ODPS SQL脚本来运行。

使用向导

  1. 安装Proxima CE包。

    使用向量计算之前您需要安装Proxima CE包,详细操作请参见安装Proxima CE包。该文档为您介绍Proxima CE的环境准备及配置流程,帮助您快速搭建Proxima CE环境。

  2. 使用向量检索功能。

    该文档为您介绍向量检索功能的适用场景及使用方法。帮助您快速了解各种检索方法。

    检索场景

    关键特性

    指导文档

    基础向量检索

    支持百万级别TopK查询。

    基础向量检索

    多类目检索

    支持多类目场景,包括query和doc属于多个类目的场景以及单个query属于多个类目的场景。

    多类目检索

    聚类分片

    支持聚类分片索引构建方式,该方式能够减小计算量和加速后续索引查询过程。

    聚类分片

    内积和余弦距离

    支持内积检索。

    内积和余弦距离

    量化使用

    支持量化器使用,一般配置量化器可提升性能,减少索引大小,召回视情况有所损失。

    量化使用

  3. 参考内容。

    参考内容

    指导文档

    全量参数及内核参考

    参考:Proxima CE全量参数说明

    参考:内核参考

    测试报告

    功能测试

    性能测试

    常见问题

    常见问题

    错误码处理