codingstairs
노트에듀라이프연락
⌕검색⌘K
koen

Navigation

  • Intro
  • Blog
  • Life

연락하기

로그인 없이도 보낼 수 있어요. 답변이 필요하면 이메일을 함께 적어 주세요.

  • 익명 폼으로 의견 남기기 →
  • ✉ warragon112@gmail.com
  • 카카오톡 오픈채팅 ↗

© 2026 codingstairs

  • 노트
  • 에듀
  • 검색
  • 라이프
  • 연락
  • 약관
  • RSS
  • GitHub
노트›ai

임베딩 깊게 — 모델·차원·벤치마크·캐시

2026-04-28 게시· 2026-05-18 갱신·0회 조회

임베딩 깊게 — 모델·차원·벤치마크·캐시

임베딩은 텍스트 (또는 이미지·코드) 를 고정 차원의 실수 벡터로 매핑한 결과입니다. 의미가 가까운 것이 벡터 공간에서 가깝게 배치된다는 가정 위에 검색·클러스터링·분류·추천이 얹힙니다.

1. 임베딩의 직관

문장 두 개를 같은 모델로 임베딩해 코사인 유사도를 재면, 의미가 비슷한 문장이 더 가까운 값을 보이는 경향이 있습니다.

"오늘 날씨 어때?" ↔ "현재 기온 알려줘"     → 유사도 0.85
"오늘 날씨 어때?" ↔ "감자튀김 만드는 법"   → 유사도 0.20

같은 문장이라도 모델에 따라 절댓값이 다르므로, 임계값은 모델 단위로 조율합니다.

2. 차원 수의 의미

임베딩의 차원이 클수록 표현력이 커지지만 저장·검색 비용이 비례 이상으로 늘어납니다.

차원 예시 모델
384 / 512 작은 Sentence-Transformers · BGE-small
768 nomic-embed-text · BGE-base
1024 BGE-large · Cohere embed v3
1536 OpenAI text-embedding-3-small
3072 OpenAI text-embedding-3-large

3. Matryoshka 표현 학습

Kusupati et al. (2022) 가 정리한 학습 방식. 임베딩 앞쪽 차원만 잘라 써도 정보가 비교적 잘 보존되도록 학습합니다. OpenAI text-embedding-3 시리즈가 응답에서 차원을 줄여 받는 옵션을 제공하는 배경이 이 아이디어로 알려져 있습니다.

응답 차원: 3072 (full) → 1536 → 768 → 256
              ↑
   하나의 모델에서 잘라 쓰는 모양

저장 비용·검색 속도와 정확도의 균형을 사후에 맞출 수 있습니다.

4. 정규화와 거리 함수

대부분의 텍스트 임베딩은 L2 정규화된 벡터로 제공되거나 권장됩니다. 정규화된 벡터끼리는 코사인 유사도와 내적이 사실상 같습니다. 모델 카드의 권장 거리 함수를 따릅니다.

5. 폐쇄형 API 모델

모델 제공 차원 메모
OpenAI text-embedding-3-small OpenAI API 1536 (축소 가능) 저렴 · 다국어.
OpenAI text-embedding-3-large OpenAI API 3072 (축소 가능) 고품질.
Cohere embed-multilingual-v3.0 Cohere API 1024 다국어 강세.
Voyage voyage-3 Voyage AI 다양 도메인 특화.
Google text-embedding-004 Vertex / AI Studio 768 Gemini 와 같은 진입점.

6. 오픈 가중치 모델

모델 출자 메모
BGE (BAAI/bge-*) BAAI 영어 · 중국어 · 다국어 변형. small / base / large.
nomic-embed-text Nomic AI 768 차원. 라이선스 비교적 관대.
Jina embeddings Jina AI 다국어 변형 (jina-embeddings-v3) · 긴 입력 지원.
multilingual-e5 Microsoft 연구 100 여 개 언어 학습.
Sentence-Transformers UKP Lab 다양한 작은 모델 모음.
ColBERT 계열 Stanford late-interaction 검색용.

7. 작업 유형 별 안내

대부분 모델이 두 모드를 구분하라고 안내합니다:

  • passage / document — 색인 대상에 임베딩.
  • query — 검색 쿼리에 임베딩.

같은 모델이라도 prefix ("query: ..." · "passage: ...") 가 다르면 결과가 달라집니다 (e5 계열).

8. MTEB 벤치마크

Massive Text Embedding Benchmark — Hugging Face 가 공개한 종합 벤치마크로 분류·클러스터링·검색·재정렬·STS 등 다양한 과제로 모델을 줄 세웁니다.

주의 사항:

  • 영어 중심 평가가 많습니다. 한국어 점수는 별도 카테고리·다국어 변형으로.
  • 벤치마크 점수와 자기 도메인 성능은 다를 수 있습니다. 자체 평가셋이 더 신뢰.
  • 새 모델이 자주 추가됩니다.

9. 한국어와 다국어

  • multilingual-e5 · bge-m3 · Cohere embed v3 multilingual 등이 한국어 포함 다국어 지원.
  • 영어 전용 모델에 한국어를 넣으면 품질이 떨어지는 사례가 흔합니다.
  • 한국어 데이터로 측정한 평가 자료 (Ko-MTEB 같은 시도) 가 있고 새 모델이 자주 등록됩니다.

10. 캐시 · 재계산 정책

운영 측면의 흔한 모양:

  • content hash 기준 캐시 — 청크 텍스트의 해시를 키로 임베딩 결과를 저장. 같은 텍스트 재계산 회피.
  • 버전 핀 고정 — 임베딩 모델 이름·버전을 메타데이터에 함께 적습니다.
  • 모델 변경 = 재임베딩 — 다른 모델의 벡터 공간은 호환되지 않습니다.
  • 배치 작업 — 일정 양씩 묶어 호출, 실패는 재시도, 비용 한도 알림.
CREATE TABLE chunks (
  id BIGINT PRIMARY KEY,
  content TEXT,
  content_hash TEXT,
  embedding vector(1536),
  embed_model TEXT,        -- 'text-embedding-3-small'
  embed_version TEXT,      -- '2024-01-25'
  embed_at TIMESTAMPTZ
);

11. 차원 축소 · 비용

API 임베딩은 토큰 단위 과금. 대용량 코퍼스를 처음 인덱싱할 때 비용이 한 번에 크게 발생할 수 있습니다. 자체 호스팅 (BGE · nomic · e5 + GPU 또는 CPU) 으로 옮기면 운영 부담이 늘어나는 대신 단가가 사라집니다.

차원 축소 — Matryoshka 모델의 차원을 잘라 쓰거나, PCA 같은 후처리 축소. 검색 정확도에 미치는 영향이 모델·도메인마다 다르므로 측정이 전제.

12. 자주 걸리는 자리

모델 변경 후 재임베딩 의무 — 옛 벡터와 새 쿼리는 서로 다른 공간. 호환되지 않음.

차원 불일치 — vector(1536) 컬럼에 1024 차원을 못 넣음. 모델별 분리 컬럼·테이블.

prefix 누락 — e5 · BGE 같은 모델은 query/passage prefix 가 결과를 바꿈.

정규화 가정 — 정규화 안 된 벡터에 코사인 거리만 가정하면 어긋날 수 있습니다. 모델 출력 자체의 정규화 여부 확인.

언어 혼용 — 같은 텍스트의 한국어·영어가 섞이면 모델에 따라 두 언어가 가깝게 또는 멀게 배치. 자기 도메인에서 측정.

너무 짧은 텍스트 — 10 토큰 미만의 입력은 의미가 흩어져 검색 품질이 떨어집니다. 청크 최소 길이 정책.

너무 긴 텍스트 — 모델 입력 한도 (512 · 8192 토큰) 를 넘으면 잘리거나 에러. 청킹 + 가중 평균 같은 우회는 손실이 있음.

벤치마크 맹신 — MTEB 1 위가 자기 도메인 1 위가 아닐 수 있음.

임베딩 캐시 무한 증가 — TTL · 사용량 통계 없이 두면 저장 비용 누적.

하고픈 말

임베딩의 90% 자리는 적절한 다국어 모델 + 콘텐츠 해시 캐시 + 모델 버전 메타데이터 셋이면 충분합니다. 모델 교체는 재임베딩 비용이 따라오므로 처음 핀 고정이 중요하고, MTEB 점수보다 자기 도메인 평가셋이 신뢰도가 높습니다.

Next

  • agents-overview
  • llm-landscape

OpenAI Embeddings · Cohere Embed · BAAI BGE · nomic-embed-text · Sentence-Transformers · MTEB Leaderboard · Matryoshka 학습 (2022) · BEIR · pgvector 를 참고합니다.

ai 카테고리의 다른 글

카테고리 전체 보기 →
  • Google NotebookLM — 자료 기반 Gemini 노트북 (RAG 형 도구)
  • Google AI Studio — Gemini 기반 AI Web IDE + 앱 빌더
  • LLM 지형 — 폐쇄형·오픈·한국어 특화·평가·가격
  • AI 에이전트 — 정의·패턴·프레임워크·자율성
  • Gemini — Google 의 멀티모달 LLM 라인업
  • 프롬프트 설계 — 메시지 역할·CoT·ReAct·샘플링·인젝션