9차시. 임베딩 이해
7. 임베딩 모델 고르기
출처: 원본 PDF 09차시_임베딩이해.pdf 14~15쪽 · 쪽 그림 14쪽 15쪽
모델 선택은 처음에 신중해야 합니다. 나중에 바꾸면 전부 다시 만들어야 하기 때문입니다.
| 기준 | 확인할 점 | 권장 |
|---|---|---|
| 한국어 성능 | 한글 문장을 제대로 구분하는가 | 다국어 지원 모델 필수 |
| 차원 수 | 클수록 정밀하지만 무거움 | 1536 전후가 무난 |
| 비용 | 문서량 × 차원에 비례 | small 계열로 시작 |
| 일관성 | 인덱싱과 질의에 같은 모델인가 | ⚠ 반드시 동일해야 함 |
| 로컬 여부 | 외부 전송이 불가한 문서인가 | 민감 문서는 로컬 모델 |
7-1) 대표 모델 비교
| 모델 | 차원 | 특징 |
|---|---|---|
| text-embedding-3-small | 1536 | 이 과정의 기본. 저렴하고 한글도 괜찮음 |
| text-embedding-3-large | 3072 | 더 정확하지만 비용·용량이 큼 |
| ko-sroberta-multitask | 768 | 한국어 특화. 로컬 실행 가능(무료) |
| bge-m3 | 1024 | 다국어 강세. 로컬 실행 가능 |
⚠️ 가장 중요한 주의사항
인덱싱과 검색에 반드시 같은 모델을 써야 합니다.
왜냐하면 모델마다 좌표계가 완전히 다르기 때문입니다.
A모델의 (37.5, 127.0)과
B모델의 (37.5, 127.0)은
전혀 다른 장소를 가리킵니다.
모델을 바꾸면?
→ 저장된 벡터를 전부 다시 만들어야 합니다
→ 문서가 많으면 비용과 시간이 큽니다
👉
config.py에 모델명을 고정해두세요.