Skip to main content
QUICK REVIEW

[論文レビュー] Fast Approximate Nearest Neighbor Search With The Navigating Spreading-out Graph

Cong Fu, Chao Xiang|arXiv (Cornell University)|Jul 1, 2017
Data Management and Algorithms被引用数 25
ひとこと要約

本稿では、接続性、低出次数、短い探索経路、コンパクトなインデックスサイズを同時に最適化することで、対数的探索複雑度と高いスケーラビリティを達成する、新しいグラフベースの近似最近傍探索(ANNS)インデックスであるNaviating Spreading-out Graph(NSG)を提案する。NSGはFaiss や HNSW といった最先端の手法を凌駉し、100Mベクトルのデータセットで99%の精度でシリアル探索比430倍の高速化を達成しており、淘宝(Taobao)の10億ノード規模の検索エンジンにスケールして導入され、平均応答時間が5msである。

ABSTRACT

Approximate nearest neighbor search (ANNS) is a fundamental problem in databases and data mining. A scalable ANNS algorithm should be both memory-efficient and fast. Some early graph-based approaches have shown attractive theoretical guarantees on search time complexity, but they all suffer from the problem of high indexing time complexity. Recently, some graph-based methods have been proposed to reduce indexing complexity by approximating the traditional graphs; these methods have achieved revolutionary performance on million-scale datasets. Yet, they still can not scale to billion-node databases. In this paper, to further improve the search-efficiency and scalability of graph-based methods, we start by introducing four aspects: (1) ensuring the connectivity of the graph; (2) lowering the average out-degree of the graph for fast traversal; (3) shortening the search path; and (4) reducing the index size. Then, we propose a novel graph structure called Monotonic Relative Neighborhood Graph (MRNG) which guarantees very low search complexity (close to logarithmic time). To further lower the indexing complexity and make it practical for billion-node ANNS problems, we propose a novel graph structure named Navigating Spreading-out Graph (NSG) by approximating the MRNG. The NSG takes the four aspects into account simultaneously. Extensive experiments show that NSG outperforms all the existing algorithms significantly. In addition, NSG shows superior performance in the E-commercial search scenario of Taobao (Alibaba Group) and has been integrated into their search engine at billion-node scale.

研究の動機と目的

  • 100億ノード規模のデータセットにおける、従来のグラフベースのANNS手法のスケーラビリティおよび効率性の制限を解決すること。
  • 高速で低複雑度の探索を保証しながら、高い正確性と低いメモリフットプリントを維持するグラフ構造を設計すること。
  • インデックス作成の時間計算量を低下させつつ、探索性能を損なわず、大規模データセットにおける実用的導入を可能にすること。
  • 現実のANNSワークロードに適した、モノトニック相対近傍グラフ(MRNG)の理論的最適構造に対する実用的近似を提供すること。

提案手法

  • モノトニック相対近傍グラフ(MRNG)を提唱する。これは、クエリへの単調な経路進行を保証することで、近似的に対数的探索複雑度を達成する理論的グラフ構造である。
  • MRNGの実用的かつ近似されたバージョンとして、接続性、低出次数、短い経路、およびコンパクトなインデックスサイズのバランスを取ったNaviating Spreading-out Graph(NSG)を導入する。
  • NSG上でグリーディでベストファースト探索アルゴリズムを採用し、ノードをクエリからの近接度に基づいて逐次展開し、固定された候補プールサイズによるプルーニングを実施する。
  • 2段階のインデキシング戦略を採用する:まずk-NNグラフを構築し、その後スプライディングアウト機構を適用してエッジを再ワイヤーし、接続性と経路効率を向上させる。
  • 大規模データセットをサブセットに分割し、独立したNSGを構築し、並列で結果をマージすることで、分散インデキシングおよび検索を実現する。
  • HNSWにインspiredされた階層的で多層構造を採用するが、エッジのプルーニングとスプライディングアウトヒューリスティクスを最適化することで、より高速なインデキシングと低出次数を実現する。

実験結果

リサーチクエスチョン

  • RQ1グラフベースのANNS手法は、100億ノード規模のデータセットに対しても、対数的探索複雑度を達成しつつスケーラブルであるか?
  • RQ2探索性能や正確性を損なわず、インデキシングの時間計算量をどのように低減できるか?
  • RQ3近接グラフのどの構造的性質が、高速かつ正確な最近傍探索において最も重要か?
  • RQ4理論的に最適なグラフ(MRNG)の実用的近似として、接続性、低出次数、コンパクトネスをバランスさせる構造を設計できるか?

主な発見

  • NSGは、DEEP1Bの100Mサブセットで99%の精度を達成し、シリアルCPU探索比430倍の高速化を達成しており、Faiss-GPU や Faiss-16core を上回る性能を示した。
  • NSG-16coreは、625万のサブセットに分散して16個のNSGを並列に構築し、3.53時間でインデキシングを完了し、20億ベクトルの分散環境でも平均応答時間が5ms未満を達成した。
  • eコマースデータにおいて、NSGはIVFPQベースラインと同等の精度で5〜10倍高速であり、4500万ベクトルのデータでリアルタイム応答要件を満たした。
  • モノリシックなインデキシングと比較して、分散インデキシング戦略により総インデキシング時間の短縮が達成された。16個のNSGを構築する複雑度は、全データセットを1つのNSGとして構築するよりも低い。
  • 高精度領域ではHNSWを上回り、大規模データで発生するメモリ不足(Out-of-Memory)エラーを回避した。
  • NSGは、低遅延かつ高正確性で、10億スケールの高次元ベクトルを処理する淘宝(Taobao)の本番検索エンジンに成功裏に導入された。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。