

Elasticsearch 8.16采用了新的量化技术Better Binary Quantization(BBQ),以非对称量化方式大幅加快查找速度,并降低高维度数据的内存需求,甚至可节省内存达到95%
Elastic在最新版本Elasticsearch 8.16应用了一种称为Better Binary Quantization(BBQ)的量化技术,该技术能够大幅优化矢量数据的存储和处理方式。具有BBQ功能的Elasticsearch,将有助于降低高维度数据的内存需求,并提升查找和索引效率。
越来越多企业应用嵌入模型,因此对矢量数据的处理需求不断增加,而模型产生的大量浮点数float32数据,对存储空间和处理性能造成极大的挑战,这是因为在数百甚至是数千个维度的情境下,浮点数运算会消耗非常大量的内存和运算资源。
Elasticsearch之前已经引入int8量化技术来减轻这个问题,而这次添加的BBQ能够突破传统二进位量化技术的局限。BBQ是以新加坡南洋理工大学所提出的RaBitQ技术作为基础,经过Elastic进一步改良,使得浮点数数据可以缩减成二进位表示,进一步减少约95%的内存使用量,还同时保持高品质查找准确度。
相较于传统的乘积量化(Product Quantization)BBQ在索引及查找的效率更为快速。根据Elastic官方的测试,BBQ索引速度可以提升达20到30倍,查找速度则增快为2至5倍,而且精确度没有明显的下降。
之所以BBQ能够如此高性能,是因为采用了非对称量化方法,研究人员解释,这种量化方式在文档矢量,也就是由文档内容转换而成的矢量,与查找矢量采用不同精度处理。文档矢量被量化至比特层级,以最大程度压缩存储空间,而查找矢量则保持较高的精度,例如int4。如此非对称设计使得查找矢量在搜索过程中能够以更高的准确度比对文档矢量,达到较佳的搜索结果。
这种设计不仅能够减少存储空间的需求,还能利用快速的比特运算提升查找速度,实现低成本高效搜索,适用于需要处理大量矢量数据的应用场景。
在性能测试上,Elastic使用了E5-small、CohereV3以及CohereV2数据集,验证BBQ在内存需求和查找效率上的优势。在CohereV3测试中,BBQ仅需3倍过采样(Oversampling)即可达到90%的召回率(Recall),显示其在高维度数据处理上具有潜力。
在更大规模的测试中,Elastic表示,BBQ可在单一64 GB内存的节点上,存储并查找高达1.38亿个1024维度的浮点数矢量,而内存仅需19 GB,这对于需要存储大量矢量数据的企业特别有用。