MIPS
MIPS(Maximum Inner Product Search)
학습된 임베딩의 점수 자체를 신뢰하는 검색 방식
- 주어진 질의 벡터와 가장 내적(Inner Product)이 큰 벡터(문서)를 찾는 검색 방법
- EX) 입력 질의 $q$와 문서 임베딩들 $d_1, d_2, …, d_N$이 주어졌을 때, 다음 값을 최대화하는 문서를 찾는 것이 목표
- \[MIPS = argmax_i\ q\ ・\ d_i\]
- 두 벡터가 방향이 비슷할수록 값이 커짐, 즉 유사도가 높다는 뜻
- 입력 질의 벡터: $q \in \mathbb{R}^n$
문서 임베딩: $d_i\in \mathbb{R}^n$
- 데이터베이스에 N개의 문서가 있다고 하면: \(z^*=argmax_{i \in {1,...,N}}(q^⊤d_i)\)
보통 Top-K 문서를 찾습니다 (RAG에서는 K=5~10 정도).
| 비교 항목 | MIPS (Inner Product) | Cosine Similarity |
|---|---|---|
| 계산식 | ( $q \cdot d_i$ ) | ( ${q \cdot d_i}$ ) |
| 벡터 크기 영향 | 벡터 크기에 민감 | 크기 무시 (정규화함) |
| 사용 상황 | Embedding 크기가 의미를 가질 때 (예: attention weights) | 텍스트 의미 비교, 정규화된 임베딩 |
| RAG 논문에서 | ✅ MIPS 사용 | — |
- RAG는 “학습 가능한 query/document encoder”를 사용하기 때문에 벡터 크기도 정보로 활용하므로 Cosine이 아닌 MIPS를 사용함
This post is licensed under CC BY 4.0 by the author.