논문 및 개념 정리

[2020] ColBERT: Efficient and Effective Passage Search via Contextualized Late Interaction over BERT

2022. 10. 22. 11:28
목차
  1. 1. Introduction
  2. 2. ColBERT 모델
  3. 1) Architecture
  4. 2) Encoder
  5. 3) Score 계산(Late Interaction)
  6. 3. 결과

Document 랭킹을 성능 및 서비스 측면에서 고민한 ColBERT 논문에 대해 정리하고자 한다. 

 

1. Introduction

BERT 등의 큰 언어모델(LM)은 성능이 우수하나 계산량이 많아 latency가 생긴다. 때문에 query-document pair를 입력을 받아 수십만개의 문서 중 정답이 있을만한 문서를 찾는 문서탐색의 경우 시간이 매우 오래걸린다.

ColBERT는 이를 해결하기 위한 방법으로 1) 미리 계산한 문서 임베딩을 저장해두고(pre-computation) 2) query를 입력으로 받아 계산량이 낮은 연산(late interaction)으로 문서탐색을 수행하는 모델이다.

 

 

2. ColBERT 모델

1) Architecture

ColBERT는 두 개의 encoder와 late interaction을 위한 MaxSim 연산으로 구성되어있다.

 

2) Encoder

fQ는 query q를 입력으로 받아 token별 임베딩 Eq을 계산하는 인코더, fD는 document d에 대한 token별 임베딩 Ed을 계산하는 인코더이다. 각각 BERT 결과에 CNN를 붙여 차원을 축소시킨 임베딩을 얻는다. fQ는 실시간으로 들어오는 query를 계산하고 fD는 문서임베딩을 미리 계산해서 저장해둔다.

Eq=Normalize(CNN(BERT( [Q]q0q1...ql[pad]...[pad]] ])))Ed=Filter(Normalize(CNN(BERT( [D]d0d1...dn] ]))))

 

3) Score 계산(Late Interaction)

ColBERT에서는 Eq, Ed의 relevance를 계산하기 위해 MaxSIM 연산으로 제안하였다. 아래 수식처럼 Eq, Ed 각각 token별 dot product의 max값을 sum하면 낮은 연산량으로 준수한 수준의 relevance score를 계산할 수 있다.

Sq,d=∑i∈Eqmaxj∈Ed Eqi⋅EqjT

 

 

3. 결과

ColBERT는 retrieve, reranking에서 BERT base와 비슷한 성능을 보이면서 계산량은 150배가 넘게 줄어든 모습을 보여준다.

 

또한 학습시나 추론시나 모두 실제 서비스에서 사용 가능할만한 수준의 latency를 보이고 있다.

 

 

 

728x90
저작자표시 비영리 변경금지 (새창열림)

'논문 및 개념 정리' 카테고리의 다른 글

[2022] Controlling the Focus of Pretrained Language Generation Models  (0) 2022.11.03
[2019] How Contextual are Contextualized Word Representations?  (0) 2022.10.27
[2022] SimCSE: Simple Contrastive Learning of Sentence Embeddings  (0) 2022.10.01
[2021] LoRA: Low-Rank Adaptation of Large Language Models  (0) 2022.07.14
[2021] GPT Understands, Too (P-tuning)  (0) 2022.04.29
  1. 1. Introduction
  2. 2. ColBERT 모델
  3. 1) Architecture
  4. 2) Encoder
  5. 3) Score 계산(Late Interaction)
  6. 3. 결과
'논문 및 개념 정리' 카테고리의 다른 글
  • [2022] Controlling the Focus of Pretrained Language Generation Models
  • [2019] How Contextual are Contextualized Word Representations?
  • [2022] SimCSE: Simple Contrastive Learning of Sentence Embeddings
  • [2021] LoRA: Low-Rank Adaptation of Large Language Models
Fine애플
Fine애플
이것저것
끄적끄적이것저것
Fine애플
끄적끄적
Fine애플
전체
오늘
어제
  • 분류 전체보기 (167)
    • 논문 및 개념 정리 (27)
    • Pattern Recognition (8)
    • 개발 (57)
    • python 메모 (45)
    • pytorch, tensorflow (5)
    • 알고리즘 (9)
    • Toy Projects (4)
    • 통계이론 (2)
    • Reinforcement Learning (10)

블로그 메뉴

  • 홈

공지사항

인기 글

태그

  • container
  • 알고리즘
  • pandas
  • reinforcement learning
  • Probability
  • 자연어
  • nlp
  • Bert
  • transformer
  • PyTorch
  • ubuntu
  • python
  • miniconda
  • GPU
  • 언어모델
  • BigBird
  • 딥러닝
  • 개발환경
  • Docker
  • tensorflow

최근 댓글

최근 글

hELLO · Designed By 정상우.
Fine애플
[2020] ColBERT: Efficient and Effective Passage Search via Contextualized Late Interaction over BERT
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.