Skip to main content
QUICK REVIEW

[논문 리뷰] Fast Approximate Nearest Neighbor Search With The Navigating Spreading-out Graph

Cong Fu, Chao Xiang|arXiv (Cornell University)|2017. 07. 01.
Data Management and Algorithms인용 수 25
한 줄 요약

이 논문은 연결성, 낮은 외부 차수, 짧은 검색 경로, 그리고 컴act한 인덱스 크기를 동시에 최적화함으로써 대규모 데이터셋에서 대략 로그 시간 복잡도를 달성하고 높은 확장성을 확보하는 새로운 그래프 기반 근사 최근접 이웃 검색(ANNS) 인덱스인 Navigating Spreading-out Graph(NSG)을 제안한다. NSG는 Faiss와 HNSW와 같은 최신 기법들을 능가하며, 1억 개의 벡터에서 99% 정밀도로 시리얼 검색 대비 430배 빠른 성능을 보이며, 타오바오의 빌리언 노드 검색 엔진에서 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.

연구 동기 및 목표

  • 빌리언 노드 데이터셋에서 기존 그래프 기반 ANNS 방법의 확장성과 효율성 한계를 해결하기 위해.
  • 빠른 검색과 낮은 복잡도를 보장하면서도 높은 정확도와 낮은 메모리 사용량을 유지하는 그래프 구조를 설계하기 위해.
  • 검색 성능을 희생시키지 않고 색인 시간 복잡도를 감소시켜 대규모 데이터셋에서 실용적인 구현을 가능하게 하기 위해.
  • 실세계 ANNS 워크로드에 적합한 이론적으로 탄탄한 Monotonic Relative Neighborhood Graph(MRNG)의 실용적 근사치를 제공하기 위해.

제안 방법

  • 모든 쿼리에 대해 단조적 경로 진행을 보장함으로써 대략 로그 시간 복잡도를 보장하는 이론적 그래프 구조인 Monotonic Relative Neighborhood Graph(MRNG)를 제안한다.
  • 연결성, 낮은 외부 차수, 짧은 경로, 작은 인덱스 크기 사이의 균형을 고려한 실용적 근사치인 Navigating Spreading-out Graph(NSG)를 도입한다.
  • 쿼리에 가까운 노드부터 순차적으로 확장하는 탐색 알고리즘을 사용하며, 고정된 후보 풀 크기를 통해 노드를 잘라내는 방식의 탐욕적, 최선 우선 검색 알고리즘을 적용한다.
  • 두 단계 색인 전략을 사용한다: 먼저 k-NN 그래프를 구축한 후, 연결성과 경로 효율성을 향상시키기 위해 엣지를 재구성하는 스프레딩아웃 메커니즘을 적용한다.
  • 대규모 데이터셋을 부분집합으로 분할하고, 각각 독립적인 NSG를 구축한 후 병렬로 결과를 병합함으로써 분산 색인 및 검색을 구현한다.
  • HNSW의 계층적 다층 구조를 영감으로 삼지만, 엣지 잘라내기 및 스프레딩아웃 히우리스틱을 통해 더 빠른 색인과 낮은 외부 차수를 달성하도록 최적화한다.

실험 결과

연구 질문

  • RQ1그래프 기반 ANNS 방법이 빌리언 노드 데이터셋에서 로그 시간 복잡도를 달성하면서도 확장성 유지가 가능한가?
  • RQ2검색 성능나 정확도를 저하시키지 않고 색인 시간 복잡도를 어떻게 줄일 수 있는가?
  • RQ3근접성 그래프의 어떤 구조적 특성이 빠르고 정확한 최근접 이웃 검색에 가장 중요한가?
  • RQ4이론적으로 최적의 그래프(MRNG)에 대한 실용적 근사치를 설계할 수 있는가? 이 근사치는 연결성, 낮은 외부 차수, 그리고 컴act함 사이의 균형을 잘 유지하는가?

주요 결과

  • NSG는 DEEP1B의 1억 개 벡터 서브셋에서 99% 정밀도로 시리얼 CPU 검색 대비 430배 빠른 성능을 보이며, Faiss-GPU와 Faiss-16core를 능가한다.
  • NSG-16core는 625만 개의 서브셋에 대해 16개의 병렬 NSG를 사용하여 색인을 3.53시간 내에 완료하고, 분산 환경에서 20억 개의 벡터에서 평균 응답 시간이 5ms 미만을 달성한다.
  • 동일한 정밀도에서 전자상거래 데이터에서 IVFPQ 기반 기준 대비 NSG는 5~10배 더 빠르며, 4,500만 개의 벡터에서 실시간 응답 요구 조건을 충족한다.
  • 통합 색인 대비 분산 색인 전략이 총 색인 시간을 단축시키며, 16개의 NSG를 구축하는 복잡도는 전체 데이터셋에 대해 하나의 NSG를 구축하는 것보다 낮다.
  • 고정밀도 영역에서 NSG는 HNSW를 능가하며, 대규모 데이터에서 HNSW가 겪는 메모리 초과 오류를 방지한다.
  • NSG는 타오바오의 프로덕션 검색 엔진에 성공적으로 구현되어, 저지연과 고정밀도를 유지하며 빌리언 스케일의 고차원 벡터를 처리하고 있다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.