揭开 Milvus 容量规划工具的神秘面纱

在当今快速发展的数据领域,为您的 Milvus 部署选择合适的配置对于确保高效的性能和资源利用至关重要。面对众多选择,选择合适的配置可能会让人感到不知所措。
以下是使用 Milvus 容量规划工具时需要考虑的3个关键点。
63-1.png
Milvus 容量规划工具
索引选择:平衡内存、磁盘、成本、准确性和速度
Milvus 提供了多种索引算法(HNSW、FLAT、IVF_FLAT、IVF_SQ8),这些算法在内存使用、磁盘空间、成本、速度和准确性方面存在权衡。HNSW 通常是推荐的选择,因为它平衡了性能和内存。有关这些索引的更多详细信息,请参见此博客。
HNSW:
结合了两个概念:跳过列表和可导航小世界(NSW)图。HNSW 创建了一个 NSW 的分层列表。HNSW 搜索从顶层开始,逐层向下寻找每层的最近邻。顶层的图中节点最少,底层的图中节点最多。
查询速度非常快,召回率极佳。每个向量需要最多的内存,因此成本可能最高。
FLAT:
100% 召回率(穷尽搜索)。
查询速度非常慢,对于数据大小 n,时间复杂度为 O(n),索引大小与向量数据相同。
IVF_FLAT:
将向量空间划分为簇,仅在 nlist 个簇中进行搜索,与 IVF_FLAT 相比提高了搜索速度。
中等召回率,中等查询速度(比 HNSW 慢但比 FLAT 快)。
比 HNSW 需要更多的内存,但比 FLAT 需要的内存少。
IVF_SQ8:
利用标量量化技术,将磁盘、计算和内存消耗减少 70-75%。
中等召回率,中高等查询速度。
当资源有限时,提供了比 IVF_FLAT 更好的选择,但牺牲了较低的准确性。
除了上述最常见的浮点索引外,Milvus 还支持 ScANN(在 CPU 上比 HNSW 快 20%)、二进制、稀疏和基于磁盘的索引,请参阅 Milvus 索引文档页面。
DISKANN 是一种混合磁盘/内存索引,如果您可以接受稍长的延迟(大约 100 毫秒左右),但需要支持大量向量和高召回率,这是一个不错的选择。
AUTOINDEX 在开源 Milvus 中默认为 HNSW(或在 Zilliz 中为更高性能的专有索引)。
GPU_CAGRA 是 GPU 索引中最快的,但它需要带有 GDDR 内存的推理卡,而不是带有 HBM 的卡。其他支持的 GPU 索引包括:GPU_BRUTE_FORCE、GPU_IVF_FLAT、GPU_IVF_PQ。
段大小和部署配置
容量规划工具提供了三种段大小(512 MB、1024 MB、2048 MB)。默认段大小为 512 MB。更少、更大的段通常意味着更快的搜索,因此如果您有大量数据,通常建议使用 2GB。
将段视为数据块;它们是 Milvus 中用于负载均衡和启用索引上的分布式搜索的最小单位。我们的快速经验法则:
对于 4GB-8GB 的查询节点大小,使用 512MB 段。
对于查询节点小于 16GB,使用 1GB 段。
对于查询节点大于 16GB,选择 2-4GB 段大小。
在 Pulsar 或 Kafka 之间,对于新项目(绿地安装),建议使用 Pulsar,因为每个主题的开销较小。
Zilliz Cloud 的企业版提供了额外的成本和速度配置。更多信息,请参见我们的云容量规划工具:
内存不足(OOM)减少和压缩优化以实现峰值性能。
延迟加载存储节省:
使用标准计算单元(CUs)高效存储热数据。
使用分层存储 CUs 以成本效益的方式存储很少访问(冷)的数据。
结论
记住,这只是一个起点!Milvus 提供了广泛的自定义选项。
Milvus 容量规划工具专注于单一索引。如果您需要为不同的集合使用不同的索引算法,请创建具有自定义配置的单独集合。这可能需要更复杂的部署设置。
参考链接
资源规划:https://docs.zilliz.com/docs/resource-planning
Zilliz 云定价计算器:https://zilliz.com/pricing#estimate_your_cost
Milvus 索引介绍:https://thesequence.substack.com/p/guest-post-choosing-the-right-vector
Milvus 索引文档:https://milvus.io/docs/index.md
Milvus GPU CAGRA 索引:https://zilliz.com/blog/Milvus-introduces-GPU-index-CAGRA
技术干货
一次解决三大成本问题,升级后的 Zilliz Cloud 如何造福 AIGC 开发者?
对于应用开发而言,成本问题向来是企业和开发者关注的重点,更迭迅速、变化莫测的 AIGC 时代更是如此。这里的成本既指软件开发成本,也包括硬件成本、维护成本。Zilliz Cloud 可以一次性解决这三大问题,帮助开发者降低开发成本、优化硬件成本、减少维护成本。
2023-7-6技术干货
LangChain 查询使用指「北」
LangChain 是一种 AI 代理工具,可以为以 ChatGPT 为代表的额大语言模型(LLM)增添更多功能。此外,LangChain 还具备 token 和上下文管理功能。本文主要通过查询 GPT 和查询文档两个示例介绍如何使用 LangChain。
2023-5-30技术干货
可处理十亿级向量数据!Zilliz Cloud GA 版本正式发布
本次 Zilliz Cloud 大版本更新提升了 Zilliz Cloud 向量数据库的可用性、安全性和性能,并推出了一系列新功能。这次升级后,Zilliz Cloud 能够更好地为用户提供面向各种应用场景的向量数据库服务,不断提升用户体验。
2023-4-7