Keywords: compression, vector databases, clustering, permutations
TL;DR: We encode cluster assignments, indicating which cluster a data point belongs to, without creating labels. The information is implicit in the ordering of the dataset. This results in significant memory savings for vector database and applications.
Abstract: We present an optimal method for encoding cluster assignments of arbitrary data sets. Our method, Random Cycle Coding (RCC), encodes data sequentially and sends assignment information as cycles of the permutation defined by the order of encoded elements. RCC does not require any training and its worst-case complexity scales quasi-linearly with the size of the largest cluster. We characterize the achievable bit rates as a function of cluster sizes and number of elements, showing RCC consistently outperforms previous methods while requiring less compute and memory resources. Experiments show RCC can save up to $2$ bytes per element when applied to vector databases, and removes the need for assigning integer ids to identify vectors, translating to savings of up to $70\%$ in vector database systems for similarity search applications.
Primary Area: Other (please use sparingly, only use the keyword field for more details)
Submission Number: 7158
Loading