Post

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.