Link Search Menu Expand Document Documentation Menu

使用 GPU 远程构建向量索引

3.0 版本引入

OpenSearch 支持使用 GPU 加速的远程索引构建服务来构建向量索引。使用 GPU 可显著缩短索引构建时间并降低成本。有关基准测试结果,请参阅这篇博客文章

支持的配置

远程索引构建服务支持使用 hnsw 方法的 Faiss 索引和默认的 32 位浮点数 (FP32) 向量。

先决条件

在配置远程索引构建设置之前,请确保满足以下先决条件。有关更新动态设置的更多信息,请参阅动态设置

步骤 1:启用远程索引构建服务

通过配置以下设置,为集群和所选索引启用远程索引构建服务。

设置 静态/动态 默认值 描述
knn.remote_index_build.enabled 动态 false 为集群启用远程向量索引构建。
index.knn.remote_index_build.enabled 动态 true 为索引启用远程索引构建。仅当 knn.remote_index_build.enabled 设置为 true 时才生效。

只有当集群级 knn.remote_index_build.enabled 设置和索引级 index.knn.remote_index_build.enabled 设置都设置为 true 时,索引的远程向量索引构建器才会被启用。

步骤 2:创建并注册远程向量仓库

远程向量仓库充当 OpenSearch 集群和远程构建服务之间的中间对象存储。集群将向量和文档 ID 上传到仓库。远程构建服务检索数据,在外部构建索引,并将完成的结果上传回仓库。

要创建和注册仓库,请按照注册仓库中的步骤操作。然后将 knn.remote_index_build.repository 动态设置设置为注册仓库的名称。

远程构建服务目前仅支持 Amazon Simple Storage Service (Amazon S3) 仓库。

步骤 3:设置远程向量索引构建器

通过将 knn.remote_index_build.service.endpoint 设置为正在运行的 远程向量索引构建器 实例,在 k-NN 设置中配置远程端点。有关设置远程服务的说明,请参阅用户指南

配置远程索引构建设置

远程索引构建服务支持一些额外的可选设置。有关配置任何剩余远程索引构建设置的信息,请参阅远程索引构建设置

使用远程索引构建服务

远程索引构建服务配置完成后,满足以下要求的任何段刷新和合并操作都将透明地使用 GPU 构建路径:

  • 索引正在使用支持的配置之一。
  • 段大小大于 index.knn.remote_index_build.size.min 且小于 knn.remote_index_build.size.max

您可以通过调用 k-NN Stats API 并查看远程索引构建统计信息来监控远程索引构建任务。