Maximum inner-product search
Maximum inner-product search (MIPS) is a search problem, with a corresponding class of search algorithms which attempt to maximise the inner product between a query and the data items to be retrieved. MIPS algorithms are used in a wide variety of big data applications, including recommendation algorithms and machine learning.[1]
Formally, for a database of vectors defined over a set of labels in an inner product space with an inner product defined on it, MIPS search can be defined as the problem of determining
for a given query .
Although there is an obvious linear-time implementation, it is generally too slow to be used on practical problems. However, efficient algorithms exist to speed up MIPS search.[1][2]
MIPS can be viewed as equivalent to a nearest neighbor search (NNS) problem in which maximizing the inner product is equivalent to minimizing the corresponding distance metric in the NNS problem. Like other forms of NNS, MIPS algorithms may be approximate or exact.[3]
MIPS search is used as part of DeepMind's RETRO algorithm.[4]
References
- Abuzaid, Firas; Sethi, Geet; Bailis, Peter; Zaharia, Matei (2019-03-14). "To Index or Not to Index: Optimizing Exact Maximum Inner Product Search". arXiv:1706.01449 [cs.IR].
- Steve Mussmann, Stefano Ermon. Learning and Inference via Maximum Inner Product Search. In Proc. 33rd International Conference on Machine Learning (ICML), 2016.
- Keivani, Omid; Sinha, Kaushik; Ram, Parikshit (May 2017). "Improved maximum inner product search with better theoretical guarantees". 2017 International Joint Conference on Neural Networks (IJCNN): 2927–2934. doi:10.1109/IJCNN.2017.7966218. ISBN 978-1-5090-6182-2. S2CID 8352165.
- "RETRO Is Blazingly Fast". Mitchell A. Gordon. 2022-07-01. Retrieved 2022-07-04.