缩放矢量搜索:比较量化和 Matryoshka 嵌入以降低 80% 的成本

应对性能悬崖:如何将 MRL 与 int8 和二进制量化相结合,平衡基础设施成本和检索精度。帖子《缩放矢量搜索:比较量化和俄罗斯套娃嵌入,以降低 80% 的成本》首先出现在《走向数据科学》上。

来源:走向数据科学

是人工智能基础设施的核心,支持从检索增强生成 (RAG) 到代理技能和长期记忆等多种人工智能功能。因此,对大型数据集建立索引的需求正在快速增长。对于工程团队来说,从小规模原型过渡到全面生产解决方案时,矢量数据库基础设施所需的存储和相应的费用开始成为一个重大痛点。这就是需要优化的时候。

在本文中,我探讨了矢量数据库存储优化的主要方法:量化和俄罗斯套娃表示学习 (MRL),并分析了如何单独或串联使用这些技术来降低基础设施成本,同时保持高质量的检索结果。

深入探讨

向量存储成本剖析

要了解如何优化索引,我们首先需要查看原始数据。首先为什么矢量数据库变得如此昂贵?

矢量数据库的内存占用由两个主要因素驱动:精度和维度。

  • 精度:嵌入向量通常表示为 32 位浮点数 (Float32) 数组。这意味着向量内的每个单独的数字都需要 4 个字节的内存。
  • 维度:维度越高,模型封装底层数据语义细节的“空间”就越大。现代嵌入模型通常输出 768 或 1024 维的向量。
  • 让我们计算一下生产环境中标准 1024 维嵌入的数学:

  • 基本向量大小:1024 维 * 4 字节 = 每个向量 4 KB。
  • 高可用性:为了确保可靠性,生产向量数据库利用复制(通常为 3)。这使得每个索引向量的真实内存需求达到 12 KB。
  • 100 万个向量:~12 GB RAM
  • 1 亿个向量:~1.2 TB RAM
  • 为了优化存储并最大限度地降低成本,有两种主要技术:

    量化

    结论