00:00:00

Share Your Feedback 🏝️

Model | CODER

Model | CODER

MinWoo(Daniel) Park | Tech Blog

Read more
Previous: Model | Orca 2 Next: Model | CogVLM

Model | CODER

  • Related Project: Private
  • Category: Paper Review
  • Date: 2023-11-28

CODER: An efficient framework for improving retrieval through COntextual Document Embedding Reranking

  • url: https://aclanthology.org/2022.emnlp-main.727/
  • abstract: Contrastive learning has been the dominant approach to training dense retrieval models. In this work, we investigate the impact of ranking context - an often overlooked aspect of learning dense retrieval models. In particular, we examine the effect of its constituent parts: jointly scoring a large number of negatives per query, using retrieved (query-specific) instead of random negatives, and a fully list-wise loss. To incorporate these factors into training, we introduce Contextual Document Embedding Reranking (CODER), a highly efficient retrieval framework. When reranking, it incurs only a negligible computational overhead on top of a first-stage method at run time (approx. 5 ms delay per query), allowing it to be easily combined with any state-of-the-art dual encoder method. Models trained through CODER can also be used as stand-alone retrievers. Evaluating CODER in a large set of experiments on the MS MARCO and TripClick collections, we show that the contextual reranking of precomputed document embeddings leads to a significant improvement in retrieval performance. This improvement becomes even more pronounced when more relevance information per query is available, shown in the TripClick collection, where we establish new state-of-the-art results by a large margin.

TL;DR


  • 본 논문에서는 대규모 사전 훈련된 언어 모델을 사용하여 문맥을 포함하는 새로운 문서 검색 방법(CODER)을 제안하고 있습니다.
  • CODER는 리스트와 같은 최적화를 적용하여 문서 검색의 효율성을 높이고, MS MARCO 및 TripClick 데이터셋에서 최고의 성능을 달성했습니다.
  • 이 연구는 전통적인 쌍 대비 학습 방식을 넘어서 문서 간의 상호 정보를 활용하는 방법을 발전시켰습니다.

1 서론

신경망 기반 텍스트 검색 모델은 일반적으로 (질의, 긍정적 문서, 부정적 문서)의 트리플릿을 이용한 대조적 훈련 최적화에 의존합니다. 이런 방식은 BERT와 같은 대규모 변형기 기반 언어 모델에서 적합합니다. 그러나 이 방법은 단지 문서 쌍만을 고려함으로써 여러 문서와의 비교라는 본질적 목표에서 벗어나며, 문서 간 정보를 소홀히 하고 nDCG 같은 핵심 리스트-와이즈 평가 지표와도 거리가 멉니다.

최근의 연구들은 배치 내에서의 ‘in-batch’ 부정적 예시 사용을 통해 부정적 예시의 수를 효율적으로 늘려 성능을 향상시키고 있습니다. 이는 다른 질의의 긍정적 문서들을 부정적 예시로 설정합니다. 하지만, 어려운 부정적 예시가 SOTA 성능을 달성하는데 결정적인 역할을 합니다.


2 관련 연구

이전 연구들은 질의와 문서를 주기적으로 재인코딩하여 근사 최근접 이웃 탐색을 통해 어려운 문서를 부정적 예시로 사용하는 방법의 중요성을 강조했습니다. CODER는 이런 복잡성을 피하고 질의마다 미리 검색된 정보가 풍부한 문서 컨텍스트에 직접적인 리스트-와이즈 최적화를 적용함으로써 혜택을 받습니다.

RocketQA와 같은 연구는 수천 개의 무작위 배치 내 부정적 예시의 수를 급격히 증가시켜서 학습의 질을 높였으며, 이는 비싼 교차-인코더 모델을 훈련하는 데 사용됩니다. 이는 공간적, 계산적 요구사항을 크게 증가시킵니다.

리스트-와이즈 손실 함수는 학습 순위를 위해 널리 사용되었으며, 이는 쿼리-문서 유사성을 나타내는 핸드크래프트된 특징 벡터에 기반합니다. CODER는 이런 L2R 개념을 변형기 기반 언어 모델에 효과적으로 적용하여 새로운 챌린지를 해결했습니다.

수학적 접근 및 방법

CODER의 핵심은 다음과 같은 수학적 정식화에 기반합니다. 주어진 질의 $q$와 문서 $d$에 대해, 모델은 질의와 문서의 임베딩 $e_q, e_d$ 사이의 유사도를 측정합니다. 학습 과정에서는 다음과 같은 리스트-와이즈 손실 함수를 최소화합니다. \(\mathcal{L} = -\sum_{i=1}^{N} \log \frac{\exp(e_{q_i} \cdot e_{d_i^+})}{\exp(e_{q_i} \cdot e_{d_i^+}) + \sum_{j \neq i} \exp(e_{q_i} \cdot e_{d_j^-})}\) $e_{d_i^+}$는 긍정적 문서의 임베딩, $e_{d_j^-}$는 부정적 문서의 임베딩을 나타냅니다. 이 수식은 모델이 긍정적 문서의 유사도를 부정적 문서보다 높게 평가하도록 유도합니다.

CODER는 이런 학습 방식을 통해 기존의 듀얼-인코더 모델에 문맥 정보를 추가함으로써 검색 성능을 향상시키고 있습니다. 실험을 통해 이런 접근 방식이 MS MARCO 및 TripClick 데이터셋에서 최고의 성능을 달성했음을 증명하고 있습니다.


3 방법

3.1 아키텍처

3.1.1 질의 인코더

CODER는 사전 훈련된 질의 인코더를 파인튜닝하여 질의 표현을 가능한 한 기준 문서(긍정적 문서)의 표현과 가깝게 학습합니다. BERT, DistilBERT, RoBERTa, ERNIE와 같은 변형기 인코더가 사용될 수 있으며, 이미 검색 작업에 파인튜닝된 기존 모델에서 가중치를 초기화합니다. 질의 토큰 $qt$에 대해, 각 토큰은 벡터 표현 $z_t \in \mathbb{R}^d$를 추출하고, 이는 필요에 따라 다른 차원 $z’_t \in \mathbb{R}^{d’}$으로 선형 변환될 수 있습니다. 이렇게 추출된 질의 표현은 다음과 같이 나타낼 수 있습니다.

\[Z' = [z'_1; ...; z'_w] = \zeta (q; \theta_Q) \in \mathbb{R}^{w \times d'},\]

$\theta_Q$는 질의 인코더의 파라미터이며, 개별 토큰 표현은 평균이나 [CLS] 토큰의 표현과 같은 집계 함수 $g$를 사용하여 단일 벡터로 집계됩니다.

3.1.2 문서 점수화 함수

문서 점수화 함수 $\phi$는 입력으로 집계된 질의 표현 $g(Z’)$와 N개의 문서 임베딩 $x_i \in \mathbb{R}^m$을 받아 각 문서에 대한 상대적 중요도 점수 $\hat{s}_i \in \mathbb{R}$를 생성합니다.

\[\hat{s} = \phi(g(Z'), X; \theta_D) = X \cdot g(Z) \in \mathbb{R}^N,\]

$X = [x_1; …; x_N] \in \mathbb{R}^{N \times m}$는 문서 임베딩이며, $\theta_D$는 점수화 함수의 파라미터입니다. 이 점수화 함수는 복잡한 트랜스포머 구조를 사용할 수도 있지만, 본 논문에서는 단순 내적을 사용하여 효과적인 성능 향상을 달성했다고 보고합니다.

3.2 CODER를 통한 훈련

문서 표현 $X$는 어떠한 상태의 듀얼 인코더 검색 모델로 사전 계산되며, 이는 질의 인코더와 함께 초기화됩니다. 훈련 동안, 질의 인코더의 파라미터 $\theta_Q$와 점수화 함수 $\phi$의 파라미터 $\theta_D$가 파인튜닝됩니다. 대규모나 병렬 GPU 없이도 메모리 및 계산 효율적인 훈련 환경을 지원하기 위해 문서 표현은 고정되어 있으나, 필요에 따라 함수 $\phi$에 의해 변형될 수 있습니다.

3.3 손실 함수

각 질의에 대해 N개의 문서를 공동으로 점수화하는 데 최적화된 ListNet 손실 함수를 사용합니다. 이는 예측된 점수 $\hat{s}$와 데이터셋에서 주어진 대상 관련성 레이블 $y \in \mathbb{R}^N$ 사이의 KL-발산입니다.

\[L(y, \hat{s}) = D_{KL}(\sigma(y) \| \sigma(\hat{s})) = -\sum_{i=1}^{N} \sigma(y)_i \log \frac{\sigma(\hat{s})_i}{\sigma(y)_i},\]

$\sigma$는 소프트맥스 함수입니다. 이 방식은 각 질의에 대해 많은 수의 후보를 점수화함으로써, 문맥을 활용하고 기본 모델에 비해 성능 향상을 달성하는 데 중요하며, 특히 여러 관련성 레벨이 정의된 데이터셋에서 더 큰 이점을 보일 것으로 예상됩니다.


4 실험 설정

데이터셋

본 연구에서는 웹과 건강 정보 검색 분야의 두 개의 대규모 공개 정보 검색(IR) 데이터셋을 사용하여 통로 및 문서 검색 작업을 수행합니다. 첫 번째 데이터셋은 MS MARCO 통로 검색 데이터셋으로, 훈련 및 평가에 사용됩니다. MS MARCO에서 훈련된 모델은 TREC Deep Learning 통로 검색 트랙 2019 및 2020에서도 평가됩니다. 두 번째 데이터셋은 최근 소개된 건강 문서 검색 데이터셋인 TripClick으로, 훈련 및 평가에 사용됩니다. MS MARCO는 각 질의에 대해 대략적으로 1개의 관련성 판단만을 포함하는 반면, TripClick은 HEAD, TORSO, TAIL 집합에서 각각 대략 42, 9, 3개의 데이터 포인트를 제공하여 훨씬 더 많은 관련성 정보를 제공합니다.

Baseline Model

CODER 파인튜닝에 사용된 Baseline Model은 다음과 같습니다.

  1. RepBERT: BERT 기반 모델로, 일반적인 듀얼 인코더 구조를 갖추고 있으며, 삼중항 최대 마진 손실을 사용하여 훈련됩니다.
  2. TAS-B: MS MARCO / TREC-DL 2019, 2020 데이터셋에서 상위 성능을 보이는 듀얼 인코더 방식의 모델입니다.
  3. CoCondenser: 특별한 아키텍처와 대조적 손실 구성 요소를 사용하여 광범위한 코퍼스 특정 자기 감독 사전 훈련에 의존하는 최신 밀집 검색 모델입니다.

구성

CODER 프레임워크에 대한 구성은 다음과 같습니다.

  • MD: 문서를 임베딩 벡터로 인코딩하고 질의 인코더 가중치를 초기화하는 Baseline Model
  • MC: 후보 문서를 처음에 검색하고 CODER 훈련 과정에서 재순위를 매기는 검색 방법
  • MF: CODER가 인퍼런스 중 재순위 방법으로 사용될 때 첫 단계로 사용되는 검색 방법입니다. CODER가 단일 단계 밀집 검색에 직접 사용될 경우 MF는 생략되고 CODER(MD, MC) 표기가 사용됩니다.


5 결과

5.1 MS MARCO 및 TREC DL 결과

CODER 프레임워크를 RepBERT와 TAS-B에 적용한 후, 빠르고 효율적인 파인튜닝(각각 TAS-B는 3.5시간, RepBERT는 4.5시간)을 거쳐 눈에 띄는 성능 향상이 관찰되었습니다. CODER는 단일 단계 RepBERT와 두 단계 캐스케이드 BM25→RepBERT 모두에 비해 검색 성능을 개선하였습니다. 특히 BM25 후보를 재순위할 때 RepBERT에 가장 큰 성능 이점을 제공하였습니다. CODER를 통해 파인튜닝된 단일 단계 검색기는 원래의 RepBERT보다 향상되었으며, 캐스케이드만큼 거의 효과적입니다.

이 프레임워크는 또한 어려운 부정적 예시와 두 강력한 교차 인코더 모델로부터의 이중 지식 전달을 활용하는 TAS-B 방법의 성능을 상당히 향상시킵니다. CODER로 훈련된 질의 인코더를 단일 단계 밀집 검색에 직접 사용하는 것이 TAS-B 후보를 캐스케이드로 재순위하는 것만큼 효과적입니다.

마지막으로, CoCondenser 검색기를 파인튜닝하는 CODER의 한계를 시험해 본 결과, MS MARCO 검증 세트에서 MRR@10에서 0.002 및 Recall@10에서 0.004의 약간의 성능 향상이 관찰되었습니다. 이는 MS MARCO가 적은 수의 관련성 판정을 제공하는 데이터셋이기 때문에, 제한된 훈련 컨텍스트에서 얻은 학습이 데이터셋 전체로 일반화되기 어려운 상황임을 의미합니다. 이런 이유로, 또한 모델을 TripClick 데이터셋에서 평가하여 더 많은 관련성 정보를 제공하는 데이터셋에서 CODER의 효과를 검증합니다.ㅁ

5.2 TripClick에서의 결과

5.2.1 성능 측정 기준

이 연구에서는 MRR@10, nDCG@10, 그리고 Recall@10을 성능 평가 지표로 사용하였습니다. 특히, nDCG@10은 여러 관련 문서가 존재하며 다중 레벨의 관련성을 사용하는 DCTR 관련 집합에서 중요한 메트릭으로 간주됩니다.

5.2.2 비교 대상 모델 및 CODER의 적용

다음과 같은 모델들의 성능이 보고되었습니다.

  • BM25: MRR@10 = 0.276, nDCG@10 = 0.224
  • Transformer-Kernel, BERT-Dot(SciBERT), BERT-Cat(SciBERT; PMBERT), RepBERT, BM25 → RepBERT, RB → CODER(RB, RB), CODER(RB, RB) 등 다양한 모델을 사용하였습니다.

CODER 모델은 RepBERT 모델에 적용되어, 특히 TripClick HEAD 데이터셋에서 향상된 성능 향상을 보였으며, SOTA(State Of The Art) 성능을 달성하였습니다. 모든 CODER 결과는 통계적으로 유의미한 차이를 보였습니다(p < 0.05).

5.2.3 실험 설계 및 결과 해석

CODER는 도메인 특화된 두 크로스 인코더인 PubMedBERT와 SciBERT에서 사전 훈련된 모델들을 크게 능가하였습니다. 이런 실험은 주로 “zero-shot” 평가를 통해 수행되었는데, 이는 모델이 TripClick 데이터셋에 대해 사전 훈련되지 않았음을 의미합니다. 이는 모델의 일반화 가능성과 효과를 더욱 강조하기 위함입니다.

5.3 효율성

5.3.1 CODER의 추가 비용

CODER를 사용할 때 발생하는 추가적인 비용은 미미합니다. 예를 들어, NVIDIA TITAN RTX GPU를 사용하는 경우, 1000개의 후보를 순위 매기기 위해 약 186ms가 소요되며, 이 중 대부분은 샘플을 GPU에 로드하는 데 사용됩니다. CODER를 단일 단계 또는 두 번째 단계의 재순위 매기기 도구로 사용할 때 발생하는 처리 시간은 기본 메소드와 동일합니다.

5.4 주요 요소 분석

5.4.1 문맥의 중요성

문서를 동일 쿼리와 관련된 다른 문서의 맥락에서 평가하는 것이 유리하다는 직관을 평가하기 위해, 훈련 중 사용된 부정적 문서의 유형과 수를 변화시키면서 그 영향을 연구했습니다. 특히, 대규모 쿼리별 부정적 샘플을 사용할 때만 CODER가 기초 모델에서 추가 성능을 이끌어낼 수 있었습니다.

5.4.2 문맥 문서의 수

훈련 중 쿼리당 부정 문서의 수를 조정하였을 때, 문서 수가 임베딩 공간의 차원수에 도달할 때까지 성능이 증가하였습니다. 그 이상의 문서 수는 수익을 감소시키는 결과를 보였습니다.

5.4.3 리스트-와이즈 손실 함수의 중요성

리스트-와이즈 KL-발산 손실을 사용하여 훈련할 때, MRR@10이 0.345에서 0.363으로 향상되었습니다. 이는 모델이 단일 훈련 단계에서 쿼리별 문서의 더 완전하고 정확한 손실 풍경을 경험하게 되어 파라미터의 보다 정확한 업데이트를 가능하게 했습니다.


6. 결론

순위 맥락과 그 구성 요소의 중요성, 즉 완전한 리스트-와이즈 손실, 많은 수의 부정적, 쿼리별로 검색된 부정적의 중요성을 검토하고 이런 모든 요소가 성능 개선에 중요한 요소임을 보여줍니다. CODER와 같이 맥락을 활용할 수 있는 경량 재순위 프레임워크는 고비용의 크로스 인코더 증류, 의사 레이블링, 부정적 “제거” 없이도 다양한 밀도 있는 검색 모델의 효과를 상당히 향상시킬 수 있음을 입증합니다. 추가 계산 비용은 적으며, 때로는 전혀 발생하지 않습니다.

Previous: Model | Orca 2 Next: Model | CogVLM

post contain ""

    No matching posts found containing ""