5. 한국어 임베딩 모델 선택 가이드
| 기준 | multilingual-e5 | KoSimCSE (SKT) | bge-m3 (BAAI) |
|---|---|---|---|
| 한영 혼용 문서 | 최적 | 영어 성능 약함 | 우수 |
| 순수 한국어 문서 | 우수 | 최적 | 우수 |
| Databricks 기본 제공 | 가능 | 불가 (직접 배포) | 불가 (직접 배포) |
| Dense + Sparse | Dense만 | Dense만 | 둘 다 지원 |
- 빠른 시작 + 한영 혼용:
multilingual-e5-large-instruct - 순수 한국어 + 최고 품질:
KoSimCSE-roberta-multitask - 하이브리드 검색 내장:
bge-m3 - 비용 최적화:
gte-multilingual-base
KoSimCSE를 Model Serving에 배포하는 방법
팁 한영 혼용 문서가 많은 환경에서는 다국어 모델(multilingual-e5,bge-m3)이 더 적합합니다.
6. 한국어 RAG 베스트 프랙티스
권장 구성
| 단계 | 권장 도구/전략 |
|---|---|
| 토크나이저 | Kiwi + KSS 조합 |
| 청킹 | Recursive + 한국어 구분자 |
| 임베딩 | multilingual-e5-large-instruct |
| 검색 | Hybrid (Kiwi BM25 + Vector) |
| 재정렬 | bge-reranker-v2-m3 |
왜 Re-ranking이 한국어 RAG에서 특히 중요한가
Re-ranking은 LLM이 최종 답변을 생성하는 품질에 직접적으로 영향 을 미칩니다. “Lost in the Middle” 문제: LLM은 긴 컨텍스트에서 처음과 끝 에 있는 정보는 잘 활용하지만, 중간 에 있는 정보는 간과합니다. 가장 관련성 높은 문서가 상위(1~2위)에 위치해야 합니다. 한국어에서 Re-ranking이 특히 효과적인 이유:- 조사 변형에 의한 노이즈: Cross-encoder는 표면적 차이를 무시하고 핵심 의미만으로 판단
- 한영 혼용 매칭: “벡터 검색”과 “Vector Search”가 동일 개념임을 정밀 포착
- 전문 용어 문맥 이해: 구체적 문맥을 이해하여 정밀하게 순위 매김
참고 한국어 기술 문서 RAG에서 Re-ranking을 추가하면 Top-5 Precision이 일반적으로 10~25%p 향상 됩니다.
한국어 특화 전처리
평가 시 주의사항
- 한국어 평가 데이터셋을 직접 구축 해야 합니다
- 평가 지표: Retrieval에는 Recall@K, MRR, 생성에는 정확성, Faithfulness
- LLM-as-Judge를 사용한다면 한국어 이해도가 높은 모델을 Judge로 사용
7. 한국어 RAG 실전 트러블슈팅
| 문제 | 원인 | 해결 방법 |
|---|---|---|
| ”데이터브릭스”를 검색하면 안 나옴 | 공백 기반 BM25에서 조사 결합 | Kiwi 토크나이저 BM25 사용 |
| 한영 혼용 문서에서 영어 키워드 검색 안 됨 | 한국어 특화 모델의 영어 한계 | 다국어 모델 사용 |
| 청크 중간에서 문장이 잘림 | 영어 기반 구분자만 사용 | 한국어 종결어미 구분자 추가 |
| 토큰 비용이 예상보다 높음 | 한국어가 2~3배 많은 토큰 소비 | 청크 크기를 문자 수로 관리 |
| 동의어/유의어 검색 안 됨 | 임베딩 거리가 멀 수 있음 | Query Expansion 또는 Multi-Query Retriever |
성능 벤치마크 참고값
| 지표 | 양호 | 우수 | 최적화 목표 |
|---|---|---|---|
| Recall@5 | > 0.75 | > 0.85 | > 0.90 |
| Faithfulness | > 0.80 | > 0.90 | > 0.95 |
| 전체 응답 시간 | < 8초 | < 5초 | < 3초 |