FIELD GUIDE · 2026.10

하나의 벡터 공간,
다섯 가지 입력.

EmbeddingGemma 2는 텍스트·코드·이미지·영상·오디오를 같은 768차원 공간에 배치하는 온디바이스 임베딩 모델입니다. 검색과 RAG를 작게, 로컬에서, 멀티모달로 만들 때 특히 강합니다.

가장 잘 맞는 경우

개인정보를 외부로 보내지 않는 검색, 로컬 코드베이스 RAG, 텍스트로 사진·음성·영상을 찾는 기능.

Unified embedding space다섯 종류의 입력이 하나의 벡터 공간에 모이는 구조 TEXT100+ languagesIMAGE280 tokensVIDEO1 fpsAUDIOmono · 16kHzCODE8K context 768-DONE SPACE
cross-modal similarity → cosine
740M전체 파라미터
270M텍스트 전용 로드
8,192토큰 컨텍스트
768 → 128MRL 지원 차원
Apache 2.0상업 이용 가능
01

모델의 성격을 먼저 잡기

Gemma 4 기반의 개방형 멀티모달 임베더입니다. 생성 모델이 아니라 입력을 비교 가능한 숫자 벡터로 바꾸는 검색 엔진의 앞단입니다. [1] [2]

입력
5 modalities

텍스트, 코드, 이미지, 영상, 오디오 및 교차 입력

언어
100+

사전학습은 140개 이상 언어를 포함

출력
768d

512 / 256 / 128차원으로 앞부분 절단 가능

텍스트 백본
270M

130M transformer + 140M embedder

비전 + 오디오
170M + 300M

필요한 인코더만 선택적으로 로드

학습 데이터 컷오프
2025.01

웹 문서·코드·이미지·영상·오디오

v1에서 달라진 핵심

항목EmbeddingGemma 1EmbeddingGemma 2
모달리티텍스트텍스트·코드·이미지·영상·오디오
컨텍스트2,048 토큰8,192 토큰
파라미터308M740M 전체 / 270M 텍스트 전용
라이선스Gemma TermsApache 2.0
MTEB Code68.7678.68 (+9.92p)
02

10분 빠른 시작

가장 단순하고 공식 문서와 가까운 경로는 Hugging Face의 sentence-transformers입니다. 아래 예시는 모델 카드 패턴을 바탕으로 하며, 환경별 dtype 동작은 직접 확인해야 합니다. [1]

패키지 설치

sentence-transformers와 transformers를 최신 버전으로 준비합니다.

필요한 인코더만 로드

텍스트 검색이라면 비전·오디오 설정을 꺼 270M 백본만 올립니다.

작업 프롬프트 + 정규화

질문은 SearchQuery, 문서는 Document를 쓰고 L2 정규화합니다.

terminal
pip install -U sentence-transformers transformers
search.py · text-only retrieval
from sentence_transformers import SentenceTransformer
import torch

model = SentenceTransformer(
    "google/embeddinggemma-2",
    config_kwargs={"vision_config": None, "audio_config": None},
    model_kwargs={"torch_dtype": torch.bfloat16
                  if torch.cuda.is_bf16_supported() else torch.float32},
)

query = "오로라는 왜 생기나요?"
docs = [
    "태양의 하전 입자가 지구 자기장과 상호작용해 오로라가 생깁니다.",
    "에펠탑은 프랑스 파리에 있습니다.",
]

q = model.encode(query, prompt_name="SearchQuery",
                 truncate_dim=256, normalize_embeddings=True)
d = model.encode(docs, prompt_name="Document",
                 truncate_dim=256, normalize_embeddings=True)

scores = q @ d.T
best = int(scores.argmax())
print(docs[best], float(scores[best]))
multimodal · one joint vector
embedding = model.encode({
  "text": "방수 러닝화. <|image|> 젖은 바위 접지 테스트: <|video|>",
  "image": ["shoe.jpg"],
  "video": "demo.mp4",
})
03

어디에 쓰면 좋은가

기능 목록보다 중요한 것은 ‘왜 이 모델이어야 하는가’입니다. 시나리오를 눌러 적합성, 구현 포인트, 대안을 비교해 보세요.

04

차원은 비용 조절 손잡이

MRL(Matryoshka Representation Learning)은 768차원 벡터의 앞부분만 잘라 써도 의미 구조를 최대한 보존하도록 학습합니다. 아래 수치는 전체 대비 저장량입니다. [1]

768d
기준 · 최고 품질
512d
1.5× 절감
256d
3× 절감 · 권장 균형
128d
6× 절감 · 검증 필수

Google 모델 카드의 차원별 성능

차원다국어코드이미지MMEB오디오 검색
76861.3678.6864.6459.0169.54
51261.1777.2464.3258.3869.18
12857.8971.4159.0645.6556.71

실패를 부르는 세 가지

  • float16 금지. NaN이 생기거나, 오류 없이 벡터 품질이 낮아질 수 있습니다. bfloat16 또는 float32를 사용하세요.
  • 차원 절단 후 재정규화. truncate_dim과 normalize_embeddings=True를 함께 쓰는 것이 안전합니다.
  • 질문·문서 차원 통일. 768d 쿼리와 256d 인덱스는 비교할 수 없습니다.
05

프롬프트가 검색 품질을 결정

검색은 질문과 문서의 역할이 다르므로 비대칭 프롬프트를 씁니다. 이미지·영상·오디오에는 프리픽스를 붙이지 않습니다. [1]

용도prompt_name질문 형식문서 형식
문서 검색SearchQuery / Documenttask: search result | query: {query}title: {title} | text: {content}
질의응답QuestionAnsweringtask: question answering | query: …title: … | text: …
팩트체크FactCheckingtask: fact checking | query: …title: … | text: …
코드 검색CodeRetrievaltask: code retrieval | query: …title: {filename} | text: {code}
분류·군집·유사도Classification / Clustering / SentenceSimilarity동일한 대칭 프리픽스동일한 대칭 프리픽스
제목이 있다면 수동 포맷

prompt_name="Document"는 title: none을 자동 적용합니다. 실제 제목이 있으면 title: {title} | text: {document}를 직접 구성하세요.

원문과 벡터는 분리 저장

프리픽스는 임베딩 시점에만 사용하고, RAG의 LLM 컨텍스트나 BM25 색인에는 원문을 넣으세요.

06

배포 경로는 셋으로 나뉩니다

직접 실행, 관리형 API, 로컬 런타임 중 운영 요구에 맞춰 선택하세요. 2026년 10월 6~7일 조사 시점의 상태입니다.

AVAILABLE NOW

Hugging Face

공식 google/embeddinggemma-2 체크포인트. sentence-transformers로 가장 빠르게 시작하며, TEI·vLLM은 고처리량 서버 옵션입니다.

모델 카드 ↗

MANAGED SIBLING

Gemini API

EmbeddingGemma 2 자체는 AI Studio/Gemini API에 없습니다. 관리형 멀티모달이 필요하면 gemini-embedding-2를 사용합니다.

API 문서 ↗

NOT CONFIRMED

Ollama / GGUF

공식 Ollama 라이브러리에는 v1 embeddinggemma만 확인됐습니다. v2 공식 엔트리·GGUF 변환은 아직 확인되지 않았습니다.

모달리티별 입력 예산

입력토큰 사용8,192 토큰에서의 대략적 범위준비
이미지기본 280 / 장약 29장비전 예산 70–1120 조절 가능
영상기본 140 / 프레임약 58프레임기본 1 fps
오디오25 / 초약 327초(5.5분)mono 16 kHz
07

이 모델을 고를지, 말지

EmbeddingGemma 2의 장점은 ‘최대 점수’보다 작은 로컬 풋프린트와 통합된 멀티모달 파이프라인에 있습니다.

선택하세요오프라인·온디바이스·개인정보 보호가 핵심일 때
선택하세요코드·이미지·영상·오디오를 한 인덱스에서 찾을 때
다른 모델도 보세요정확 일치 + sparse + ColBERT가 한 모델에 필요하면 bge-m3
다른 모델도 보세요GPU 여유가 있고 다국어 절대 품질이 최우선이면 Qwen3-Embedding
관리형이 낫습니다인프라를 운영하지 않고 서버에서 대규모 처리하려면 gemini-embedding-2
더 작은 모델이 낫습니다영어 전용 대량 중복 탐지에서 속도가 최우선이면 MiniLM·nomic

현재 열린 질문

독립 벤치마크, v2 전용 파인튜닝 가이드, 공식 Ollama/GGUF, Gemini 관리형 경로의 최신 가격·한도, v2의 실제 지연시간·처리량 수치는 조사 시점에 확인되지 않았습니다. Google 제공 벤치마크는 방향성 지표로 보고, 실제 데이터셋에서 리콜·정확도·지연시간을 검증하세요.

08

출처와 검증 범위

핵심 사양과 코드는 공식 모델 카드·Google 개발자 문서를 우선했습니다. 외부 비교 자료는 대안의 성격을 파악하는 보조 자료로만 사용했습니다.

  1. [1]
    Hugging Face — 공식 모델 카드
    https://huggingface.co/google/embeddinggemma-2
  2. [2]
  3. [3]
    Google AI for Developers — EmbeddingGemma 문서
    https://ai.google.dev/gemma/docs/embeddinggemma
  4. [4]

조사 기준: 2026년 10월 6–7일. EmbeddingGemma 2 출시 직후이므로 배포 런타임과 독립 평가 상황은 빠르게 바뀔 수 있습니다.