문장 임베딩 — Sentence-BERT, E5, BGE
문장 임베딩(Sentence Embedding)은 문장 전체의 의미를 하나의 벡터로 인코딩합니다. 문장 간 유사도 비교, 검색, 클러스터링 등에 사용되며, RAG 파이프라인의 핵심 구성 요소입니다.핵심 아이디어
BERT 같은 모델은 토큰 수준의 임베딩을 출력합니다. 문장 임베딩은 이를 하나의 고정 크기 벡터로 변환하여, **코사인 유사도(Cosine Similarity)**로 문장 간 의미적 유사도를 효율적으로 비교합니다.동작 방식
주요 모델
Sentence-BERT (SBERT, 2019)
BERT를 Siamese 구조로 Fine-Tuning하여 문장 임베딩을 생성합니다.E5 (2022) / BGE (2023)
최신 임베딩 모델들로, 다국어 지원과 높은 검색 성능을 제공합니다.| 모델 | 차원 | 다국어 | 특징 |
|---|---|---|---|
| all-MiniLM-L6-v2 | 384 | 영어 | 경량, 빠른 추론 |
| multilingual-e5-large | 1024 | 100+ 언어 | 높은 검색 성능 |
| bge-m3 | 1024 | 100+ 언어 | 밀집 + 희소 + 멀티벡터 |
| gte-Qwen2-7B-instruct | 3584 | 다국어 | 최고 성능, 대형 |
구현
관련 기술 비교
| 방법 | 입력 단위 | 추론 속도 | 정확도 |
|---|---|---|---|
| TF-IDF | 단어 빈도 | 매우 빠름 | 낮음 |
| Word2Vec 평균 | 단어 | 빠름 | 보통 |
| Sentence-BERT | 문장 | 빠름 | 높음 |
| Cross-Encoder | 문장 쌍 | 느림 | 매우 높음 |
한계점
한계점
Bi-Encoder(Sentence-BERT, E5 등)는 빠르지만, 두 문장 간의 세밀한 상호작용을 포착하지 못합니다. 정밀한 유사도 판단이 필요하면 Cross-Encoder로 재순위화(Reranking)하는 2단계 파이프라인을 사용합니다. 이 내용은 RAG 탭의 Reranking 문서에서 다룹니다.
참고 논문
| 논문 | 학회/연도 | 핵심 기여 |
|---|---|---|
| Sentence-BERT (Reimers & Gurevych) | EMNLP 2019 | Siamese BERT로 문장 임베딩 |
| Text Embeddings by Weakly-Supervised Contrastive Pre-training - E5 (Wang et al.) | ACL 2022 | 대규모 약한 지도 학습 |
| C-Pack: Packaged Resources for General Chinese Embeddings - BGE (Xiao et al.) | 2023 | 다국어 임베딩 + 리트리벌 |

