Core Concepts
AiSAQ는 압축된 벡터를 저장소에 오프로드하여 대규모 데이터셋에서도 약 10MB의 메모리 사용으로 고성능 근사 최근접 이웃 검색을 달성한다.
Abstract
이 논문은 AiSAQ라는 새로운 ANNS 데이터 오프로딩 방법을 제안한다. AiSAQ는 다음과 같은 특징을 가진다:
압축된 벡터를 DRAM이 아닌 저장소에 저장하여 대규모 데이터셋에서도 약 10MB의 메모리 사용만으로 고성능 ANNS를 달성한다.
저장소 내 데이터 배치 최적화를 통해 DiskANN 대비 미미한 성능 저하만 있으면서도 메모리 사용을 크게 줄일 수 있다.
인덱스 로드 시간이 매우 짧아 다양한 대규모 데이터셋 간 빠른 전환이 가능하다. 이는 대규모 언어 모델의 retrieval-augmented generation 기능 향상에 기여할 수 있다.
동일 벡터 공간의 데이터셋들이 PQ 중심점을 공유하면 인덱스 전환 시간을 서브밀리초 수준으로 단축할 수 있다.
Stats
SIFT1B 데이터셋에서 DiskANN은 32GB의 RAM을 사용하지만, AiSAQ는 약 11MB의 RAM만 사용한다.
SIFT1M, SIFT1B, KILT E5 22M 데이터셋에서 AiSAQ는 DiskANN 대비 약간의 지연 증가가 있지만, 95% 이상의 재현율@1을 달성한다.
DiskANN의 경우 메모리 사용량을 줄이면 지연 시간이 크게 증가하지만, AiSAQ는 메모리 사용량과 관계없이 밀리초 단위의 지연 시간을 유지한다.
DiskANN의 인덱스 로드 시간은 데이터셋 규모에 비례하여 증가하지만, AiSAQ는 데이터셋 규모와 관계없이 수 밀리초 수준의 로드 시간을 보인다.
동일 벡터 공간의 데이터셋들이 PQ 중심점을 공유하면 AiSAQ의 인덱스 전환 시간을 서브밀리초 수준으로 단축할 수 있다.
Quotes
"AiSAQ query search requires only ∼10 MB of RAM for any size of dataset including SIFT1B billion-scale dataset, without changing graph topology and high recall of original DiskANN."
"Thanks to data placement optimization on SSD, AiSAQ achieves millisecond-order latency for >95% 1-recall@1 with tiny memory usage."
"AiSAQ achieved negligible index load time before query search. Applications can flexibly switch between multiple billion-scale corpus corresponding to users' requests."