非对称量化:减少 97% 存储空间,近无损实现后期交互检索!
本节内容
包括量化、为何采用非对称量化、评分技巧、检索质量以及这将带来什么改变等方面。
量化:让多向量存储切实可行
量化是用低精度值表示高精度浮点向量,目标是减少数据负载大小并保持排序质量。简单后期交互检索成本高,多向量表示未压缩时大小约为单向量的 33 倍。使用二进制文档向量,多向量文档仅比单向量大 2% 左右,有助于改变权衡关系,使后期交互检索更可行。
为何采用非对称量化
压缩文档向量可节省存储空间等,而压缩查询向量效果不大。不将双方都二值化是因为全二进制检索会使查询向量丢弃幅度信息,导致更多质量损失。所以将查询向量保持为 int8,文档向量存储为二进制符号。
评分技巧
二进制文档向量存储成本低。int8 x int8 评分有现代 ARM CPU 支持,int8 x 二进制评分有更简单的恒等式,评分无需对每个维度进行完整乘法运算。二进制 x 二进制计算成本低,但质量损失大。
检索质量
在内部检索基准测试套件中评估了几种精度组合。全精度基准 NDCG@10 平均值为 90.26,int8 查询二进制文档平均值为 89.65,下降 0.61 个点,同时文档向量存储空间减少 32 倍。部分性能下降极小是因为 Wholembed v3 对量化有较强鲁棒性。还给出了不同精度组合的中位延迟和加速比等数据。
这将带来什么改变
非对称量化有效是因为检索系统对查询和文档精度成本考量不同。对于 silo,可降低存储成本、加快冷启动速度、提高每秒查询率、减少数据移动时间,能在不将文档视为大型 fp32 对象的情况下获得多向量表示的高质量。
