Solving Multi-Codebook Quantization in the GPU

Abstract

We focus on the problem of vector compression using multi-codebook quantization (MCQ). MCQ is a generalization of k -means where the centroids arise from the combinatorial sums of entries in multiple codebooks, and has become a critical component of large-scale, state-of-the-art approximate nearest neighbour search systems. MCQ is often addressed in an iterative manner, where learning the codebooks can be solved exactly via least-squares, but finding the optimal codes results in a large number of combinatorial NP-Hard problems. Recently, we have demonstrated that an algorithm based on stochastic local search for this problem outperforms all previous approaches. In this paper we introduce a GPU implementation of our method, which achieves a $30{\times }$ 30 × speedup over a single-threaded CPU implementation. Our code is publicly available ( https://github.com/jltmtz/local-search-quantization ).

Cite

Text

Martinez et al. "Solving Multi-Codebook Quantization in the GPU." European Conference on Computer Vision Workshops, 2016. doi:10.1007/978-3-319-46604-0_45

Markdown

[Martinez et al. "Solving Multi-Codebook Quantization in the GPU." European Conference on Computer Vision Workshops, 2016.](https://mlanthology.org/eccvw/2016/martinez2016eccvw-solving/) doi:10.1007/978-3-319-46604-0_45

BibTeX

@inproceedings{martinez2016eccvw-solving,
  title     = {{Solving Multi-Codebook Quantization in the GPU}},
  author    = {Martinez, Julieta and Hoos, Holger H. and Little, James J.},
  booktitle = {European Conference on Computer Vision Workshops},
  year      = {2016},
  pages     = {638-650},
  doi       = {10.1007/978-3-319-46604-0_45},
  url       = {https://mlanthology.org/eccvw/2016/martinez2016eccvw-solving/}
}