Zettelkasten

임베딩 크기를 어떻게 결정하고, 출력된 임베딩 사이즈는 차원수 X 데이터 타입 크기로 결정된다.

·수정 2026.04.23·수정 2

요약

  • 임베딩 차원(dimension)은 모델 아키텍처에서 결정되며, 출력 임베딩 크기는 차원 수 × 데이터 타입 크기로 계산된다
  • 임베딩 크기 선택은 표현력과 계산 비용 사이의 trade-off이다

본문

임베딩 차원 결정 요소

  1. 모델 아키텍처에 의해 결정

    • 사전 학습된 모델(BERT, GPT 등)은 고정된 임베딩 차원을 가짐
    • 예: BERT-base는 768차원, GPT-3는 12288차원
  2. 경험적 규칙 (Rule of Thumb)

    • 어휘 크기의 4제곱근: dim ≈ vocab_size^0.25
    • Google의 권장: dim = min(50, vocab_size / 2)
    • 일반적으로 50~300 차원이 많은 태스크에서 효과적
  3. 태스크 복잡도에 따른 조정

    • 단순 분류: 낮은 차원 (64~128)
    • 복잡한 의미 관계: 높은 차원 (256~1024)

출력 임베딩 사이즈 추정

메모리 크기 = 차원 수 × 데이터 타입 크기 × 벡터 개수
데이터 타입 크기
float32 4 bytes
float16 2 bytes
int8 1 byte

예시 계산:

  • 768차원 float32 임베딩 1개: 768 × 4 = 3,072 bytes (약 3KB)
  • 100만 개 문서의 768차원 임베딩: 768 × 4 × 1,000,000 = 3GB

실무 고려사항

  • 저장 공간: 벡터 DB 선택 시 임베딩 크기 고려
  • 검색 속도: 차원이 높을수록 유사도 계산 비용 증가
  • 양자화(Quantization): float32 → int8로 변환하여 4배 압축 가능

참고