2026년 3월 10일, Google DeepMind 팀이 Gemini Embedding 2를 공개했습니다. 이 모델은 텍스트만 처리하던 기존 임베딩의 한계를 깨고, 이미지·영상·오디오·PDF까지 하나의 벡터 공간에 담아내는 최초의 네이티브 멀티모달 임베딩 모델입니다.
AI 검색 시스템이나 RAG(Retrieval-Augmented Generation) 파이프라인을 설계해 본 경험이 있다면, 텍스트 임베딩 모델 하나, 이미지 임베딩 모델 하나, 오디오 변환 모듈까지 별도로 운영하며 겪은 복잡함을 떠올릴 수 있을 것입니다. Gemini Embedding 2는 이 문제를 정면에서 해결합니다.
이 글에서는 Gemini Embedding 2의 기술적 구조와 지원 모달리티, 가격 체계, 실전 코드 사용법, 주요 벡터 데이터베이스 연동 전략, 그리고 기존 경쟁 모델과의 성능 비교까지 개발자가 바로 의사결정에 활용할 수 있는 수준으로 정리했습니다.
임베딩이란 무엇이고, 왜 멀티모달이 중요한가
임베딩(Embedding)은 텍스트·이미지·오디오 같은 비정형 데이터를 고차원 숫자 벡터로 변환하는 기술입니다. 예를 들어 '강아지'라는 단어와 'puppy'라는 단어를 각각 수천 차원의 숫자 배열로 바꾸면, 두 벡터가 수학적으로 매우 가까운 거리에 위치하게 됩니다. 이 거리(코사인 유사도)를 기반으로 시맨틱 검색, 분류, 클러스터링 같은 작업이 가능해집니다.
기존에는 텍스트는 텍스트끼리, 이미지는 이미지끼리만 비교할 수 있었습니다. 텍스트 쿼리로 관련 이미지를 찾으려면 CLIP 같은 별도의 크로스모달 모델을 추가로 도입해야 했고, 오디오나 영상까지 포함하면 파이프라인이 기하급수적으로 복잡해졌습니다.
멀티모달 임베딩은 서로 다른 유형의 데이터를 단일 벡터 공간에 배치합니다. '고양이가 피아노를 치는 영상'이라는 텍스트 쿼리를 넣으면, 실제로 고양이가 피아노 건반 위를 걷는 영상 클립이 동일한 벡터 공간에서 가장 가까운 점으로 반환됩니다. 이것이 크로스모달 검색(Cross-Modal Search)의 핵심입니다.
** 임베딩 모델은 생성(Generation) 모델과 근본적으로 다릅니다. Gemini 3 같은 생성 모델이 새로운 텍스트나 이미지를 만들어내는 것과 달리, 임베딩 모델은 기존 데이터를 '이해'하기 위한 수치 표현을 생성합니다. 검색·추천·분류 시스템의 백본으로 활용되므로, 눈에 보이지 않지만 AI 서비스의 품질을 결정짓는 핵심 계층입니다.
Gemini Embedding 2의 기술 사양과 지원 모달리티
Gemini Embedding 2(모델 코드: gemini-embedding-2-preview)는 Gemini 아키텍처를 기반으로 구축되었으며, 100개 이상의 언어에서 시맨틱 의도를 포착합니다. 아래 표에서 지원 모달리티별 세부 사양을 확인할 수 있습니다.
| 모달리티 | 지원 포맷 | 제한 사항 |
|---|---|---|
| 텍스트 | 모든 텍스트 | 최대 8,192 토큰 |
| 이미지 | PNG, JPEG | 요청당 최대 6장 |
| 영상 | MP4, MOV (H264, H265, AV1, VP9) | 최대 128초 |
| 오디오 | MP3, WAV | 최대 80초, 별도 텍스트 변환 불필요 |
| 문서 | 최대 6페이지 |
출력 벡터의 기본 차원은 3,072이며, Matryoshka Representation Learning(MRL) 기법을 적용해 768, 1,536 등 더 작은 차원으로 유연하게 축소할 수 있습니다. MRL은 러시아 전통 인형 마트료시카에서 이름을 따온 학습 방식으로, 큰 벡터의 앞부분만 잘라내도 의미 있는 정보를 유지하도록 훈련합니다. 2022년 NeurIPS 논문에서 처음 제안된 이 기법은 현재 OpenAI, Google 등 주요 임베딩 모델에 표준처럼 채택되고 있습니다.
MRL 기법 덕분에 차원을 줄여도 성능 저하가 극히 미미합니다. 실제 MTEB 벤치마크 기준으로 차원별 점수를 보면 다음과 같습니다.
| MRL 차원 | MTEB 점수 | 3,072 대비 차이 |
|---|---|---|
| 3,072 (기본값) | 약 68.2 | 기준 |
| 2,048 | 68.16 | -0.04 |
| 1,536 | 68.17 | -0.03 |
| 768 | 67.99 | -0.21 |
| 512 | 67.55 | -0.65 |
| 256 | 66.19 | -2.01 |
| 128 | 63.31 | -4.89 |
768차원이면 대부분의 검색·분류 태스크에 충분한 품질을 제공하면서도, 스토리지 비용을 기본 대비 약 75% 절감할 수 있습니다.
기존 gemini-embedding-001과 Gemini Embedding 2의 임베딩 공간은 호환되지 않습니다**. 업그레이드 시 기존 데이터를 반드시 재임베딩해야 합니다. 수백만 건의 벡터를 보유한 서비스라면, 마이그레이션 시간과 비용을 사전에 산정해 두는 것이 필수입니다.
인터리브드 입력과 임베딩 집계 방식
이 모델의 차별점 중 하나는 인터리브드(interleaved) 입력을 지원한다는 점입니다. 하나의 요청 안에 텍스트와 이미지를 동시에 포함시키면, 두 모달리티의 관계를 반영한 단일 통합 임베딩이 생성됩니다.
단일 Content 엔트리에 여러 Part를 묶으면 하나의 집계(aggregated) 임베딩이 반환됩니다. 예를 들어 '강아지 사진'이라는 텍스트와 실제 강아지 이미지를 하나의 Content 객체 안에 넣으면, 텍스트와 이미지의 의미를 모두 반영한 단일 벡터가 만들어집니다.
반대로 contents 배열에 여러 항목을 별도로 전달하면 각각 독립된 임베딩이 반환됩니다. 소셜 미디어 게시물처럼 여러 미디어가 포함된 복합 객체를 다룰 때는, 개별 임베딩을 생성한 뒤 평균(averaging)으로 집계하는 방식이 권장됩니다.
** 인터리브드 입력을 활용하면 '이 사진에 담긴 분위기와 비슷한 음악'처럼 모달리티를 넘나드는 추천 시스템을 단일 API 호출로 구현할 수 있습니다. 기존에는 이미지에서 텍스트 캡션을 생성하고, 그 캡션을 임베딩한 뒤 오디오와 매칭하는 복잡한 파이프라인이 필요했던 작업입니다.
가격 체계와 무료 티어 활용 전략
Gemini Embedding 2는 Gemini API와 Vertex AI 두 채널을 통해 제공됩니다. 개발자 입장에서 가장 중요한 가격 정보를 모달리티별로 정리했습니다.
| 모달리티 | 무료 티어 | 유료 Standard (100만 토큰 기준) | 유료 Batch (100만 토큰 기준) |
|---|---|---|---|
| 텍스트 입력 | 무료 | 0.20달러 | 0.10달러 |
| 이미지 입력 | 무료 | 0.45달러 (장당 약 0.00012달러) | 0.225달러 (장당 약 0.00006달러) |
| 오디오 입력 | 무료 | 6.50달러 (초당 약 0.00016달러) | 3.25달러 (초당 약 0.00008달러) |
| 영상 입력 | 무료 | 12.00달러 (FPS당 약 0.00079달러) | 6.00달러 (FPS당 약 0.000395달러) |
배치(Batch) API를 사용하면 Standard 대비 50% 할인된 가격으로 처리할 수 있어, 대량의 데이터를 일괄 임베딩할 때 비용 절감 효과가 큽니다. 무료 티어는 모든 모달리티에서 무료로 제공되지만, 요청 속도(rate limit)에 제한이 있으며 사용 데이터가 Google 제품 개선에 활용될 수 있다는 점을 유의해야 합니다.
기존 텍스트 전용 모델인 gemini-embedding-001의 유료 가격이 100만 토큰당 0.15달러인 점과 비교하면, 텍스트 임베딩만 놓고 봐도 0.05달러의 차이가 있습니다. 텍스트만 사용하는 프로젝트라면 001 모델을 유지하는 것도 비용 면에서 합리적인 선택입니다.
** 무료 티어에서 생성한 데이터는 Google의 서비스 약관상 제품 개선에 활용될 수 있습니다. 고객 데이터를 다루는 프로덕션 환경에서는 반드시 유료 티어를 사용해야 합니다. 유료 티어에서는 데이터가 모델 학습에 사용되지 않습니다.
경쟁 모델과의 가격 및 성능 비교
2026년 3월 기준, 주요 임베딩 모델의 가격과 성능을 비교하면 다음과 같습니다.
| 모델 | MTEB 점수(영문) | 멀티모달 지원 | 텍스트 가격 (100만 토큰) | 최대 차원 |
|---|---|---|---|---|
| Gemini Embedding 001 | 68.32 | 텍스트 전용 | 0.15달러 | 3,072 |
| Gemini Embedding 2 | 프리뷰 단계 | 텍스트+이미지+영상+오디오+PDF | 0.20달러 | 3,072 |
| OpenAI text-embedding-3-large | 약 64.6 | 텍스트 전용 | 0.13달러 | 3,072 |
| Cohere Embed v4 | 약 65.2 | 텍스트+이미지 | 0.10달러 | 1,536 |
| Voyage-3 | 약 67.0 | 텍스트 전용 | 0.06달러 | 1,024 |
MTEB(Massive Text Embedding Benchmark)는 검색, 분류, 클러스터링, 리랭킹 등 8개 태스크에 걸쳐 임베딩 성능을 측정하는 업계 표준 벤치마크입니다. Gemini Embedding 001이 이미 68.32점으로 영문 리더보드 1위를 기록하고 있으며, 특히 다국어(Multilingual) 부문에서 기존 최고 모델을 큰 폭으로 앞서고 있습니다. Gemini Embedding 2의 공식 MTEB 점수는 프리뷰 단계에서 아직 공개되지 않았지만, Google 공식 블로그에서 '텍스트, 이미지, 영상 태스크에서 선도 모델을 능가한다'고 밝혔습니다.
** 가격만 놓고 보면 Voyage-3가 가장 저렴하지만, 멀티모달 지원이 필요한 프로젝트에서는 Gemini Embedding 2가 유일하게 텍스트·이미지·영상·오디오·PDF를 단일 모델로 처리합니다. 별도의 이미지 임베딩 모델을 운영하는 비용과 인프라 복잡도까지 고려하면 실질적 TCO(총소유비용)가 더 낮아질 수 있습니다.
실전 코드 작성법과 벡터 DB 연동
Python으로 빠르게 시작하기
Gemini API의 embed_content 메서드를 사용하면 몇 줄의 코드로 멀티모달 임베딩을 생성할 수 있습니다. 먼저 Google AI Studio(aistudio.google.com)에서 API 키를 발급받고, google-genai 패키지를 설치합니다.
pip install google-genai
아래는 텍스트, 이미지, 오디오를 한 번에 임베딩하는 핵심 코드입니다. genai.Client()로 클라이언트를 초기화한 뒤, client.models.embed_content() 메서드에 model 파라미터로 'gemini-embedding-2-preview'를, contents 파라미터에 텍스트 문자열과 types.Part.from_bytes()로 감싼 바이너리 데이터를 리스트 형태로 전달합니다. 이미지는 mime_type을 'image/png' 또는 'image/jpeg'로, 오디오는 'audio/mpeg' 또는 'audio/wav'로 지정하면 됩니다.
contents 리스트에 텍스트 문자열과 바이너리 데이터를 함께 전달하면, 각 항목에 대해 독립된 임베딩 벡터가 반환됩니다. 만약 텍스트와 이미지를 결합한 하나의 통합 임베딩을 원한다면, types.Content 객체 안에 여러 parts를 묶어서 전달하면 됩니다.
차원 축소로 저장 비용 최적화하기
config 파라미터에 types.EmbedContentConfig(output_dimensionality=768)을 추가하면 출력 벡터의 차원을 768로 줄일 수 있습니다. 768차원으로 축소해도 MTEB 기준 약 67.99점을 유지하므로, 대규모 벡터 저장 환경에서 스토리지 비용을 약 75% 절감할 수 있습니다.
다만 축소된 차원의 벡터는 자동으로 정규화되지 않으므로, 코사인 유사도를 정확하게 계산하려면 NumPy의 np.linalg.norm()을 사용한 별도의 L2 정규화 과정이 필요합니다.
** 3,072 차원 임베딩은 기본적으로 정규화(normalized)되어 있지만, 768이나 1,536 차원으로 축소한 벡터는 별도로 L2 정규화를 수행해야 합니다. 이 과정을 생략하면 코사인 유사도 계산 결과가 왜곡될 수 있으므로 반드시 포함하세요.
task_type으로 용도별 임베딩 최적화
Gemini Embedding 2는 task_type 파라미터를 통해 임베딩의 용도를 지정할 수 있습니다. 검색 시스템에서는 쿼리에 RETRIEVAL_QUERY, 문서에 RETRIEVAL_DOCUMENT를 지정하고, 유사도 비교에는 SEMANTIC_SIMILARITY, 분류에는 CLASSIFICATION을 사용하면 각 태스크에 맞춘 벡터 품질이 향상됩니다. 그 외에도 CLUSTERING, CODE_RETRIEVAL_QUERY, QUESTION_ANSWERING, FACT_VERIFICATION 등 총 8가지 태스크 유형을 지원합니다.
| 태스크 유형 | 용도 | 활용 예시 |
|---|---|---|
| SEMANTIC_SIMILARITY | 텍스트 간 의미 유사도 평가 | 추천 시스템, 중복 탐지 |
| RETRIEVAL_QUERY | 검색 쿼리 최적화 | 커스텀 검색 엔진 |
| RETRIEVAL_DOCUMENT | 검색 대상 문서 인덱싱 | 문서·웹페이지 인덱싱 |
| CLASSIFICATION | 사전 정의 라벨 분류 | 감성 분석, 스팸 탐지 |
| CLUSTERING | 유사 텍스트 군집화 | 문서 자동 분류, 이상 탐지 |
| CODE_RETRIEVAL_QUERY | 코드 검색 쿼리 | 코드 추천, 코드 검색 |
| QUESTION_ANSWERING | 질의응답 시스템 | 챗봇, FAQ 자동 응답 |
| FACT_VERIFICATION | 사실 검증 | 팩트체크 자동화 시스템 |
** 초기 프로토타이핑에서는 task_type을 지정하지 않아도 작동하지만, 프로덕션에서는 반드시 용도에 맞는 task_type을 지정하세요. 검색 시스템을 구축할 때 쿼리와 문서에 각각 RETRIEVAL_QUERY와 RETRIEVAL_DOCUMENT를 지정하면 검색 정확도가 눈에 띄게 향상됩니다.
벡터 데이터베이스 연동
임베딩을 프로덕션에서 활용하려면 벡터 데이터베이스에 저장하고 효율적으로 인덱싱 및 검색해야 합니다. Gemini Embedding 2는 현재 다음 벡터 DB와의 공식 연동을 지원합니다.
| 벡터 DB | 특징 | 적합한 사용 사례 |
|---|---|---|
| Vertex AI Vector Search | Google Cloud 네이티브, 관리형 서비스 | GCP 기반 엔터프라이즈 |
| Weaviate | GraphQL API, 하이브리드 검색 | 시맨틱 + 키워드 혼합 검색 |
| Qdrant | Rust 기반 고성능, 1GB 무료 제공 | 고속 유사도 검색, 스타트업 |
| ChromaDB | 경량 오픈소스, 빠른 프로토타이핑 | 로컬 개발, PoC |
| BigQuery | 대규모 분석 환경 통합 | 데이터 웨어하우스 내 벡터 검색 |
| Pinecone | 완전 관리형 SaaS | 인프라 관리 최소화가 필요한 팀 |
프레임워크 측면에서는 LangChain, LlamaIndex, Haystack과의 통합 라이브러리가 런칭과 동시에 제공되고 있어, 기존 RAG 파이프라인에 Gemini Embedding 2를 빠르게 교체 투입할 수 있습니다.
** 초기 프로토타이핑에는 ChromaDB로 로컬에서 빠르게 검증하고, 데이터가 10만 건 이상으로 늘어나면 Qdrant나 Weaviate로 전환하는 단계적 접근이 효율적입니다. Google Cloud 생태계 안에서 운영한다면 Vertex AI Vector Search가 네트워크 레이턴시와 관리 편의성 면에서 가장 유리합니다.
핵심 활용 사례와 도입 시 고려 사항
멀티모달 RAG
기존 RAG 시스템이 텍스트 문서만 검색했다면, Gemini Embedding 2를 도입하면 사용자 질문에 대해 텍스트 문서, 관련 이미지, 영상 클립, 오디오 파일을 동시에 검색하여 생성 모델의 컨텍스트로 주입할 수 있습니다. 의료 기록과 X-ray 이미지, 법률 문서와 증거 사진처럼 여러 포맷이 혼합된 데이터 환경에서 특히 강력합니다.
실제로 법률 분야의 얼리 액세스 파트너는 소송 디스커버리 과정에서 Gemini 멀티모달 임베딩을 활용해 수백만 건의 기록에 걸쳐 정밀도(precision)와 재현율(recall)을 동시에 개선했다고 보고했습니다. 이미지와 영상 검색 품질도 기존 텍스트 기반 파이프라인 대비 눈에 띄게 향상되었습니다.
크로스모달 검색
'이 건물과 비슷한 건축 양식의 사진'이라는 텍스트 쿼리로 이미지를 검색하거나, 특정 음악 샘플과 분위기가 유사한 영상을 찾는 작업이 단일 벡터 인덱스에서 가능합니다. 이커머스에서 '이 제품과 어울리는 코디'를 이미지로 추천하거나, 미디어 플랫폼에서 음원과 시각적으로 어울리는 영상 썸네일을 자동 매칭하는 데 적용할 수 있습니다.
감성 분석과 데이터 클러스터링
소셜 미디어 모니터링에서 텍스트 댓글, 이미지 밈, 짧은 영상 리뷰를 통합적으로 클러스터링하면 브랜드에 대한 사용자 반응을 보다 입체적으로 파악할 수 있습니다. 텍스트로는 긍정적이지만 첨부된 이미지는 부정적인 뉘앙스를 담고 있는 이른바 '풍자성 콘텐츠'도 멀티모달 임베딩을 통해 더 정확하게 분류됩니다.
도입 전 반드시 점검해야 할 5가지
1. 데이터 규모와 모달리티 분포 파악 - 텍스트 90%, 이미지 10%인 환경과 영상이 주력인 환경에서 비용 구조가 크게 달라집니다. 영상 임베딩 비용이 텍스트 대비 60배 이상 높으므로 모달리티별 비용을 사전에 시뮬레이션하세요.
2. 차원 선택 전략 수립 - 3,072(최고 품질), 1,536(균형), 768(비용 최적)의 세 옵션을 PoC에서 비교 평가 후 결정하는 것을 권장합니다.
3. 마이그레이션 계획 수립 - 기존 gemini-embedding-001 사용자는 임베딩 공간 비호환으로 인해 전체 데이터 재임베딩이 필요합니다. 대량 마이그레이션 시 배치 API(50% 할인)를 적극 활용하세요.
4. 프라이버시 요건 확인 - 무료 티어는 데이터가 Google 제품 개선에 활용될 수 있으므로, 민감 데이터를 처리하는 경우 유료 티어 또는 Vertex AI 엔터프라이즈 플랜을 선택해야 합니다.
5. 영상 길이 제한 대응 - 128초를 초과하는 영상은 오버래핑 청크로 분할한 뒤 개별 임베딩을 생성하고, 이후 평균화하는 전처리 파이프라인을 구축해야 합니다.
** 현재 Gemini Embedding 2는 'Preview' 상태입니다. 프리뷰 모델은 안정 버전으로 전환되기 전에 사양이 변경될 수 있고, 정식 모델보다 더 제한적인 rate limit이 적용됩니다. 프로덕션 워크로드에 본격 적용하기 전에 안정 버전 출시 일정을 확인하는 것이 바람직합니다.
Gemini Embedding 2는 AI 시스템에서 눈에 보이지 않지만 가장 중요한 계층인 의미 이해(Semantic Understanding)의 새로운 기준을 제시하고 있습니다. 텍스트 중심의 단일 모달리티 검색에서 벗어나, 인간이 실제로 정보를 소비하는 방식 그대로 텍스트, 이미지, 영상, 소리를 하나의 의미 공간에서 연결하는 패러다임 전환이 본격화되었습니다.
여러 모달리티를 별도 모델로 처리하던 복잡한 파이프라인을 단일 API 호출로 대체할 수 있다는 점만으로도 개발 생산성과 유지보수 비용에 상당한 변화를 가져올 것입니다. 무료 티어에서 충분히 검증할 수 있으니, 기존 텍스트 임베딩 파이프라인에 이미지 한 장을 추가로 넣어보는 것부터 시작해 보세요.
지금 바로 Google AI Studio(aistudio.google.com)에서 API 키를 발급받고, 여러분의 데이터로 첫 번째 멀티모달 임베딩을 생성해 보세요.