MTEB: 대규모 텍스트 임베딩 벤치마크

Hugging Face는 텍스트 임베딩 모델의 성능을 평가하기 위해 8개의 작업에 걸쳐 56개의 데이터셋으로 구성된 대규모 다국어 벤치마크인 MTEB를 도입했습니다.

MTEB 프레임워크 기능

MTEB는 텍스트 임베딩을 위한 전체적이고 다국어이며 확장 가능한 평가 도구로 설계되었습니다. 핵심 특성은 다음과 같습니다:

  • Scale: 벤치마크는 8개의 서로 다른 작업에 걸쳐 56개의 데이터셋을 포함합니다. 출시 시점에 MTEB 리더보드는 이미 2,000개 이상의 결과를 요약했습니다.
  • Multilingual Support: MTEB는 최대 112개의 다양한 언어에 대한 데이터를 포함하며, 분류, 의미 텍스트 유사도(STS), 그리고 비텍스트 마이닝에서 다국어 모델에 대한 구체적인 벤치마크를 제공합니다.
  • Extensibility: 이 프레임워크는 오픈소스이며, 커뮤니티가 GitHub 저장소를 통해 새로운 작업, 데이터셋, 메트릭 및 리더보드 항목을 기여할 수 있도록 합니다.

모델 성능 트레이드오프

초기 벤치마크 결과는 계산 속도, 임베딩 크기, 전체 성능 사이에 명확한 트레이드오프가 있음을 보여줍니다. Hugging Face는 사용자가 모델을 선택할 수 있도록 모델을 세 가지 주요 프로파일로 구분합니다:

최대 속도

모델은 Glove와 같이 높은 추론 속도를 제공하지만 컨텍스트 인식이 부족해 평균 MTEB 점수가 낮게 나타납니다.

속도와 성능의 균형

all-mpnet-base-v2all-MiniLM-L6-v2와 같은 모델은 중간 지점을 제공하며, 기본 단어 임베딩보다 훨씬 강력한 성능을 제공하면서도 합리적인 속도를 유지합니다.

최대 성능

ST5-XXL, GTR-XXL, SGPT-5.8B-msmarco 등 수십억 개의 파라미터를 가진 대규모 모델이 MTEB 리더보드를 장악합니다. 이러한 모델은 일반적으로 더 큰 임베딩을 생성합니다; 예를 들어 SGPT-5.8B-msmarco는 4096 차원의 임베딩을 생성하여 저장 요구량이 증가합니다.

벤치마킹 및 제출 절차

개발자는 mteb Python 라이브러리를 사용하여 자체 모델을 평가할 수 있습니다. 이 과정은 pip를 통해 라이브러리를 설치하고, 특정 작업(예: Banking77Classification 사용)에서 평가를 실행한 뒤 결과 JSON 파일을 생성하는 것을 포함합니다.

공개 리더보드에 결과를 공유하려면 사용자는 자동 스크립트(mteb_meta.py)를 사용해 메타데이터를 생성할 수 있습니다. 이 메타데이터는 모델의 Hugging Face Hub 저장소의 README.md에 추가되며, 새로 고침 시 모델이 MTEB 리더보드에 표시됩니다.

Sources