Computer Science > Information Retrieval
[Submitted on 5 Jun 2017 (v1), revised 2 Aug 2018 (this version, v2), latest version 15 Mar 2019 (v3)]
Title:To Index or Not to Index: Optimizing Maximum Inner Product Search
View PDFAbstract:Making top-$K$ predictions for state-of-the-art Matrix Factorization models requires solving the Maximum Inner Product Search problem. Solving MIPS can be computationally expensive, thus spurring the recent development of several indexing techniques for this task. These techniques generally exploit similarity between user or item weights in the models to accelerate predictions. In this paper, we show that the current state of the art does not always outperform brute-force matrix multiplication: these models may have significantly less similarity than can be exploited by these techniques. To address this problem, we propose RecOpt, a system that uses an efficient, sampling-based estimation technique to automatically choose between indexing or brute force. In addition, we propose a new baseline indexing scheme, RecDex, that can leverage blocked linear algebra to improve indexing-based serving performance. Together, RecOpt and RecDex outperform state-of-the-art indexes by 3.2$\times$ on average, and up to 10.9$\times$, on widely studied models for recommendations and MIPS.
Submission history
From: Firas Abuzaid [view email][v1] Mon, 5 Jun 2017 17:56:43 UTC (373 KB)
[v2] Thu, 2 Aug 2018 22:08:15 UTC (1,071 KB)
[v3] Fri, 15 Mar 2019 00:52:25 UTC (1,227 KB)
Current browse context:
cs.IR
References & Citations
Bibliographic and Citation Tools
Bibliographic Explorer (What is the Explorer?)
Connected Papers (What is Connected Papers?)
Litmaps (What is Litmaps?)
scite Smart Citations (What are Smart Citations?)
Code, Data and Media Associated with this Article
alphaXiv (What is alphaXiv?)
CatalyzeX Code Finder for Papers (What is CatalyzeX?)
DagsHub (What is DagsHub?)
Gotit.pub (What is GotitPub?)
Hugging Face (What is Huggingface?)
Papers with Code (What is Papers with Code?)
ScienceCast (What is ScienceCast?)
Demos
Recommenders and Search Tools
Influence Flower (What are Influence Flowers?)
CORE Recommender (What is CORE?)
arXivLabs: experimental projects with community collaborators
arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.
Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.
Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs.