2020 Jun 4
최근 자연어 이해(NLU)의 발전은 주로 document ranking을 위해 Deep Language Models(LMs)를 fine tuning한 덕분에 Information Retrieval(IR) 분야에서 빠르게 진보하고 있습니다. 이러한 LM 기반의 ranking model은 매우 효과적이지만, 각 query와 document pair를 가지고 single relevance score를 계산하기 위해 massive neural network에 입력해야 하기 때문에 이전 방법들에 비해 계산 비용이 몇 배나 증가합니다. 이를 해결하기 위해, 우리는 효율적인 검색을 위해 Deep Language Models(LM), 특히 BERT를 적용한 새로운 순위 모델인 ColBERT를 제안합니다. ColBERT는 query와 document를 BERT를 사용하여 독립적으로 인코딩한 후, cheap and powerful한 interaction 단계를 통해 그들의 더 세밀한 유사성(=fine-grained similarity)을 모델링하는 late interaction 아키텍처를 도입합니다. 이러한 세밀한 상호작용을 delay시키면서도 유지함으로써, ColBERT는 Deep LM의 표현력을 활용할 수 있을 뿐만 아니라 문서 표현을 offline으로 사전 계산(=pre-computed)할 수 있는 능력을 갖추어 쿼리 처리 속도를 크게 향상시킬 수 있습니다. 전통적인 모델이 검색한 문서를 re-ranking하는 비용을 줄이는 것에 그치지 않고, ColBERT의 pruning-friendly 상호작용 메커니즘은 대규모 문서 컬렉션에서 직접 End-to-End 검색을 위해 vector similarity 인덱스를 활용할 수 있게 합니다. 우리는 최근의 2개의 구절 검색 데이터셋을 사용하여 ColBERT를 광범위하게 평가했습니다. 그 결과, ColBERT의 성능은 기존의 BERT 기반 모델과 경쟁력이 있으며(모든 non-BERT 기준을 능가), 처리 속도는 100배 더 빠르고 쿼리당 FLOP 수는 10,000배 더 적게 소요되는 것으로 나타났습니다.
지난 몇 년 동안 정보 검색(IR) 분야에서는 DRMM [7], KNRM [4, 36], Duet [20, 22] 등을 포함한 다양한 신경망 기반 순위 모델들이 도입되었습니다. 기존의 수작업으로 설계된 특징에 의존하는 학습 기반 순위 방법들(=learning-to-rank methods)과는 달리, 이러한 모델들은 query와 document의 임베딩 기반 표현을 사용하며 그 내용 간의 local interaction(=fine-granular relationship)을 직접적으로 모델링합니다.
![Figure 01 : 이 그림은 MS MARCO Ranking [24]에서 여러 대표적인 순위 모델들의 Effictivness (MRR@10)과 Mean Query Latency (log scale)을 비교한 것입니다. 그림에는 ColBERT도 포함되어 있습니다. Neural re-ranker들은 공식 BM25의 상위 1000개 결과 위에서 실행되며, Tesla V100 GPU를 사용합니다. 방법론과 자세한 결과는 §4에 나와 있습니다.](https://prod-files-secure.s3.us-west-2.amazonaws.com/ff68afbb-de24-495e-8075-109156ce3ceb/3a3c0bf0-ce94-4bf5-a570-ae355ca08bce/image.png)
Figure 01 : 이 그림은 MS MARCO Ranking [24]에서 여러 대표적인 순위 모델들의 Effictivness (MRR@10)과 Mean Query Latency (log scale)을 비교한 것입니다. 그림에는 ColBERT도 포함되어 있습니다. Neural re-ranker들은 공식 BM25의 상위 1000개 결과 위에서 실행되며, Tesla V100 GPU를 사용합니다. 방법론과 자세한 결과는 §4에 나와 있습니다.
그중 최근에는 ELMo [29]와 BERT [5]와 같은 사전 학습된 LM들을 fine-tuning 하여 관련성을 추정하는 접근법이 등장했습니다. query와 document pair의 깊이 있는 맥락적 의미 표현을 계산함으로써, 이러한 언어 모델(LM)은 문서와 쿼리 간에 널리 퍼진 어휘 불일치를 해소하는 데 기여합니다. 실제로 불과 몇 달 만에 BERT를 기반으로 한 여러 순위 모델이 다양한 Retriever-BenchMark [3, 18, 25, 39]에서 SOTA를 달성했으며, Google¹과 Bing²에서 독점적으로 도입되어 사용되고 있습니다. 그러나 이러한 언어 모델(LM)이 제공하는 뛰어난 성과는 높은 계산 비용의 증가를 수반합니다. Hofstätter 등 [9]과 MacAvaney 등 [18]은 문헌에 등장하는 BERT 기반 모델들이 이전 모델들보다 100배에서 1000배까지 더 많은 계산 비용이 든다고 관찰했습니다. 이 중 일부는 처음부터 저렴하지 않다고도 할 수 있습니다 [13]. 이 quality-cost의 tradeoff은 그림 1에 요약되어 있으며, Figure 01에서는 두 개의 BERT 기반 rankers [25, 27]를 대표적인 순위 모델 집합과 비교합니다. 이 그림은 Bing 로그에서 수집된 최근의 900만 개의 구절과 100만 개의 쿼리로 구성된 MS MARCO Ranking [24]을 사용합니다. official validation set에서의 retriever effectiveness(MRR@10)과 neural re-ranker을 위해 query당 하나의 Tesla V100 GPU를 전용하는 고성능 서버를 사용한 average query latency(log scale)을 보고합니다. MS MARCO의 re-ranking setup에 따라, ColBERT(re-rank), Neural Matching Model들, 그리고 Deep LM들이 query당 MS MARCO의 공식 top-1000개 문서를 re-ranking합니다.

Figure 02 : neural-IR에서 query와 document의 매칭 방식을 보여주는 diagram입니다. 이 그림은 기존의 접근 방식(하위 그림 (a), (b), (c))과 제안된 늦은 상호작용 패러다임(하위 그림 (d))을 비교하고 있습니다.
ColBERT(full-retriever)를 포함한 다른 방법들은 전체 컬렉션에서 top-1000개의 결과를 직접 검색합니다. 그림에서 보듯이, BERT는 검색 정확도를 크게 향상시켜 기존 최고의 방법들에 비해 MRR@10을 거의 7% 높였습니다. 동시에, 고성능 GPU를 사용하더라도 지연 시간이 수만 ms까지 증가합니다. 이는 query 응답 시간이 단 100ms만 증가해도 사용자 경험에 영향을 미치고, 심지어 수익을 현저히 감소시킬 수 있기 때문에 어려운 절충을 요구합니다 [17]. 이 문제를 해결하기 위해, 최근 연구들은 BM25 [32]와 같은 전통적인 검색 모델을 보강하기 위해 자연어 이해(NLU) 기술을 사용하는 방안을 탐구하기 시작했습니다. 예를 들어, Nogueira 등 [26, 28]은 BM25 점수로 인덱싱하기 전에 NLU가 생성한 쿼리로 문서를 확장하고, Dai & Callan [2]은 BM25의 용어 빈도를 NLU가 추정한 용어 중요도로 대체합니다. 지연 시간을 성공적으로 줄였음에도 불구하고, 이러한 접근 방식은 일반적으로 BERT에 비해 정확도를 크게 감소시킵니다.
정보 검색(IR)에서 효율성과 맥락화를 조화롭게 결합하기 위해, 우리는 BERT를 기반으로 한 맥락화된 늦은 상호작용을 사용하는 순위 모델인 ColBERT를 제안합니다. 이름에서 알 수 있듯이, ColBERT는 쿼리 q와 문서 d 간의 관련성을 추정하기 위해 새로운 늦은 상호작용 패러다임을 제안합니다. 늦은 상호작용 방식에서는 q와 d가 각각 두 개의 맥락적 임베딩 집합으로 별도로 인코딩되며, 두 집합 간의 저비용이면서도 가지치기에 용이한 계산을 통해 관련성을 평가합니다. 즉, 모든 가능한 후보를 철저히 평가하지 않고도 순위를 매길 수 있는 빠른 계산을 가능하게 합니다. Figure 02는 우리가 제안한 늦은 상호작용 접근 방식과 기존의 신경 매칭 패러다임을 비교합니다. 왼쪽의 그림 2(a)는 표현 중심의 순위 모델을 보여주는데, 이 모델들은 쿼리(q)와 문서(d)에 대한 임베딩을 각각 독립적으로 계산하고 두 벡터 간의 단일 유사도 점수로 관련성을 추정합니다 [12, 41]. 오른쪽으로 이동하면 그림 2(b)는 전형적인 상호작용 중심의 순위 모델을 시각화하고 있습니다. q와 d를 각각의 임베딩으로 요약하는 대신, 이러한 순위 모델들은 q와 d 간의 단어 및 구 수준의 관계를 모델링하고, CNN이나 MLP [22] 또는 커널 [36]과 같은 심층 신경망을 사용하여 이를 매칭합니다. 가장 단순한 경우, 이들 모델은 q와 d 사이의 모든 단어 쌍 간의 유사성을 반영하는 상호작용 행렬을 신경망에 입력합니다. 더 나아가, 그림 2(c)는 BERT의 트랜스포머 아키텍처 [25]처럼 q와 d 내의 단어들 간뿐만 아니라 q와 d 간의 상호작용을 동시에 모델링하는 보다 강력한 상호작용 기반 패러다임을 보여줍니다.
이러한 점점 더 표현력이 강화된 아키텍처들은 상충 관계에 있습니다. 상호작용 기반 모델들(즉, 그림 2 (b)와 (c))은 정보 검색(IR) 작업에서 우수한 경향을 보이지만 [8, 21], 표현 중심 모델은 q와 d 간의 계산을 분리함으로써 문서 표현을 오프라인으로 사전 계산할 수 있게 하여 [41], 쿼리당 계산 부담을 크게 줄일 수 있습니다. 이 연구에서는 상호작용 기반 모델의 세밀한 매칭과 표현 기반 모델의 문서 표현 사전 계산을 결합할 수 있다는 점을 관찰하였습니다. 이를 위해 쿼리와 문서 간의 상호작용을 유지하되, 신중하게 지연시키는 방법을 사용합니다. 그림 2(d)는 정확히 이를 수행하는 아키텍처를 보여줍니다. 그림에 나타난 바와 같이, 각 쿼리 임베딩은 MaxSim 연산자를 통해 모든 문서 임베딩과 상호작용하며, 이 연산자는 최대 유사도(예: 코사인 유사도)를 계산합니다. 이 연산자들의 스칼라 출력 값은 쿼리 항목들을 따라 합산됩니다. 이 패러다임은 ColBERT가 심층 LM 기반 표현을 활용할 수 있게 하면서, 문서 인코딩의 비용을 오프라인으로 전환하고, 쿼리를 한 번 인코딩하는 비용을 모든 순위 문서에 걸쳐 분배할 수 있게 합니다. 또한, ColBERT는 벡터 유사도 검색 인덱스(예: [1, 15])를 활용하여 대규모 문서 컬렉션에서 직접 상위-k 결과를 검색할 수 있게 하여, 용어 기반 검색 결과만을 재순위하는 모델들에 비해 리콜 성능을 크게 향상시킵니다.
그림 1에 나타난 바와 같이, ColBERT는 쿼리를 수십 밀리초 또는 몇 백 밀리초 이내에 처리할 수 있습니다. 예를 들어, "ColBERT (re-rank)"와 같이 재순위에 사용될 때, 기존 BERT 기반 모델에 비해 170배 이상의 속도 향상(그리고 14,000배 적은 FLOP)을 제공하며, 모든 비-BERT 기준 모델들보다 더 효과적입니다 (§4.2 & 4.3). ColBERT의 인덱싱—문서를 BERT를 통해 처리해야 하는 유일한 시간—은 실용적입니다. 예를 들어, 단일 서버에서 4개의 GPU를 사용하여 약 3시간 만에 MS MARCO의 900만 개 구절을 인덱싱할 수 있으며 (§4.5), 공간 크기가 몇십 GiB에 불과하면서도 여전히 효과성을 유지합니다. 우리는 광범위한 제거 실험 (§4.4)을 통해 늦은 상호작용, MaxSim 연산을 통한 구현, 그리고 BERT 기반 인코더 내에서의 중요한 설계 선택들이 모두 ColBERT의 효과성에 필수적임을 보여주었습니다. 우리의 주요 기여는 다음과 같습니다.
(1) 우리는 효율적이고 효과적인 신경망 순위를 위한 패러다임으로 늦은 상호작용 (§3.1)을 제안합니다.
(2) 늦은 상호작용 패러다임 내에서 새로운 BERT 기반 쿼리 및 문서 인코더를 사용하는 매우 효과적인 모델인 ColBERT (§3.2 & 3.3)를 소개합니다.
(3) 우리는 ColBERT를 용어 기반 검색 모델 위에서 재순위를 위해 (§3.5) 그리고 벡터 유사도 인덱스를 사용하여 전체 컬렉션을 검색하기 위해 (§3.6) 어떻게 활용할 수 있는지 보여줍니다.
(4) 또한, 우리는 최근의 두 구절 검색 컬렉션인 MS MARCO와 TREC CAR에서 ColBERT를 평가합니다.
Neural Matching Models. 지난 몇 년 동안, 정보 검색(IR) 연구자들은 순위를 매기기 위한 다양한 신경망 아키텍처를 도입했습니다. 이 연구에서는 KNRM [4, 36], Duet [20, 22], ConvKNRM [4], 그리고 fastText+ConvKNRM [10]과 비교합니다. KNRM은 상호작용 행렬에서 매칭 신호를 추출하기 위한 미분 가능한 커널 풀링 기법을 제안하며, Duet은 정확한 매칭 기반의 유사도와 임베딩 기반의 유사도를 결합하여 순위를 매깁니다. 2018년에 도입된 ConvKNRM은 쿼리와 문서에서 n-그램을 매칭하는 방법을 학습합니다. 마지막으로, fastText+ConvKNRM(약칭 fT+ConvKNRM)은 일반적인 단어 임베딩 목록에서 드문 단어가 누락되는 문제를 해결하기 위해 서브워드 토큰 임베딩을 채택합니다.
2018년에 Zamani 등 [41]은 SNRM을 도입했습니다. SNRM은 각 쿼리와 문서를 "잠재 용어"의 단일 희소 고차원 벡터로 인코딩하는 표현 중심의 정보 검색(IR) 모델입니다. SNRM은 각 문서에 대해 희소 벡터 표현을 생성함으로써, 전통적인 정보 검색(IR) 역색인을 사용하여 문서를 표현할 수 있게 하며, 이를 통해 빠른 엔드 투 엔드 검색을 가능하게 합니다. 매우 유망한 결과와 통찰을 제공함에도 불구하고, SNRM의 효과성은 평가에 사용된 데이터셋에서 최신 기술에 비해 상당히 떨어집니다(예: [18, 38] 참조). SNRM은 희소성을 사용하여 역색인 검색을 가능하게 하지만, 우리는 이 가정을 완화하고, 제거 실험 (§4.4)에서 (밀집된) BERT 기반의 표현 중심 모델을 우리의 늦은 상호작용 모델인 ColBERT와 비교합니다. 기존의 신경망 순위 모델에 대한 자세한 개요는 최근의 두 문헌 조사 [8, 21]을 참조하시기 바랍니다.
Language Model Pretraining for IR. 최근의 자연어 이해(NLU) 연구는 언어 표현 모델을 비지도 방식으로 사전 학습한 후, 이를 하위 작업에 맞게 미세 조정하는 것의 중요성을 강조하고 있습니다. 주목할 만한 예로는 BERT [5]가 있습니다. BERT는 양방향 트랜스포머 기반의 언어 모델로, 미세 조정을 통해 다양한 자연어 이해(NLU) 벤치마크에서 최신 기술을 발전시켰습니다. Nogueira 등 [25], MacAvaney 등 [18], 그리고 Dai & Callan [3]은 이러한 언어 모델(주로 BERT, 그러나 ELMo [29]도 포함)을 다양한 순위 데이터셋에 적용하는 연구를 진행했습니다. 그림 2(c)에서 나타낸 바와 같이, 일반적인 접근 방식(그리고 Nogueira 등 [25]이 MS MARCO와 TREC CAR에서 채택한 방법)은 query-document pair를 BERT에 입력하고, BERT의 [CLS] 출력 토큰 위에 MLP를 사용하여 관련성 점수를 생성하는 방식입니다. Nogueira 등 [27]의 후속 연구에서는 duoBERT를 소개했는데, 이는 쿼리가 주어졌을 때 문서 쌍의 관련성을 비교하기 위해 BERT를 미세 조정하는 방식입니다. 단일 문서 BERT에 비해, duoBERT는 MS MARCO에서 MRR@10이 1% 향상되었지만, 비용은 최소 1.4배 증가합니다.
BERT Optimization. §1에서 논의된 바와 같이, 이러한 LM 기반의 순위 모델은 실제로 매우 비쌀 수 있습니다. NLU 문헌에서 BERT를 증류 [14, 33], 압축 [40], 그리고 가지치기 [19]하려는 지속적인 노력들이 이 격차를 좁히는 데 도움이 될 수 있지만, 그들은 일반적으로 우리의 정보 검색(IR)용으로 재설계된 아키텍처보다 훨씬 작은 속도 향상을 얻습니다. 그 이유는 이러한 방법들이 일반적인 성격을 가지고 있기 때문이며, 더 공격적인 최적화는 종종 품질 저하를 초래합니다.