Milvus 기본 벡터 검색 — ANN 검색 살펴보기

Milvus 기본 벡터 검색 — ANN 검색 살펴보기

벡터 검색에서 ANN(근사 최근접) 검색은 지정한 metric type을 기준으로 질의 벡터와 컬렉션의 벡터 사이 유사도를 재고, 유사도가 높은 top-K 개체를 뽑아요. 색인을 어떻게 만들었는지에 따라 검색 속도·메모리·정확도가 달라집니다.

출처: https://milvus.io/docs/search.md

ANN 검색과 AUTOINDEX

ANN 검색은 미리 만든 인덱스 위에서 동작해요. 인덱스 유형에 따라 검색 처리량, 메모리 사용량, 검색 정확도가 달라지므로 둘 사이의 균형을 잘 잡아야 합니다.

학습 곡선을 줄이기 위해 Milvus는 AUTOINDEX를 제공해요. AUTOINDEX를 쓰면 Milvus가 인덱스를 만들면서 컬렉션 안의 데이터 분포를 분석하고, 검색 성능과 정확도의 균형을 맞추는 최적의 인덱스 파라미터를 자동으로 설정해 줍니다.

단일 벡터 검색

단일 벡터 검색은 질의 벡터 하나만 사용하는 검색이에요. 미리 만든 인덱스와 검색 요청에 담긴 metric type을 바탕으로, Milvus가 질의 벡터와 가장 유사한 top-K 벡터를 찾아 줍니다.

검색 결과 정확도(recall)나 처리량 성능을 올리려면 검색 요청의 level을 조정하거나 파라미터를 미세 조정하는 방식으로 확장할 수 있어요. 대규모 데이터에서는 단일 벡터 검색 외에 벌크 벡터 검색, 파티션 안에서의 ANN 검색, output fields 활용, limit/offset, 레벨, recall rate와 같은 기능을 조합해 씁니다.

더 알아보기