[논문 리뷰] COIL: Revisit Exact Lexical Match in Information Retrieval with Contextualized Inverted List

[논문 리뷰] COIL: Revisit Exact Lexical Match in Information Retrieval with Contextualized Inverted List
Photo by Slava Auchynnikau / Unsplash

이번 시간에는 COIL: Revisit Exact Lexical Match in Information Retrieval with Contextualized Inverted List 논문에 대해서 살펴봅니다.

COIL은 기존 BM25와 같은 Exact lexical match 방식과 ColBERT와 같은 Dense Retriever의 장점을 합친 모델입니다. 이를 통해 적은 컴퓨팅 비용으로도 당시의 SOTA deep LM Retriever과 유사한 성능을 내는 점이 특징입니다.

논문은 링크에서 확인할 수 있습니다.

더불어 Retriver 성능 개선과 관련하여 이전에 리뷰한 XTR 논문과 함께 읽어보셔도 큰 도움이 됩니다!

Methodologies

Preliminaries

논문이 발표된 2021년 당시, DPR와 ColBERT와 같은 Dense Retriever 모델을 중심으로 한 연구가 활발하게 이루어지고 있었습니다. Dense Retriever는 BERT와 같은 딥러닝 모델을 활용하여 쿼리와 문서의 임베딩을 생성하고 비교하는 방식으로, 기존의 Sparse Retriever와 비교하여 문장의 문맥적이고 의미적인 표현을 보다 잘 살릴 수 있어 검색 성능을 높일 수 있는 장점이 있습니다.

그렇다면 연구팀은 왜 BM25와 같은 exact lexical match 방식을 COIL에 도입하고자 했을까요?

가장 큰 이유는 바로 효율성입니다.

우선 쿼리 용어와 정확히 일치하는 문서에 대해서만 점수를 매기면 됩니다. 또한 용어들에 대한 점수를 미리 Inverted Index List에 저장함으로써, 필요한 문서와 용어를 효율적으로 빠르게 검색할 수 있습니다.

이를 통해 연구팀은 exact lexical match 시스템의 효율성을 유지하면서도, 신경 정보 검색을 통해 의미적인 정보도 살려 성능을 향상시키고자 했습니다.

Contextualized Exact Lexical Match

COIL이 어떻게 동작하는지 살펴봅시다.

우선 기존 Dense Retriver 방법론들처럼 query와 document 별로 각 token의 contexualized vector representation을 계산합니다.

\[v^q_i = W_{tok}LM(q,i) + b_{tok} \]

\[v^d_j = W_{tok}LM(d,j) + b_{tok}\]

그리고 query와 document 간의 contextualized exact lexical match scoring function을 구합니다.

scoring function은 아래와 같습니다. query와 document의 token 쌍 중에서 exact match하는 token 들의 vector similarities를 구합니다. 이때 Max 연산을 통해서 같은 token이 여러 개 있을 때 가장 중요한 토큰만을 고려할 수 있도록 한다고 합니다.

\[s_{tok}(q,d) = \sum\limits_{q_i\in q \cap d}^n \max \limits_{d_j=q_i}(v_i^{q\intercal}v_j^{d}) )\]

위 방식을 논문에서는 COIL-tok이라고 부릅니다.

더불어 연구팀은 COIL-tok에서는 vocabulary mismatch 문제가 발생할 수 있다는 점을 지적하며, CLS 토큰을 활용하는 COIL-full 방식도 제안합니다. 기존 COIL-tok에 query와 document의 CLS vector를 고려할 수 있는 term이 추가되었습니다. 이를 통해 lexical-different term 사이에서의 score도 효과적으로 고려할 수 있다고 합니다.

\[s_{full}(q,d) = s_{tok}(q,d) + v_{cls}^{q}\intercal v_{cls}^d\]

위 scoring function을 활용하여 아래 수식을 최소화하도록 모델은 학습됩니다. 이때 batch negative로 BM25를 활용하여 hard negative를 생성했다고 합니다.

Index and Retrieval with COIL

COIL에서는 미리 계산해둔 document representations에 대해 빠르게 검색하기 위해 inverted index list를 활용합니다. document의 각 토큰들의 벡터에 대한 list와 COIL-full을 위한 CLS에 대한 list 두 개로 구성 되어 있습니다.

각각의 수식은 아래와 같습니다.

\[I^t = \{v_j^d | d_j = t, d \in C \}\]

\[I^{cls} = \{v_{cls}^d, d \in C \}\]

더불어 연구팀은 더욱 효율적인 시스템 구현을 위해 아래와 같은 방법을 사용했습니다.

벡터 스택 생성

각 inverted list $I^t$의 벡터를 행렬 \(M^{n_t \times |I_k|}\)로 스택 생성. 이를 통해 inverted list를 탐색하고 벡터 내적을 계산하는 작업을 최적화된 BLAS routine으로 효율적으로 처리할 수 있음. \(v_{cls}^d\)도 마찬가지로 \(M_{cls}\)로 표현할 수 있음

Approximate search index

dense vector들의 collection으로서 각 inverted list를 Approximate search index로 조직하여 검색 속도를 더욱 높일 수 있음

Parallel processing

다양한 inverted list에 대한 점수 계산은 병렬도 수행될 수 있음

Experiment & Results

연구팀은 TREC 2019와 MSMARCO에 대해 훈련 및 평가를 진행했습니다.

결과는 다음과 같습니다.

COIL-tok와 COIL-full 시스템 모두 Lexical Retriever 보다 좋은 성능을 보여주고 있습니다. 더불어 COIL-full은 all-to-all token interation을 수행하는 ColBERT와 비교하여도 더욱 적은 연산량으로도 비슷한 성능을 보여주고 있습니다. 참고로 BERT reranker는 2700ms 이상이 소요되지만 COIL은 10ms 정도로 훨씬 빠른 속도를 보여준다고 합니다.

연구팀은 COIL 시스템에서 토큰 차원 \(n_t\)와 CLS 차원 \(n_c\)의 변화에 대한 성능 변화도 측정하였습니다.

결과를 살펴보면 두 토큰 차원 모두 줄여도 성능에는 큰 하락이 없는 것을 볼 수 있습니다. 이는 작은 차원으로도 충분한 성능을 유지할 수 있음을 시사한다고 합니다.

더불어 BM25와 DPR 그리고 ColBERT 모델과 Latency를 비교했을 때, COIL 모델은 낮은 차원에서도 ColBERT와 유사한 높은 성능을 보이면서 bm25와 비슷한 latency를 보이고 있습니다.

마지막으로 COIL은 기존 DPR과 같은 모델처럼 Single Embedding을 사용하여 비교하는 것이 아닌 Token-level Embedding을 비교하여 맥락 정보를 더욱 잘 파악할 수 있다고 합니다. 예를 들어 아래 Table 4의 첫 번째 쿼리에서 cabinet은 가구가 아닌 정부라는 의미로 사용이 되었는데, COIL은 이러한 맥락적 의미를 잘 포착하여 높은 점수를 부여하는 것을 확인할 수 있습니다.

Conclusion

IR 분야에서는 검색의 성능 만큼이나 효율성 (Latency, Memory Usage 등)도 매우 중요한데요, 이러한 점에서 COIL은 Exact Lexical Match 방식의 장점인 효율성과 Dense Retriver의 장점인 성능이라는 두 장점을 적절히 합친 점에서 인상적입니다.

다음 시간에는 COIL에서 static lexical routing을 개선한 CITADEL을 살펴보도록 하겠습니다.

감사합니다 😊

Read more

[논문 리뷰] Learning Retrieval Augmentation for Personalized Dialogue Generation

[논문 리뷰] Learning Retrieval Augmentation for Personalized Dialogue Generation

이번 시간에는 Personalized dialogue generation을 RAG와 결합하여 시도한 "Learning Retrieval Augmentation for Personalized Dialogue Generation" 논문을 살펴봅니다. 특히 최근에 개인화된 AI가 주목 받고 있는데요, AI가 사용자의 페르소나, 정보, 성격 등을 반영한다면 더욱 풍성하고 도움이 되는 답변을 생성할 수 있습니다. 이를 Personalized dialogue generation이라고 하는데요. 연구팀은 어떻게 해당 문제를

By Yongwoo Song
[독서] 나는 왜 생각이 많을까?

[독서] 나는 왜 생각이 많을까?

✒️발상을 바꿔야 한다. 앞으로는 '불안해하지 말아야지'가 아니라 '불안과 더불어 살아가야지'라고 생각하자.나는 왜 생각이 많을까? | 홋타 슈고 | 서사원- 교보ebook머릿속의 스위치를 끄고 싶을 때 보는 뇌과학 이야기, 심플한 사고법은 아무나 가질 수 없다! 그러나 누구나 해 볼 수 있다! 짧게 생각하고 빠르게 행동하기 위한 필독서!

By Yongwoo Song
[독서] 자기 경영 노트 - 피터 드러커

[독서] 자기 경영 노트 - 피터 드러커

✒️성과를 올리는 모든 사람들은 목표를 달성하기 위한 실행 능력을 갖추고 있다. 이 실행 능력은 기업에서 일하든, 정부기관에서 일하든, 병원의 관리자이든, 대학의 학장이든 똑같다.피터 드러커 자기경영노트 | 피터 드러커 | 한국경제신문- 교보ebook어떻게 ‘성과를 내는 경영 리더’가 되는가 지식작업자를 위한 변화와 혁신의 5가지 법칙! 이 책의 주제는 성과를 내는 능력을 향상시키기 위한

By Yongwoo Song
[독서] 거인의 노트 - 김익한

[독서] 거인의 노트 - 김익한

✒️"기록한다는 것은 어지럽혀진 방을 멀끔히 정리해 언제고 자유롭게 활동할 수 있는 나만의 공간을 만드는 일이다."거인의 노트 | 김익한 | 다산북스- 교보ebook“살던 대로 살 것인가, 변화를 꾀할 것인가!” 인생의 전환점을 만들어 줄 단 하나의 무기, 기록! 사람은 태어난 순간부터 성장한다. 단순히 지식을 쌓고 똑똑해지는 것부터 기술적ㆍ직업적으로 일을 잘하게 되는

By Yongwoo Song