Elastic Cloud 向量搜索优化的硬件配置文件现已适用于 Microsoft Azure 用户的 Elastic Cloud。此硬件配置文件针对使用 Elasticsearch 作为向量数据库来存储密集型或稀疏型嵌入的应用程序进行了优化,这些应用程序用于由 RAG(检索增强生成)支持的搜索和生成式 AI 用例。
向量搜索优化的硬件配置文件:您需要了解的信息
Elastic Cloud 用户受益于在所有主要云提供商(Azure、GCP 和 AWS)中拥有 Elastic 托管的基础架构,以及对 Microsoft Azure 用户的广泛区域支持。此版本是在之前发布针对GCP的向量搜索优化硬件配置文件的公告之后发布的。AWS用户自 2023 年 11 月以来即可访问向量搜索优化配置文件。有关此 Azure 硬件配置文件的实例配置的更多详细信息,请参阅我们关于实例类型的文档:azure.es.datahot.lsv3
向量搜索、HNSW 和内存
Elasticsearch 使用分层可导航小世界图 (HNSW) 数据结构来实现其近似最近邻搜索 (ANN)。由于其分层方法,HNSW 的分层方面提供了出色的查询延迟。为了获得最佳性能,HNSW 需要将向量缓存在节点的内存中。此缓存会自动完成,并使用 Elasticsearch JVM 未使用的可用 RAM。因此,内存优化是可扩展性的重要步骤。
请参阅我们的向量搜索调整指南,以确定向量搜索嵌入的正确设置以及您的部署是否有足够的内存。
考虑到这一点,向量搜索优化的硬件配置文件配置的 Elasticsearch JVM 堆设置小于标准设置。这为在节点上缓存向量提供了更多 RAM,使用户能够为其向量搜索用例配置更少的节点。
如果您使用诸如标量量化之类的压缩技术,则内存需求降低了 4 倍。要存储量化嵌入(在 Elasticsearch 8.12 及更高版本中可用),只需确保您存储在正确的element_type: byte
中。要利用我们对float
向量的自动量化,请更新您的嵌入以使用索引类型:int8_hnsw
,如下面的映射示例所示。
PUT my-byte-quantized-index
{
"mappings": {
"properties": {
"my_vector": {
"type": "dense_vector",
"dims": 512,
"index_options": {
"type": "int8_hnsw"
}
}
}
}
}
在即将发布的版本中,Elasticsearch 将将其作为默认映射提供,从而无需用户调整其映射。如需进一步阅读,我们在本博客中提供了对 Elasticsearch 中标量量化的评估。
将此优化的硬件配置文件与 Elasticsearch 的自动量化相结合,是 Elastic 专注于向量搜索和我们的向量数据库以实现成本效益并同时保持极高性能的两个示例。
开始使用 Elastic Cloud 向量搜索优化的硬件配置文件
在 Elastic Cloud 上开始免费试用,只需选择新的向量搜索优化配置文件即可开始使用。
迁移现有的 Elastic Cloud 部署
迁移到这个新的向量搜索优化的硬件配置文件只需点击几下即可完成。只需导航到您的 Elastic Cloud 管理 UI,单击以管理特定的部署,然后编辑硬件配置文件。在此示例中,我们将从“存储优化”配置文件迁移到新的“向量搜索”优化配置文件。这样做时,可用存储空间会略微减少,但获得的好处是可以以更低的成本在内存中存储更多向量并进行向量搜索。
迁移到新的硬件配置文件使用增长和收缩方法来进行部署更改。此方法会添加新实例,将数据从旧实例迁移到新实例,然后通过删除旧实例来缩减部署。即使对于单个可用性区域,此方法也能在配置更改期间实现高可用性。
下图显示了在 Elastic Cloud 中运行的部署的典型架构,其中向量搜索将是主要用例。
此示例部署使用我们新的向量搜索优化的硬件配置文件,该配置文件现已在 Azure 中可用。此设置包括
- 我们热层中的两个数据节点,使用我们的向量搜索配置文件
- 一个 Kibana 节点
- 一个机器学习节点
- 一个集成服务器
- 一个主仲裁器
通过部署这两个使用向量搜索优化硬件配置文件的“全尺寸”数据节点,并利用 Elastic 的自动密集向量标量量化,您可以索引大约 6000 万个向量,包括一个副本(具有 768 个维度)。
结论
向量搜索是在构建现代搜索应用程序时的一项强大工具,无论是用于语义文档检索本身,还是在RAG 设置中与 LLM 服务提供商集成。Elasticsearch 提供了一个与全功能搜索平台本地集成的全功能向量数据库。除了改进向量搜索功能集和可用性外,Elastic 还在不断提高可扩展性。向量搜索节点类型是最新示例,使用户能够扩展其搜索应用程序。
Elastic 致力于提供可扩展且经济高效的基础架构,以支持企业级搜索体验。客户可以依靠我们提供可靠且易于维护的基础架构和成本杠杆(如向量压缩),因此您可以从构建由 AI 支持的搜索体验的最低可能的总拥有成本中获益。