papers · 2026-03-22

M3-Embedding Multi-Linguality, Multi-Functionality, Multi-Granularity Text Embeddings Through Self-Knowledge Distillation

#embedding

1. Introduction

1.1 개요

M3-Embedding은 자연어 처리를 위한 다중 기능(multifunctional), 다국어(multilingual), 다중 수준 입력 처리(multi-granular) 기능을 갖춘 텍스트 임베딩 모델. 본 연구에서는 기존 embedding 모델의 한계를 극복하고, 다양한 검색(retrieval) 기능을 통합하는 새로운 방법론을 개발.

1.2 배경 및 문제 정의

텍스트 임베딩 모델은 자연어 처리를 위한 심층 신경망(DNN) 기반 기술로, 텍스트 데이터를 잠재 공간(latent space)에서 의미적으로 표현하는 역할. 최근 사전 학습된 언어 모델(pre-trained language models)의 발전과 함께 임베딩 품질이 크게 향상되었으며, 정보 검색(IR) 시스템에서 필수적인 요소로 자리 잡음.

기존의 embedding 기반 IR 방식 중 대표적인 Dense Retrieval 기법은 임베딩 유사도를 활용하여 검색을 수행하며, Multi-Vector Retrieval과 Sparse Retrieval 또한 다양한 IR 시나리오에서 활용. 그러나 기존의 embedding 모델은 다음과 같은 한계를 가짐.

  • 언어적 한계: 대부분의 embedding 모델이 영어 중심으로 설계되어 있으며, 다국어 지원이 제한적임.
  • 기능적 제약: 일반적으로 단일 retrieval 기능에 맞춰 훈련되며, 복합적인 검색 요구를 만족하기 어려움.
  • 입력 길이 제한: 긴 문서 검색을 위한 retriever 훈련은 높은 비용이 소요되며, 대부분의 embedding 모델은 짧은 입력 데이터만을 처리할 수 있음.

1.3 연구 목표

본 연구에서는 위의 문제를 해결하기 위해 M3-Embedding을 개발. M3-Embedding의 주요 특징은 다음과 같음.

  • 다국어 지원(Multi-Linguality): 100개 이상의 언어를 지원하며, 다국어 검색(Multi-Lingual Retrieval)과 교차 언어 검색(Cross-Lingual Retrieval) 수행 가능.
  • 다중 기능(Multi-Functionality): Dense Retrieval, Sparse Retrieval, Multi-Vector Retrieval을 지원하여 다양한 검색 요구 충족.
  • 다중 입력 수준(Multi-Granularity): 문장(sentence) 및 passage뿐만 아니라 최대 8,192 tokens의 긴 문서도 처리 가능.

1.4 연구 방법

M3-Embedding의 훈련 과정에서 다음과 같은 기술 적용.

  • Self-Knowledge Distillation 기반 학습 서로 다른 retrieval 기능을 동시에 학습하고 상호 강화하는 새로운 지식 증류(Knowledge Distillation) 프레임워크 도입. Dense Retrieval에는 [CLS] embedding을 활용하며, 다른 token embedding들은 Sparse 및 Multi-Vector Retrieval에 사용. 이를 통해 다양한 retrieval 방법의 성능 극대화.
  • 효율적인 훈련 전략 대규모 배치(batch) 전략 최적화를 통해 학습 효율성 향상 및 embedding 모델의 판별력(discriminativeness) 강화.
  • 고품질 학습 데이터 구축 다국어 코퍼스에서 비지도 학습 데이터 추출, 관련성이 높은 지도 학습 데이터 통합, 희소한 데이터에 대한 합성 데이터 생성 등을 통해 모델의 일반화 성능 개선.

1.5 주요 기여

본 연구의 주요 기여 사항은 다음과 같음.

  1. M3-Embedding 모델 개발: 다국어, 다기능, 다중 입력 수준을 지원하는 임베딩 모델 구축.
  2. 효율적인 학습 방법론 정립: Self-Knowledge Distillation을 활용한 학습 프레임워크 및 최적화된 배치 전략 도입.
  3. 연구 자원 공개: 모델, 코드, 데이터셋을 공개하여 텍스트 임베딩 연구 및 실제 응용을 위한 핵심 자원 제공.

1.6 기대 성과

M3-Embedding은 다국어 및 다기능 검색 시나리오에서 우수한 성능을 보이며, MIRACL 및 MKQA 벤치마크에서 최첨단(State-of-the-Art) 성능 기록. 또한, 세 가지 retrieval 기능을 통합적으로 활용할 수 있으며, 최대 8,192 tokens 범위 내에서 뛰어난 검색 성능 유지. 이를 통해 다양한 IR 시스템에 적용 가능하며, 향후 자연어 처리 분야에서 중요한 발전 기대.


관련 연구는 세 가지 측면에서 검토됨:

  • 일반적인 text embeddings
  • neural retrieval을 위한 embedding models,
  • multi-linguality를 갖춘 embeddings.

2.1 일반적인 Text Embeddings

최근 몇 년 동안 text embedding 분야에서는 상당한 발전이 이루어짐. 이러한 발전의 주요 원동력 중 하나는 pre-trained language models의 대중화이며, 이를 활용하면 데이터의 underlying semantics를 효과적으로 encoding하는 것이 가능함.

또한, contrastive learning 기법의 발전도 중요한 요소이며, 특히 negative sampling 기법의 개선 및 knowledge distillation 기법의 활용이 text embedding 품질 향상에 크게 기여함.

이러한 기술들이 확립됨에 따라, 다양한 응용 시나리오를 통합적으로 지원할 수 있는 versatile embedding models을 학습하는 것이 점점 더 중요해지고 있음. 현재까지 이 방향에서 많은 연구가 이루어졌으며, 대표적인 방법으로는 다음이 있음.

  • Contriever
  • LLM-Embedder
  • E5
  • BGE
  • SGPT
  • Open Text Embedding

이러한 연구들은 일반적인 text embedding 활용을 크게 발전시키는 데 기여함.

2.2 Neural Retrieval을 위한 Embedding Models

Embedding models의 주요 응용 중 하나는 neural retrieval. Text embeddings을 활용하여 입력 query와 의미적으로 유사한 문서를 검색하며, embedding similarity를 기반으로 relevant answers를 찾는 방식.

Embedding 기반 retrieval 방법 중 가장 일반적인 형태는 Dense Retrieval이며, text encoder의 output을 집계(예: [CLS] token 또는 mean-pooling 활용)하여 embedding similarity를 계산하는 방식.

또한, Multi-Vector Retrieval 방식에서는 text encoder의 output 간의 세밀한 interaction을 통해 embedding similarity를 계산.

마지막으로, text embeddings을 term weights로 변환하여 Sparse 또는 Lexical Retrieval을 수행하는 방법도 존재.

일반적으로 위의 retrieval 방법들은 서로 다른 embedding models에 의해 수행됨. 현재까지 이러한 모든 기능을 통합적으로 지원하는 단일 방법은 존재하지 않음.

2.3 Multi-Lingual Text Embeddings

기술적 발전에도 불구하고, 대부분의 기존 text embeddings은 English 전용으로 개발되었으며, 다른 언어들은 상대적으로 뒤처져 있는 문제가 존재. 이를 완화하기 위해 여러 방향에서 지속적인 연구가 이루어지고 있음.

  • Pre-trained multi-lingual text encoders 개발

    • mBERT
    • mT5
    • XLM-R
  • Multi-lingual text embeddings을 위한 training 및 evaluation 데이터 구축

    • MIRACL
    • mMARCO
    • Mr. TyDi
    • MKQA

또한, multi-lingual text embeddings은 연구 커뮤니티에서 지속적으로 발전하고 있으며, 대표적인 연구는 다음과 같음.

  • mDPR
  • mContriever
  • mE5

그러나 여전히 English models과의 성능 차이가 존재하며, 언어 간의 불균형이 심각하기 때문에 현재의 연구 성과만으로는 충분하지 않은 상황.


3. M3-Embedding

M3-Embedding은 다국어 지원(Multi-Linguality), 다기능 지원(Multi-Functionality), 다양한 입력 크기 처리(Multi-Granularity) 측면에서 높은 확장성을 제공하는 고성능 embedding 모델.

본 연구에서는 M3-Embedding이 단일 언어 및 다국어 검색(Cross-Lingual Retrieval), 문장 및 긴 문서 처리, 그리고 Dense, Sparse, Multi-Vector Retrieval 통합 지원을 가능하게 하는 핵심 설계를 제시함.


3.1 Data Curation

M3-Embedding의 효과적인 학습을 위해 다양하고 대규모의 multi-lingual 데이터셋을 구축하는 것이 필수적이며, 이를 위해 세 가지 주요 데이터를 활용함.

  1. 비지도 학습 데이터 (Unsupervised Data): 라벨이 없는 corpus에서 추출
  2. 지도 학습 데이터 (Fine-Tuning Data): 라벨이 포함된 corpus에서 수집
  3. 합성 데이터 (Synthetic Data): 데이터 생성 기법을 활용하여 생성

3.1.1 비지도 학습 데이터 (Unsupervised Data)

비지도 학습 데이터는 대량의 라벨이 없는 텍스트 데이터에서 의미적으로 풍부한 구조(title-body, title-abstract, instruction-output 등)를 추출하여 구축됨.

이를 위해 Wikipedia, 학술 논문 데이터(S2ORC), 뉴스 코퍼스(CC-News), 웹 크롤링 데이터(mC4) 등에서 다양한 언어로 구성된 corpus를 수집함.

또한 Cross-Lingual Semantic Matching을 위한 통합 embedding space를 학습하기 위해 **병렬 문장 데이터셋(NLLB, CCMatrix)**을 활용하여 다국어 임베딩 정렬을 강화함.

이 과정에서 불량 콘텐츠 및 낮은 연관성을 가진 샘플을 제거하는 필터링을 수행하였으며, 최종적으로 194개 언어, 12억 개의 텍스트 쌍을 포함하는 고품질의 다국어 데이터셋을 구축함.

3.1.2 지도 학습 데이터 (Fine-Tuning Data)

비지도 학습 데이터는 대량 확보가 가능하지만, retrieval 품질 향상을 위해서는 지도 학습 데이터(Fine-Tuning Data)의 보완이 필수적임.

이를 위해 영어, 중국어, 기타 다국어 학습 데이터를 포함하는 대표적인 retrieval 데이터셋을 활용함.

  • 영어(English): HotpotQA, TriviaQA, NQ, MS MARCO, COLIEE, PubMedQA, SQuAD 등
  • 중국어(Chinese): DuReader, mMARCO-ZH, T2-Ranking, LawGPT, CMedQAv2 등
  • 기타 언어(Other Languages): Mr. TyDi 및 MIRACL 데이터셋 활용

3.1.3 합성 데이터 (Synthetic Data)

긴 문서 검색(Long Document Retrieval) 성능 강화를 위해, 긴 문서를 기반으로 추가적인 synthetic 데이터를 생성하는 MultiLongDoc을 도입함.

Wikipedia, Wudao, mC4 등의 장문 코퍼스에서 일부 단락을 샘플링한 후, GPT-3.5를 활용하여 해당 단락과 관련된 질문을 생성함.

이렇게 구성된 데이터는 fine-tuning에 활용되며, 장문 검색 성능을 향상시키는 데 기여함.


3.2 Hybrid Retrieval

M3-Embedding은 Dense Retrieval, Lexical Retrieval, Multi-Vector Retrieval을 통합적으로 지원하는 hybrid retrieval framework을 제공함.

3.2.1 Dense Retrieval

Dense Retrieval 방식에서는 query와 document를 동일한 text encoder를 통해 임베딩 벡터로 변환한 후, 내적을 수행하여 relevance score를 계산함.

  • Query Embedding

    입력 query는 text encoder를 통해 hidden states로 변환되며, 이때 "[CLS]" 토큰의 hidden state를 정규화하여 최종 query embedding을 생성함.

  • Document Embedding

    Passage(문서) 역시 동일한 방식으로 embedding을 생성하며, query와 passage의 inner product를 relevance score로 사용함.

3.2.2 Lexical Retrieval

Lexical Retrieval 방식에서는 출력 embedding을 이용하여 각 term의 중요도를 추정하며, 이를 기반으로 query와 document 간의 lexical match를 수행함.

  • Query Term Weighting

    Query 내 각 term의 weight는 hidden state를 실수값으로 변환하는 matrix를 사용하여 계산되며, 동일 term이 여러 번 등장하면 최대 weight를 유지함. → Passage도 동일한 방식으로 계산

  • Relevance Score 계산

    Query와 passage에서 공통으로 등장하는 term들의 weight를 기반으로 relevance score를 계산하며, 이는 Sparse Retrieval 방식과 유사함.

3.2.3 Multi-Vector Retrieval

Multi-Vector Retrieval은 Dense Retrieval을 확장한 방식으로, query와 passage의 전체 output embeddings을 활용하여 fine-grained similarity를 계산함.

  • Query와 passage 간의 Late-Interaction 방식을 적용하여, 더 정밀한 매칭이 가능하도록 설계됨.

3.2.4 Hybrid Search Strategy

각 retrieval 방법을 개별적으로 적용할 수도 있지만, M3-Embedding의 핵심 장점은 hybrid 방식으로 retrieval을 수행할 수 있다는 점임.

  • Dense Retrieval로 1차 검색 수행
  • Sparse Retrieval과 Multi-Vector Retrieval을 활용하여 추가적인 refinement 수행
  • 최종적으로 다양한 retrieval 방법의 score를 조합하여 re-ranking 수행

이러한 Hybrid Retrieval 구조를 통해 검색 정확도를 극대화할 수 있음.


3.3 Self-Knowledge Distillation

M3-Embedding의 학습 과정에서는 retrieval 방법 간의 상충되는 학습 목표를 조정하기 위해 Self-Knowledge Distillation 기법을 적용함.

  • Multi-Objective Training의 한계

    Retrieval 방법마다 최적의 embedding 구조가 다를 수 있으며, 개별적인 학습을 진행하면 embedding 품질이 저하될 수 있음.

  • Self-Knowledge Distillation 적용

    서로 다른 retrieval 방법에서 얻어진 ensemble prediction score를 Teacher Signal로 활용하여 Knowledge Distillation을 수행함.

  • Fine-Tuned Knowledge Distillation Loss 적용

    Retrieval 방법별 loss를 일괄적으로 최소화하는 것이 아니라, Softmax 기반의 ranking-aware loss를 적용하여 retrieval 품질을 최적화함.


3.4 Training Process

  • M3-Embedding의 학습은 다단계 workflow로 구성

3.4.1 Pre-training 단계

  • Text encoder로 XLM-RoBERTa를 채택하며, RetroMAE 방법을 적용하여 사전 학습을 수행.
  • Contrastive learning을 통해 Dense Retrieval만을 기본적으로 학습.

3.4.2 Fine-tuning 단계

  • Self-Knowledge Distillation을 적용하여, embedding model이 세 가지 retrieval 기능을 동시에 수행할 수 있도록 미세 조정.

  • 학습 초기에 W_lex 의 무작위 초기화로 인해 s_lex 의 정확도가 낮고, L_lex 가 높게 나타나는 문제 발생.

  • 이를 완화하기 위해 초기 학습 단계에서 가중치를 조정:

    • w_1 = 1, w_2 = 0.3, w_3 = 1
    • lambda_1 = 1, lambda_2 = 0.1, lambda_3 = 1
  • Hard negative samples을 활용하여 학습을 진행하며, ANCE 방법을 따름.


3.5 Efficient Batching

M3-Embedding의 학습 효율성을 극대화하기 위해 최적화된 Batching Strategy를 도입함.

3.5.1 Sequence Length 기반 데이터 그룹화

  • 데이터 샘플을 미리 sequence 길이에 따라 그룹화하여 mini-batch를 구성함.
  • 유사한 sequence 길이를 가진 데이터끼리 학습하면 padding overhead를 최소화하고 GPU 메모리 활용도를 극대화할 수 있음.

3.5.2 Cross-GPU Load Balancing

  • 다수의 GPU를 활용하는 분산 학습에서 각 GPU 간 균등한 load balancing을 유지하여 연산 효율성을 극대화함.

3.5.3 Long-Sequence 처리 최적화

  • Gradient Checkpointing 기법을 활용하여 긴 문서에서도 연산 효율을 유지하면서 embedding 학습을 진행함.
  • 이를 통해 8192 tokens 이상의 장문에서도 batch size를 기존 대비 20배 이상 증가시킬 수 있음.

3.5.4 Multi-CLS 기법 적용

  • 긴 문서의 embedding을 더욱 효과적으로 생성하기 위해, CLS 토큰을 문서 내 여러 위치에 삽입하여 학습함.
  • 모든 CLS embedding의 평균값을 최종 embedding으로 사용하여, 장문 검색 성능을 개선함.

이러한 최적화된 Batching Strategy를 통해 M3-Embedding은 multi-lingual, multi-functional, multi-granular retrieval을 효과적으로 지원할 수 있음.


4. Experiment

본 섹션에서는 M3-Embedding의 성능을 다각적으로 평가함. 주요 실험 항목은 Multi-Lingual Retrieval, Cross-Lingual Retrieval, Long-Doc Retrieval이며, 각 실험에서 M3-Embedding의 성능을 기존 SOTA (State-of-the-Art) 모델들과 비교하여 검증함.

또한, Self-Knowledge Distillation 및 Multi-Stage Training이 M3-Embedding의 성능에 미치는 영향을 분석하기 위해 Ablation Study를 수행함.


4.1 Multi-Lingual Retrieval

M3-Embedding의 다국어 검색 성능을 평가하기 위해 MIRACL 데이터셋을 사용함.

  • MIRACL 데이터셋: 18개 언어에서 구성된 ad-hoc retrieval 벤치마크로, 동일한 언어의 query와 passage로 이루어짐.

  • 평가 방법:

    • 공식 벤치마크 설정을 따라 Pyserini를 사용하여 평가 수행.
    • 주요 성능 지표: nDCG@10
    • 보조 지표: Recall@100 (Appendix C.1에서 보고됨)

Retrieval 방법별 설정

  • Dense Retrieval (Dense):

    • 전체 corpus에 대해 embedding을 생성한 후, Faiss를 사용하여 top-1000 candidates 검색.
  • Sparse Retrieval (Sparse):

    • Corpus의 term weight를 계산하고 Lucene을 사용하여 top-1000 candidates 검색.
  • Multi-Vector Retrieval (Multi-vec):

    • 연산 비용이 크므로 top-200 candidates만 re-ranking 수행.
  • Dense + Sparse (Hybrid):

    • Dense와 Sparse retrieval 결과를 결합하여 re-ranking 수행.
  • All (Dense + Sparse + Multi-vec):

    • 세 가지 방법을 모두 결합하여 최적의 검색 성능을 달성.

Baseline 비교 방법

  • Lexical Retrieval: BM25
  • Dense Retrieval: mDPR, mContriever, mE5-large, E5-mistral-7b, OpenAI-3 (Text-Embedding-3-Large)

실험 결과 및 분석

  • Dense Retrieval 단독으로도 강력한 성능 기록

    • M3-Embedding은 기존 모든 Dense Retrieval 모델을 능가하며, 각 개별 언어에서도 일관된 우위를 유지함.
    • 특히, E5-mistral-7b는 Mistral-7B 모델을 사용하여 학습되었음에도 불구하고, M3-Embedding은 영어뿐만 아니라 다른 언어에서도 더 높은 성능을 보임.
  • Sparse Retrieval의 효과

    • Sparse Retrieval도 BM25보다 높은 성능을 보이며, Hybrid 방식에서 더욱 효과적으로 작동함.
  • Multi-Vector Retrieval의 추가적인 성능 향상

    • Query와 passage 간의 정교한 interaction을 활용하는 Multi-Vector Retrieval을 추가하면 검색 성능이 더욱 향상됨.
  • Dense + Sparse 결합의 장점

    • 단일 retrieval 방법보다 Dense와 Sparse를 결합한 Hybrid 방식이 더 우수한 성능을 기록함.
    • 세 가지 방법을 결합한 All 방식이 최상의 성능을 보임.

4.2 Cross-Lingual Retrieval

M3-Embedding의 교차 언어 검색 성능을 평가하기 위해 MKQA 벤치마크를 사용함.

  • MKQA 데이터셋:

    • 25개 비영어 언어의 query에 대해 English Wikipedia에서 정답이 포함된 passage를 검색하는 작업.
    • BEIR에서 제공하는 well-processed corpus를 사용하여 실험 수행.
  • 평가 방법:

    • 주요 성능 지표: Recall@100
    • 보조 지표: Recall@20 (Appendix C.1에서 보고됨)
    • MIRACL 데이터셋과 동일한 retrieval weight 설정 적용.

실험 결과 및 분석

  • M3-Embedding의 뛰어난 Cross-Lingual Retrieval 성능

    • Dense Retrieval 단독으로도 기존 baseline보다 높은 성능을 보이며, Hybrid 방식으로 결합할 경우 더욱 향상됨.
  • 언어 간 성능 격차가 상대적으로 적음

    • 일부 경쟁력 있는 baseline (E5-mistral-7b)은 특정 언어에서 M3-Embedding과 유사한 결과를 보였으나, low-resource 언어에서는 M3-Embedding이 훨씬 안정적인 성능을 유지함.
  • Sparse Retrieval의 한계점

    • Sparse Retrieval은 BM25보다 높은 성능을 보였지만, Cross-Lingual Retrieval에서는 효과적이지 않음.
    • Query와 passage의 언어가 다르므로 공통 term이 거의 없어서 Sparse Retrieval이 비효율적임.

4.3 Multilingual Long-Doc Retrieval

긴 문서 검색 성능을 평가하기 위해 MLDR (Multi-Lingual Long-Doc Retrieval) 벤치마크를 사용함.

  • MLDR 데이터셋: Wikipedia, Wudao, mC4에서 선별된 다국어 기사들로 구성됨.
  • NarrativeQA 데이터셋: 영어로 구성된 long document
  • 추가 비교 모델: JinaEmbeddingv2, OpenAI의 text-embedding-ada-002, text-embedding-3-large

실험 결과 및 분석

  • Sparse Retrieval이 긴 문서 검색에서 효과적

    • Sparse Retrieval은 Dense Retrieval보다 약 10점 높은 검색 성능을 기록하며, 긴 문서 검색에서 더욱 효과적인 것으로 나타남.
  • Multi-Vector Retrieval의 강력한 성능

    • Query와 passage 간의 fine-grained similarity를 활용하는 Multi-Vector Retrieval을 추가하면 5.1점 향상됨.
  • 모든 retrieval 방법을 결합한 All 방식에서 최고 성능 기록

MCLS (Multi-CLS) 기법의 효과

긴 문서 검색 성능을 개선하기 위해, MCLS 기법을 도입하여 추가적인 학습 없이도 성능을 향상시킴.

  • 긴 문서 내 여러 위치에 CLS 토큰을 삽입한 후, 모든 CLS embeddings의 평균을 최종 embedding으로 사용하여 검색 성능을 향상시킴.

4.4 Ablation Study

M3-Embedding의 Self-Knowledge Distillation 및 Multi-Stage Training의 영향을 분석하기 위해 Ablation Study를 수행함.

4.4.1 Self-Knowledge Distillation (SKD)의 영향

  • Distillation 과정을 제거한 모델(M3-w.o.skd)을 비교한 결과, 원래의 M3-Embedding(SKD 적용 모델)이 더 높은 검색 성능을 기록함.
  • 특히 Sparse Retrieval에서 SKD의 효과가 더욱 두드러짐, 이는 Dense와 Sparse Retrieval 간의 embedding 불일치를 극복하는 데 SKD가 기여함을 시사함.

4.4.2 Multi-Stage Training의 영향

Multi-Stage Training이 retrieval 성능에 미치는 영향을 검토하기 위해 세 가지 학습 설정을 비교함.

  1. Fine-Tuning Only: XLM-RoBERTA에서 직접 fine-tuning
  2. RetroMAE + Fine-Tuning: RetroMAE로 사전 학습된 모델을 fine-tuning
  3. RetroMAE + Unsupervised Pretraining + Fine-Tuning: 추가적인 비지도 데이터 pre-training 후 fine-tuning
  • 비지도 데이터 pre-training을 포함할 경우, retrieval 품질이 가장 뛰어남.
  • RetroMAE 기반 사전 학습이 검색 성능을 크게 향상시키는 것으로 확인됨.

4.5 실험 결과 요약

M3-Embedding은 Multi-Lingual Retrieval, Cross-Lingual Retrieval, Long-Doc Retrieval에서 최첨단 성능을 기록함.

  • Dense Retrieval 단독으로도 모든 기존 baseline보다 우수한 성능을 보임.
  • Sparse 및 Multi-Vector Retrieval을 결합하면 추가적인 성능 향상이 가능함.
  • Low-resource 언어에서도 안정적인 검색 성능 유지.
  • Hybrid Retrieval 구조를 통해 기존 단일 retrieval 모델보다 강력한 검색 성능을 제공함.

5. Conclusion

본 논문에서는 M3-Embedding을 소개하며, 다국어 검색을 지원하고, 다양한 granularities의 입력을 처리하며, 서로 다른 retrieval 기능을 통합하는 text embedding 모델의 확장성을 획기적으로 발전시켰음.

M3-Embedding은 다음과 같은 핵심 기술적 기여를 포함함.

  1. Self-Knowledge Distillation

    • Retrieval 방법 간의 학습 목표 차이를 조정하여 embedding 품질을 향상시키는 새로운 학습 프레임워크 적용.
  2. Efficient Batching

    • GPU 효율성을 극대화하는 Sequence Length 기반 그룹화, Cross-GPU Load Balancing, Long-Sequence 처리 최적화 기법 도입.
  3. 고품질 데이터 구축 (High-Quality Data Curation)

    • 비지도 학습 데이터, 지도 학습 데이터, 합성 데이터를 결합하여 다양한 retrieval 작업을 효과적으로 학습하도록 구성.

M3-Embedding의 효과는 실험을 통해 실증되었으며,

  • Multi-Lingual Retrieval,
  • Cross-Lingual Retrieval,
  • Multi-Lingual Long-Document Retrieval에서 최첨단(State-of-the-Art) 성능을 발휘함을 확인함.

5.1 Limitations

M3-Embedding은 MIRACL, MKQA 등 다국어 및 교차 언어 벤치마크에서 최고 성능을 기록하였으나, 여전히 해결해야 할 몇 가지 한계점이 존재함.

5.1.1 일반화 가능성 (Generalizability)

  • 본 연구에서 사용한 벤치마크 외의 다양한 데이터셋 및 실제 환경에서의 성능 검증이 필요함.
  • 데이터셋마다 특성이 다르므로, 특정 도메인이나 새로운 데이터에서는 성능 변동이 발생할 가능성이 있음.
  • 특히 특정 산업군(예: 의료, 법률, 금융)에서의 검색 성능을 추가적으로 평가하는 연구가 요구됨.

5.1.2 긴 문서 처리 (Processing Extremely Long Documents)

  • M3-Embedding은 최대 8192 tokens 길이의 문서를 처리하도록 설계되었으나,
  • 이보다 긴 문서(예: 전체 논문, 법률 문서 등)의 검색에서는 연산 비용 및 메모리 사용량이 증가할 가능성이 있음.
  • 매우 긴 문서를 대상으로 한 검색 성능을 향상시키기 위한 추가적인 모델 최적화 및 메모리 효율적인 retrieval 기법 연구가 필요함.

5.1.3 언어별 성능 차이 (Performance Across Different Languages)

  • M3-Embedding은 100개 이상의 언어를 지원하지만,
  • 모든 언어에서 동일한 수준의 성능을 보장하는 것은 어려움.
  • 특히 저자원 언어(Low-Resource Languages) 에서는 상대적으로 낮은 성능을 보이며, 언어적 다양성을 고려한 추가적인 데이터 학습 및 모델 개선이 필요함.
  • 다양한 언어 계열(Language Families)에서의 모델 강건성과 효과성을 검토하기 위한 추가 평가 및 분석이 요구됨.

5.2 향후 연구 방향 (Future Work)

M3-Embedding의 한계를 극복하고, 보다 강력한 다국어 retrieval 모델을 구축하기 위해 다음과 같은 연구 방향이 제안됨.

  1. Zero-Shot 및 Few-Shot Retrieval 성능 개선

    • 새로운 언어나 도메인에 대한 적응력을 높이기 위한 Meta-Learning 및 Transfer Learning 기법 적용.
  2. 연산 효율성을 고려한 Retrieval 기법 개발

    • Long-Document Retrieval 최적화를 위한 Sparse Attention Mechanism 및 Adaptive Token Compression 기법 도입.
  3. 다국어 Retrieval 성능 강화를 위한 추가적인 Pre-Training

    • Low-Resource Language에 최적화된 추가적인 데이터 수집 및 학습 기법 연구.
  4. Hybrid Retrieval 성능 향상

    • Dense, Sparse, Multi-Vector Retrieval 간의 효과적인 가중치 조정 및 Re-ranking 전략 최적화 연구.

본 연구를 통해 제안된 M3-Embedding은 다국어 및 교차 언어 검색의 새로운 표준을 정립할 가능성을 보이며, 향후 연구를 통해 더욱 발전된 Retrieval 모델로 확장될 것으로 기대됨.


Appendix


A. Details of Datasets

A.1 Collected Data

Unsupervised data의 언어별 분포 및 텍스트 길이(토큰 수) 분포는 Figure 4에 제시됨.

긴 텍스트(예: CC-News의 뉴스 기사)의 경우, 초반 문장들이 요약적인 성격을 띠는 경향이 있음.

  • 이로 인해 모델이 초기 문장에만 의존하여 relevance 관계를 학습하는 문제가 발생할 가능성이 있음.
  • 이를 방지하기 위해, 텍스트 내 segment 순서를 랜덤하게 섞는 전략을 적용함.

구체적인 전략은 다음과 같음.

  1. 텍스트를 세 개의 segment로 분할
  2. 분할된 segment들의 순서를 무작위로 변경하여 다시 결합
  3. 관련 문장들이 긴 시퀀스 내 어디에서든 등장할 수 있도록 유도

이 기법은 training 과정에서 전체 passage 중 0.2% 확률로 적용됨.


A.2 Synthetic Data

GPT-3.5를 활용한 Synthetic Data 생성

Synthetic data를 생성하기 위해 GPT-3.5를 활용하여 질문을 생성하였으며, 다음과 같은 **프롬프트(prompt)**를 사용함

"You are a curious AI assistant, please generate one specific and valuable question based on the following text.
The generated question should revolve around the core content of this text, and avoid using pronouns (e.g., 'this').
Note that you should generate only one question, without including additional content."
  • 즉, 텍스트의 핵심 내용을 중심으로 특정한 질문을 생성하되, 대명사(예: 'this') 사용을 제한함.
  • 생성된 synthetic dataset의 세부 사항은 Table 7에 정리됨.

B. Implementation Details

B.1 Experimental Hyperparameters

M3-Embedding은 XLM-RoBERTa 모델을 기반으로 함.

  • 최대 입력 길이를 8192 tokens로 확장
  • RetroMAE 방법을 적용하여 모델 업데이트

학습 데이터 구성

  • Pile, Wudao, mC4 데이터셋에서 샘플링
  • 184M 개의 텍스트 샘플 사용 (총 105개 언어 포함)

Pre-training 설정

  • 최대 시퀀스 길이:

    • Query: 512 tokens
    • Passage: 8192 tokens
  • 학습률 (Learning Rate): 7 x 10^-5

  • 배치 크기 (Batch Size): 32

  • Gradient Accumulation: 16 steps

  • Pre-training 스텝: 20,000 steps

  • GPU 환경: 32 x A100 (40GB) 사용.

Fine-Tuning 설정

  • Query당 7개의 negative 샘플을 포함하여 학습
  • Dense, Sparse, Multi-Vector embedding을 6000 steps 동안 워밍업(warm-up)
  • Self-Knowledge Distillation 적용하여 최종 학습 진행
  • 24 x A800 (80GB) GPU 사용

B.2 MCLS Method (Multiple CLS Tokens)

긴 문서에서의 fine-tuning은 긴 텍스트 데이터 부족 또는 연산 자원 제한으로 인해 어려울 수 있음. 이를 해결하기 위해 MCLS (Multiple CLS Tokens) 기법을 제안함.

  • 문서 내 일정 간격마다 CLS 토큰 삽입
  • 실험에서는 256 tokens마다 "[CLS]" 추가
  • 각 CLS token이 주변 토큰들의 의미를 캡처하도록 학습
  • 최종 embedding은 모든 CLS 토큰의 마지막 hidden state를 평균하여 계산

이 기법은 추가적인 fine-tuning 없이도 긴 문서 검색 성능을 효과적으로 향상시킬 수 있음을 확인함.


B.3 Split-Batch Method

긴 시퀀스를 처리하는 동안 GPU 메모리 사용을 최적화하기 위해 Split-Batch 전략을 사용함.

Algorithm 1: Split-Batch Pseudocode

M3.gradient_checkpointing_enable()
embs = []
for batch_data in loader:
    # split the large batch into multiple sub-batches
    for sub_batch_data in batch_data:
        sub_emb = M3(sub_batch_data)
        # only collect the embeddings
        embs.append(sub_emb)
# concatenate the outputs to get final embeddings
embs = cat(embs)

설명

  1. 기존 batch를 여러 개의 sub-batch로 분할
  2. 각 sub-batch를 모델에 입력하여 embedding을 생성
  3. Gradient Checkpointing을 활성화하여 중간 activation을 저장하지 않음 -> 메모리 절약
  4. 모든 sub-batch의 embedding을 최종적으로 결합하여 batch-level 결과 생성

효과

  • 8192 tokens 길이의 입력을 처리할 때 batch size를 20배 이상 증가
  • GPU 메모리 활용 효율이 기존 방식보다 훨씬 높음

C. More Results

C.1 추가 실험 결과 (Additional Evaluation Results)

  • M3-Embedding은 MIRACL 및 MKQA 벤치마크에서 모든 baseline을 평균적으로 능가함 (Table 12, 13 참조).

  • Self-Knowledge Distillation 및 Multi-Stage Training의 영향을 분석한 Ablation Study 결과는 Table 14, 15에 정리됨.


C.2 BM25에 대한 다양한 Tokenizer 비교

BM25 성능 분석 (Table 11 참조)

  1. Lucene의 Analyzer를 사용하면 BM25 성능이 크게 향상됨

  2. BM25 vs. M3 (Sparse Retrieval) 비교

    • M3-Embedding의 Sparse Retrieval은 BM25보다 높은 성능을 기록
    • MIRACL 및 MKQA에서는 M3(Sparse)가 BM25를 능가
    • 그러나, 긴 문서 검색(MLDR)에서는 BM25와 유사한 성능을 보임.

C.3 Split-Batch의 Batch Size 영향 분석

Batch Size 증가 효과 (Table 10 참조)

Split-Batch를 활성화하면 긴 문서에서도 batch size가 대폭 증가함.