Efficient Dense Retrieval with Boundary Aware Cluster Routing
Authors: Jingyuan He, Luo Qi Chan, Beidi Chen, Chenyan Xiong


Reviewer paper summaries: This paper proposes a new approach for improving approximate nearest neighbor retrieval. The proposed approach, BACR, builds on centroid-based cluster routing methods by learning how to route queries to clusters based on a learned combination of features instead of only the query-centroid similarity as traditionally used. The paper empirically compares BACR to exact dense nearest neighbor search as well as a flat IVF-based method.
Summary of strengths: * This work focuses on the very important problem of approximate dense nearest neighbor retrieval, especially in the era of RAG and vector databases.
* The paper is well written.
* The proposed approach is clean and easy to understand. Clearly making a novel contribution.
* The theoretical runtime analysis is thorough and important.
Summary of weaknesses: * The experimental results are somewhat underwhelming. BACR seems to help marginally as compared with IVF-based index.
  * Three datasets for k-NN is not very many.
  * Only one setting of $p$ and $k$ are used. 
* Only a single ANNS method is compared against. Many algorithms exist, as suggested in the related work, but only one is compared against.
* This work seems to focus mostly on algorithmic advancements, and does not talk much about implementation. Oftentimes the engineering makes more of a difference than algorithmic changes.
* It is not clear that BACR provides a Pareto improvement over the IVF-based method.
Comments, suggestions and typos: * $f$ must be some metric in the formal sense, correct? Most of the time it is some dot product dominated measure (e.g. cosine similarity or inner product)?
* nit: Algorithm 1 main block should not be indented.
* Could using a GPU speed up the performance of the proposed approach?
* Figure 1 is a great illustrative example of the corner case problem BACR is aimed as solving.
* Figure 4 is nice. It’s great to see how much XGBoost weights each feature.
* Do we have to retrain the XGBoost model every time we change $p$?
* How does the value of $p$ affect the performance of BACR, both in terms of empirical speed and performance?
* Is there a way to tune $p$? How should we choose the value of $p$ in practice?
Overall assessment scores: 2