정보 검색(IR) 시스템은 사용자의 쿼리에 응답하여 문서를 찾아주는 역할을 합니다. 이러한 시스템이 발전함에 따라, 기존 시스템을 분석하고 이해하기 위한 포괄적인 평가 방법의 필요성도 커졌습니다.
텍스트 임베딩은 일반적으로 단일 작업에 대한 소수의 데이터셋을 기반으로 테스트되며, 이는 다른 작업에서의 성능을 충분히 보여주지 못합니다. 예를 들어, 의미적 텍스트 유사성(Semantic Textual Similarity, STS)에 최적화된 임베딩이 클러스터링이나 재정렬과 같은 작업에도 동일하게 효과적인지는 명확하지 않습니다. 이로 인해 새로운 모델과 임베딩 기법이 계속해서 제안되지만, 일관된 테스트가 이루어지지 않아 해당 분야에서의 발전을 평가하기 어렵습니다.
이 문제를 해결하기 위해 연구자들은 Massive Text Embedding Benchmark (MTEB)를 개발했습니다. MTEB는 112개 언어에서 58개의 데이터셋을 기반으로 8가지 임베딩 작업을 다루며, 33개의 모델을 대상으로 테스트를 진행했습니다. 이는 현재까지 텍스트 임베딩에 대한 가장 포괄적인 벤치마크로 평가받고 있습니다.
연구 결과, 단일 임베딩 방법이 모든 작업에서 최상의 성능을 보이지 않는다는 점이 밝혀졌습니다. 이는 모든 임베딩 작업에서 최적의 성능을 발휘할 수 있는 범용 텍스트 임베딩 방법이 아직 개발되지 않았음을 시사합니다. 따라서 사용자는 자신에게 필요한 작업에 가장 적합한 임베딩 모델을 선택하는 것이 중요합니다.
MTEB는 오픈 소스 코드, 공개 리더보드, 그리고 MTEB Arena라는 기능을 제공합니다. Hugging Face 웹사이트에서 모델 비교를 통해 문서 검색 성능이나 클러스터링 성능을 평가하며 투표할 수도 있습니다. 이 벤치마크는 커뮤니티가 새로운 방법론을 일관성 있게 테스트하고 텍스트 임베딩 기술의 발전을 추적할 수 있도록 돕습니다.
MTEB의 배경 및 동기
텍스트 임베딩은 자연어 처리(NLP) 작업에서 핵심적인 요소로 자리 잡았습니다. 텍스트 임베딩은 단어, 문장, 문서를 숫자 벡터로 변환하여 의미를 포착합니다. 이러한 임베딩은 기계 번역, 개체명 인식, 질문 응답 시스템, 감정 분석, 요약 등 다양한 애플리케이션에 사용됩니다.
그동안 연구자들은 이러한 임베딩을 평가하기 위해 여러 데이터셋과 벤치마크를 개발해 왔습니다. 대표적인 예로는 SemEval, GLUE, SuperGLUE, Big-Bench, WordSim353, SimLex-999 등이 있습니다. 이 벤치마크들은 주로 표준 및 문맥 기반 단어 임베딩을 평가하는 데 중점을 둡니다.
하지만 텍스트 임베딩 평가에는 여전히 몇 가지 공백이 존재합니다.
- 단어 임베딩과 문장 임베딩을 모두 다루는 벤치마크는 거의 없습니다.
- 많은 평가가 특정 NLP 작업에 초점을 맞추며, 임베딩이 텍스트의 전반적인 의미를 얼마나 잘 포착하는지는 충분히 고려하지 않습니다.
- 기존 벤치마크는 실제 애플리케이션에서 임베딩이 사용되는 방식을 충분히 반영하지 못하는 경우가 많습니다.
따라서 폭넓은 텍스트 이해 작업을 평가할 수 있는 포괄적인 벤치마크가 필요합니다. 이러한 벤치마크는 NLP 연구자뿐만 아니라 실무에서 NLP 모델을 사용하는 사람들에게도 유용해야 합니다. MTEB는 이러한 공백을 메우기 위해 만들어졌습니다.
텍스트 임베딩
텍스트 임베딩은 텍스트를 숫자 목록으로 표현하는 방법입니다. 이러한 숫자들은 단어, 문장, 또는 전체 문서를 나타낼 수 있으며, 일반적으로 수백 개의 숫자로 이루어져 있습니다.
텍스트 임베딩은 다양한 NLP 작업에서 사용됩니다. 단어 임베딩은 맞춤법 검사, 단어 간 관계 탐색 등과 같은 작업에 활용되며, 문장이나 더 긴 텍스트 임베딩은 텍스트의 감정 분석이나 새로운 텍스트 생성과 같은 작업에 사용됩니다.
텍스트 임베딩을 생성하는 방법에는 여러 가지가 있으며, 대표적인 방법들은 다음과 같습니다:
- 언어 모델 기반 방법: ULMFit, GPT, BERT, PEGASUS 등
- 다양한 NLP 작업에 학습된 방법: ELMo 등
- 단어 기반 방법: word2vec, GloVe 등(이들은 컴퓨터 비전 연구에서도 자주 사용됨)
연구자들은 다양한 임베딩을 개발해 왔으며, 현재 최소 165가지 이상의 임베딩이 비교 대상으로 사용되고 있습니다. 또한, 이 임베딩의 장단점을 이해하기 위해 의사결정 트리(Decision Trees), 랜덤 포레스트(Random Forests) 등 15가지 이상의 분석 도구가 만들어졌습니다.
MTEB의 설계 및 구현
다양성 (Diversity)
MTEB는 임베딩 모델을 다양한 작업에 대해 테스트합니다.
- 총 8가지 유형의 작업을 포함하며, 각 작업에 대해 최대 15개의 데이터셋을 사용합니다.
- 58개의 데이터셋 중 10개는 다국어를 지원하며, 총 112개의 언어를 다룹니다.
- 벤치마크는 문장 수준의 짧은 텍스트와 단락 수준의 긴 텍스트 모두를 평가하여 모델이 다양한 텍스트 길이에서 어떻게 성능을 발휘하는지 확인합니다.
단순성 (Simplicity)
MTEB는 사용이 간단하도록 설계되었습니다.
- 리스트 형태의 텍스트를 입력받아 숫자 벡터 형태의 출력을 생성할 수 있는 모델이라면 어떤 모델이든 테스트할 수 있습니다.
- 이를 통해 서로 다른 유형의 모델을 손쉽게 비교할 수 있습니다.
확장성 (Extensibility)
MTEB는 새로운 데이터셋을 쉽게 추가할 수 있습니다.
- 기존 작업에 데이터셋을 추가할 때는 작업을 설명하는 파일과 Hugging Face에 저장된 데이터의 위치를 지정하는 작업만 필요합니다.
- 새로운 유형의 작업을 추가하는 것은 더 많은 작업이 필요하지만, MTEB는 커뮤니티의 기여를 통해 성장할 수 있도록 기여를 환영합니다.
재현성 (Reproducibility)
MTEB는 실험을 쉽게 재현할 수 있도록 설계되었습니다.
- 데이터셋과 소프트웨어의 다양한 버전을 추적합니다.
- MTEB 논문에 포함된 결과는 JSON 파일로 제공되며, 누구나 해당 결과를 검토하거나 활용할 수 있습니다.
MTEB의 task 및 Evaluation
MTEB는 임베딩 모델을 평가하기 위해 8가지 유형의 작업을 포함하고 있습니다. 아래는 각 작업의 간단한 설명과 주요 평가 지표입니다.
- Bitext Mining (이중 텍스트 검색): 두 개의 다른 언어에서 의미가 일치하는 문장을 찾는 작업 (F1 점수)
- Classification (분류): 임베딩을 사용해 텍스트를 카테고리별로 분류하는 작업 (Accuracy)
- Clustering (군집화): 유사한 텍스트를 그룹화하는 작업 (V-measure)
- Pair Classification (쌍 분류): 두 텍스트가 유사한지 여부를 판단하는 작업 (Average Precision)
- Reranking (재정렬): 쿼리에 대한 관련성 순서대로 텍스트 목록을 정렬하는 작업 (MAP, Mean Average Precision)
- Retrieval (검색): 주어진 쿼리에 대해 관련 문서를 검색하는 작업 (nDCG@10)
- Semantic Textual Similarity (STS, 의미적 텍스트 유사성): 두 문장이 얼마나 유사한지를 측정하는 작업 (Spearman Correlation)
- Summarization (요약 평가): 기계가 생성한 요약을 사람이 작성한 요약과 비교하여 평가 (Spearman Correlation)
각 작업에서 MTEB는 텍스트를 벡터 임베딩으로 변환하기 위해 임베딩 모델을 사용합니다. 이후 코사인 유사도(Cosine Similarity) 또는 로지스틱 회귀(Logistic Regression)와 같은 방법을 사용하여 작업을 수행하고 점수를 계산합니다. MTEB는 각 작업에 대해 다양한 데이터셋을 포함하며, 이를 통해 다양한 언어와 텍스트 길이에서 임베딩 모델의 성능을 테스트합니다.
MTEB의 데이터셋
MTEB는 특정 텍스트 임베딩 방법과 모델을 테스트하기 위해 다양한 데이터셋을 사용합니다. 이 데이터셋들은 비교되는 텍스트의 길이에 따라 세 가지 주요 유형으로 분류됩니다.
Sentence to Sentence (S2S): 한 문장을 다른 문장과 비교하는 경우입니다. 예를 들어, 의미적 텍스트 유사성(Semantic Textual Similarity) 작업에서는 두 문장이 얼마나 유사한지를 판단하는 것이 목표입니다.
Paragraph to Paragraph (P2P): 더 긴 텍스트를 비교하는 작업입니다. MTEB는 이 텍스트들의 길이를 제한하지 않으며, 모델이 긴 텍스트를 처리할 수 있는지를 테스트합니다. 일부 작업(예: 클러스터링)은 S2S(제목만 비교)와 P2P(제목과 본문을 함께 비교) 방식으로 모두 수행됩니다.
Sentence to Paragraph (S2P): 검색 작업 등에서 사용되며, 짧은 쿼리(문장)를 더 긴 문서(단락)와 비교합니다.
MTEB는 총 56개의 데이터셋을 포함하고 있습니다. 이들 중 일부는 서로 유사한 특징을 보입니다.
- 일부는 동일한 원본 텍스트 데이터를 사용합니다(예: ClimateFEVER와 FEVER).
- 유사한 작업을 위한 데이터셋(예: CQADupstack 또는 STS의 다양한 버전)은 비슷한 구조를 가집니다.
- 동일한 데이터셋이 S2S와 P2P 버전으로 나뉘어 있는 경우도 있습니다.
- 과학 논문과 같은 특정 주제와 관련된 데이터셋은 서로 다른 작업을 다루더라도 유사한 내용을 포함합니다.
MTEB 초기 벤치마킹에 사용된 모델들
MTEB의 첫 번째 테스트 라운드에서는 연구자들이 최고의 성능을 주장하거나 Hugging Face Hub에서 인기가 많은 모델들을 평가했습니다. 이 과정에서 주로 트랜스포머 모델들이 테스트되었으며, 사용자의 필요에 맞는 모델을 선택할 수 있도록 세 가지 유형으로 분류되었습니다.
Fastest Models: GloVe와 같은 모델들은 매우 빠르지만 문맥을 잘 이해하지 못합니다. 이러한 이유로 MTEB에서의 전체적인 점수는 낮은 편입니다.
Balanced Models: all-mpnet-base-v2나 all-MiniLM-L6-v2와 같은 모델들은 가장 빠른 모델들보다는 다소 느리지만, 훨씬 더 나은 성능을 제공합니다. 이 모델들은 속도와 품질의 균형을 잘 갖추고 있습니다.
Highest Performing Models: ST5-XXL, GTR-XXL, SGPT-5.8B-msmarco와 같은 수십억 개의 매개변수를 가진 대형 모델들은 MTEB에서 최고의 성능을 보입니다. 하지만 이 모델들은 더 느리고 더 많은 저장 공간이 필요할 수 있습니다. 예를 들어, SGPT-5.8B-msmarco는 4096개의 숫자로 구성된 임베딩을 생성하며, 이로 인해 더 많은 저장 공간을 차지합니다.
'AI > 어플리케이션 개발' 카테고리의 다른 글
Retrieval 시스템을 위한 BEIR 벤치마크 (2) | 2025.01.03 |
---|---|
Retrieval을 위한 query generation 기반 Re-Ranker (0) | 2024.12.30 |
Retrieval을 위한 zero-shot LLM Ranker (2) | 2024.12.27 |
Retrieval 시스템 평가 매트릭 (0) | 2024.12.19 |
Retrieval 시스템이란? (1) | 2024.12.09 |