chamfer-similarity

1 개의 포스트

MUVERA: 다중 벡터 검색 (새 탭에서 열림)

구글 리서치에서 발표한 MUVERA는 복잡한 멀티 벡터 검색(Multi-vector retrieval) 과정을 단일 벡터 기반의 최대 내적 탐색(MIPS) 문제로 변환하여 처리 속도를 혁신적으로 개선한 알고리즘입니다. 이 기술은 고정 차원 인코딩(FDE)을 통해 여러 개의 벡터 집합을 하나의 벡터로 압축함으로써, 멀티 벡터 모델의 높은 정확도를 유지하면서도 기존의 최적화된 단일 벡터 검색 인프라를 그대로 활용할 수 있게 해줍니다. **멀티 벡터 검색의 복잡성과 기존의 한계** * ColBERT와 같은 최신 멀티 벡터 모델은 텍스트의 각 토큰마다 별도의 임베딩을 생성하여 문맥을 정밀하게 파악하지만, 이는 처리해야 할 벡터의 양을 기하급수적으로 늘리는 결과를 초래합니다. * 멀티 벡터 간의 유사도를 측정할 때는 주로 챔퍼 유사도(Chamfer similarity)를 사용하는데, 이는 비선형적인 행렬 곱 연산이 필요하여 단일 벡터의 점곱(Dot-product) 연산보다 훨씬 많은 계산 자원을 소모합니다. * 기존의 효율적인 검색 알고리즘(공간 분할 기법 등)은 대개 단일 벡터에 최적화되어 있어, 복잡한 멀티 벡터 구조에서는 검색 속도가 데이터 규모에 비례해 느려지는 성능 병목 현상이 발생합니다. **고정 차원 인코딩(FDE)을 통한 효율화** * MUVERA의 핵심은 '고정 차원 인코딩(Fixed Dimensional Encoding, FDE)' 기술로, 여러 벡터로 구성된 데이터 포인트를 유사도 정보가 보존된 단일 벡터로 변환합니다. * 이 방식은 두 FDE 벡터 간의 내적 값이 원래 멀티 벡터 집합 간의 복잡한 유사도와 유사하도록 설계되어, 고차원적인 검색 문제를 단순한 벡터 비교 문제로 치환합니다. * 특히 이 변환 과정은 '데이터 무관(Data-oblivious)' 방식으로 작동하여 특정 데이터셋의 분포에 의존하지 않으므로, 데이터가 실시간으로 변하는 스트리밍 환경에서도 안정적으로 적용 가능합니다. **MUVERA의 3단계 검색 프로세스** * **FDE 생성 및 인덱싱**: 문서 내의 멀티 벡터 집합을 단일 FDE 벡터로 변환하고, 이를 표준 MIPS 솔버를 사용하여 인덱싱합니다. * **MIPS 기반 1차 검색**: 쿼리가 들어오면 쿼리의 FDE를 즉시 계산한 후, 최적화된 MIPS 알고리즘을 통해 수많은 데이터 중 유사도가 높은 후보군을 하위 선형 시간(Sublinear time) 내에 빠르게 추출합니다. * **재순위화(Re-ranking)**: 추출된 소수의 후보군에 대해서만 원래의 정밀한 챔퍼 유사도를 계산하여 최종 검색 결과의 순위를 조정함으로써 정확도를 극대화합니다. 멀티 벡터 모델의 높은 검색 품질을 원하면서도 기존 단일 벡터 검색 엔진의 속도와 효율성을 포기할 수 없는 환경이라면 MUVERA가 최적의 해결책이 될 수 있습니다. 기존 MIPS 인프라를 그대로 사용하면서 모델의 성능만 업그레이드할 수 있다는 점에서 시스템 확장성 측면의 이점이 매우 큽니다.