Zvec Logo

量化

量化是一种压缩技术,将向量从原始格式(具体为 FP32)转换为更紧凑的表示,减小用于搜索的向量索引大小。

这种转换通过每维度使用更少的位来近似向量 — 实现:

  • ✨ 更低的内存占用 — 尤其当索引驻留在内存中时,
  • ✨ 更快的 I/O 和更低的查询延迟 — 由于数据传输减少和高效的整数/fp16 运算,
  • ✨ 在资源受限的硬件上更好的可扩展性。

Quantization

重要

  • 量化是一种有损且不可逆的压缩方法。它以可能降低 Recall 精度为代价来提高运行时效率。请务必验证其对检索质量的影响。
  • 量化仅在应用于 FP32 格式的向量时才有收益。

存储行为

为确保数据完整性和灵活性,Zvec 同时存储原始向量和量化后的版本。这意味着:

  • 整体磁盘存储使用量可能增加(因为存储了两份副本)。
  • 仅量化后的向量被加载到内存中用于索引和搜索,显著减少了活跃索引大小。
  • 用户始终可以在需要时检索原始的未修改向量

启用量化

你可以在创建向量索引时,通过选择偏好的量化类型 — 如 FP16INT8INT4VectorSchema 中使用 quantize_type 参数来启用量化。

设置后,Zvec 会自动生成和管理量化表示以及你的原始向量。


量化类型

FP16(半精度浮点)

使用 16 位浮点数来降低内存占用并加速计算,同时保持较高的数值精度。适用于需要接近 FP32 精度但希望提高效率的应用。需要从 FP32 源进行转换。

INT8(8 位整数量化)

使用 8 位整数表示向量,显著减少存储和内存带宽需求。对于许多相似度搜索任务,提供了速度、大小和检索精度之间的良好权衡。需要从 FP32 源进行转换。

INT4(4 位整数量化)

使用每维度仅 4 位的超紧凑表示。最大化存储密度和推理速度,适用于对延迟敏感或资源受限的环境,可接受一定程度的精度损失。需要从 FP32 源进行转换。

目录