https://github.com/kemingy/gathers
尝试在聚类算法里面加点 1 bit 量化,效果还可以,高维数据加速比较明显。
顺便 port 到 Python,PyO3 还专门搞了一套 numpy interface,挺好用的。
主体上参考了 faiss,不过没实现 faiss 里面那个 blocked kernel matrix multiplication,用 RaBitQ 替换了这部分计算。
后续会加一下多层的支持,实际中发现多层其实挺有用的,cluster 数量越少,类间越均匀,按照 ScaNN 的研究,聚类越均匀效果越好。
尝试在聚类算法里面加点 1 bit 量化,效果还可以,高维数据加速比较明显。
顺便 port 到 Python,PyO3 还专门搞了一套 numpy interface,挺好用的。
主体上参考了 faiss,不过没实现 faiss 里面那个 blocked kernel matrix multiplication,用 RaBitQ 替换了这部分计算。
后续会加一下多层的支持,实际中发现多层其实挺有用的,cluster 数量越少,类间越均匀,按照 ScaNN 的研究,聚类越均匀效果越好。