[논문 리뷰] E5 embedding

마계닭·2026년 2월 11일

논문 리뷰

목록 보기
11/18

원제: Text Embeddings by Weakly-Supervised
Contrastive Pre-training

1. Introduction(Background)

Text-embedding: 임의 길이의 텍스트를 저차원 벡터로 표현. lexical mismatch를 극복함과 동시에 효율적인 검색과 매칭을 가능하도록 한다.

BERT(Encoder-only)나 GPT(Decoder-only)도 전이(Transfer) 가능한 표현을 생성할 수는 있지만, 효율성 및 범용성에서 대조학습(Contrasitve Learning)을 바탕으로 하는 GTR이나 Sentence-T5가 더 이상적이다.그러나 이런 방식은 품질이 낮은 경우가 많기에 BM25 기준 모델 성능을 넘지 못한다.

2. Related Work

초기 연구들

Latent Semantic Indexing(LSA) + Latent Dirichlet Allocation(LDA)

  • LSA: 단어-문서 co-occurrence matrix를 분해하여(SVD) 문서 임베딩을 생성

    co-occurrence matrix: 문서 집합에서 각 단어가 각 문서에 얼마나 등장하는지를 수치로 정리한 행렬

  • LDA: 확률 그래픽 모델을 이용해 주제 분포 학습

Sentence Embedding

짧은 텍스트에 초점을 맞춰 언어모델을 fine-tuning하여 연속적인 임베딩 출력

SimCLR: contrastive loss가 기존의 분류 기반 손실보다 더 효과적
LaBSE, LASER, CLIP: 병렬 문장, 이미지-텍스트 쌍을 활용해 다국어 및 멀티모달 환경으로 확장
ICT: 문단 내 임의 문장을 pseudo-query로 선택하고 나머지를 positive sample로 간주
Contriever: Data Augment를 활용한 Random cropping이 ICT보다 효과적
OpenAI Text Embedding: 인접 텍스트를 Positive sample로 간주, 모델 규모 확장
Oguz: 도메인 일치 사전학습으로 특정 도메인의 성능 개선
SPAR: BM25를 Teacher model로 dense retriever 학습.
그러나 이런 방식으로 얻은 합성 데이터는 품질이 낮은 경우가 많고, 라벨도 따로 fine-tuning 해줘야 한다.

3. CCPairs

웹 기반 대규모 고품질 텍스트쌍 데이터셋

semi-structured data sources

query와 passage로 구성된 (q, p) 텍스트 쌍.

  • Reddit의 게시글-댓글 쌍
  • Stackexchange의 질문-답변 쌍
  • en Wikipedia의 (엔티티 이름+제목)-본문 쌍
  • 과학 논문의 제목-초록/인용 관계 쌍
  • Common Crawl 웹페이지 및 뉴스 데이터의 제목-본문 쌍

대략 13억 개 텍스트 쌍

Consistency-based filter

위에서 얻은 노이즈가 포함된 텍스트 쌍으로 모델을 학습한 뒤, 학습된 해당 모델을 사용하여 각 텍스트 쌍을 100만 개 랜덤 문서 풀과 비교해서 ranking 작업을 한다. 이때 텍스트 쌍이 top-k(k=2) 안에 포함될 때만 유지하는 방식으로 모델 예측과 학습 라벨이 일관성일 보이는 데이터만 유지한다.

이는 신경망의 memorization behavior에서 나온 방식

memorization behavior: noise label이 섞인 학습에서 초반에는 상대적으로 맞는 예제부터 먼저 잘 맞추는 경향이 존재하지만, 모델 용량이 충분해지면 noise까지 overfitting되어 잘못된 라벨만 존재하는 현상

4. Method

Contrastive Pre-training with Unlabeled Data

Contrastive pre-training: 관련 있는 데이터 쌍을 관련 없는 데이터 쌍과 분리

식을 먼저 살펴보면,
텍스트 쌍 집합: {(qi,pi)}i=1n\{(q_i, p_i)\}^n_{i=1}
i번째 예제에 대한 Negative Passage 집합: {pij}j=1m\{p_{ij}^-\}^m_{j=1}
InfoNCE contrastive loss: minLcont=1nilogesθ(qi,pi)esθ(qi,pi)+jesθ(qi,pi,j)L_{cont} = -{{1}\over{n}}\displaystyle\sum_i \log{{e^{s_\theta(q_i, p_i)}}\over{e^{s_\theta(q_i, p_i)}+\sum_j e^{s_\theta (q_i, p_{i,j}^-)}}}
sθ(p,q)=cos(Eq,Ep)/τs_\theta (p, q) = \cos(E_q, E_p) / \tau

.
sθ(q,p)s_\theta(q,p)부터 살펴보면, 파라미터 θ\theta로 표현되는 query q와 passage p 사이의 점수 함수로
EqE_qEpE_p는 사전 학습된 Transforemr encoder + Average Pooling을 적용한 고정 크기의 텍스트 임베딩이다. 여기에 temperature hyperparameter(τ\tau, 확률 분포의 날카로움을 조절하는 계수, 해당 논문에선 0.01)와 코사인 유사도를 적용하여 계산한다.

이때 인코더는 동일하되 query와 passage 접두사를 추가한다(query와 passage가 명확하지 않은 경우는 랜덤). 이는 대칭성을 깨기 위한 방법으로 이런 비대칭 설계가 paraphrase가 존재하는 검색에서 중요하다.

Negative Sample의 경우에는 in-batch negative 방식을 사용한다.

in-batch negative: 같은 batch 내에서 다른 텍스트쌍의 passage를 전부 negative sample로 사용하는 방법

Fine-tuning with Labeled Data

Labeled Data를 추가하여 임베딩 품질을 향상시킨다. 해당 논문에서는

  • MS-MARCO, NQ(Natural Question): Retrieval 전이. mined hard negative와 CE teacher model로부터 knowledge distillation을 사용
  • NLI(Natural Language Inference): STS 및 linear probing 전이. contradiction을 hard negative로 활용.

Loss function: hard label에 대한 contrastive loss인 LcontL_{cont}와 KL divergence(teacher모델의 soft label 증류)의 결합
min DKL(pce,pstu)+αLcontD_{KL}(p_{ce}, p_{stu}) + \alpha L_{cont}

  • pcep_{ce}: cross-encoder teacher 모델 확률
  • pstup_{stu}: 학생 모델의 확률
  • α\alpha: 두 loss간 균형을 맞추는 hyperparameter

Text embedding 작업에 적용

  • Zero-shot Retrieval: 대상 corpus의 문서 임베딩을 사전에 계산 후 query에 대해 query 임베딩만 계산 + 상위 k개 반환
  • Few-shot Text classification: 고정된 임베딩에서 소량의 라벨 데이터를 이용해 선형 분류기 학습. 작업마다 분류 헤드 파라미터만 학습 + 저장
  • Zero-shot Text Classification: 입력, 라벨 텍스트를 사람이 작성한 프롬프트 템플릿으로 문장 형태로 변환. 이후 임베딩 공간에서 가장 가까운 라벨을 예측 결과로 선택
  • Semantic Texture Similarity: 두 텍스트 임베딩 간 코싸인 유사도를 이용해서 의미적 유사도 측정. 보통 rank correlation coeffcient로 평가
  • Text Clustering: 표준 cluster알고리즘 그대로 적용

5. Experiment

결과

  • 비지도학습: 라벨 없이도 BM25 기준 모델 능가.
    CCpairs가 성능 향상에 크게 기여함
  • 지도 fine-tuning: 대부분 데이터셋에서 성능이 추가 향상됨. 기존의 임베딩 모델보다 높은 평균.
  • MTEB benchmark: 파라미터가 훨씬 많은 모델들과 경쟁력이 유지됨

추가 분석 결과

  • 배치가 클수록 negative sample이 증가하며 성능이 개선됨
  • MS-MARCO + NQ는 검색 작업, NLI는 의미 유사도, 분류 작업에 유리함. 둘을 결합시킬 때 가장 균형 잡힌 성능을 보임
  • 데이터 필터링: 노이즈 제거 시 성능 향상, 학습 효율 개선
  • Negative Sampling: in-batch negative가 가장 안정적
  • BM25, dense retrieval: dense모델이 발전해도 BM25의 장점이 여전히 존재

6. Conclusion

기본적으로 Sentence-T5를 따라가되,

  • CCPairs라는 대규모 weak supervision 데이터 + consistency filtering + 소량의 supervised fine-tuning
  • prefix trick(query, passage)로 비대칭을 주어 성능 향상

즉, Dense-only Embedding으로 범용성에 초점이 맞춰진 모델이다. 이전의 M3-Embedding의 경우에는 Sparse + Dense + Multi-Vector로 대규모 RAG에 더 적합하고, 대화형의 경우에는 lexical overlap 정보가 적고 token interaction benefit도 적기에 E5 + 낮은 수준의 Sparse면 된다고 판단했다.

profile
뉴비

0개의 댓글