4~5강에서는 sparse, dense embedding을 어떻게 하는지에 대한 방법론을 배웠음

dense embedding에서는 scale up할 때 고려해야 하는 점이 많음 ! → FAISS를 이용하여 scale up 하는 전략을 배울 예정

1. Passage Retrieval and Similarity Search

복습

기존에는 인퍼런스에서 passage와 query를 각각 임베딩한 후 query로부터 거리가 가까운 순서대로 passage의 순위를 매기는 방식을 사용 했음..

그런데.. passage 수가 급격하게 늘어나면 연산량도 증가할 것이다.. → 어떻게 효율적으로 Vector를 찾을 수 있을까 ? → Similarity Search !

일단 효율적인 측면에서 L2보다 dot product가 좋아서 대부분 dot product를 사용한다

MIPS (Maximum Inner Product Search)

주어진 질문(query) 벡터 q에 대해 passage 벡터 v들 중 가장 질문과 관련된 벡터를 찾아야 함 !

→ 여기서 관련성은 내적이 가장 큰 것으로 연산

수식

인덱싱 : 방대한 양의 passage 벡터들을 저장하는 방법

검색 : 인덱싱된 벡터들 중 질문 벡터와 가장 내적값이 큰 상위 k개의 벡터를 찾는 과정

스크린샷 2021-10-16 오후 2.33.37.png