向量量化压缩
Vector Quantization
通过 INT8/半精度/二值化等量化技术压缩向量存储,降低内存和计算开销
子问题
1.精度与压缩率权衡
2.量化编码与解码
3.距离计算适配
4.MIPS 到欧氏距离的空间变换
5.逐记录 Streaming 量化的元数据附带
6.量化器工厂注册与按名称查找
各项目的解法1 solutions
Signals
横向对比
| 维度 | zvec |
|---|---|
| 量化精度 | INT4/INT8/FP16/Binary 四级精度,模板参数化统一实现 |
| 训练算法 | Entropy-based KL 散度最优阈值搜索(参考 TensorRT INT8 校准) |
| 编解码架构 | Converter/Reformer 双组件分离,通过 IndexMeta 序列化参数传递 |
| 距离适配 | 自动切换度量(IP→Hamming, MIPS→L2),SIMD 加速 INT8 距离计算 |
| Streaming 支持 | RecordQuantizer 逐记录独立量化,附带 scale/bias/sum 元数据 |
| 注册机制 | INDEX_FACTORY_REGISTER 宏编译期自注册,支持别名映射 |
最佳实践
1.INT8 量化可在精度损失 <1% 的情况下减少 75% 内存
2.KL 散度搜索最优阈值比 min-max 线性映射精度更高
3.Converter/Reformer 分离使索引构建和查询阶段可独立演进
4.INT4 两两打包到 uint8 可在 INT8 基础上再减 50% 内存