Granite Embedding Multilingual R2: 32K 컨텍스트를 지원하는 Open Apache 2.0 다국어 임베딩 — 최고의
요약
Granite Embedding Multilingual R2는 32K 컨텍스트를 지원하는 두 가지 새로운 Apache 2.0 다국어 임베딩 모델을 출시했습니다. 이 모델들은 200개 이상의 언어를 지원하며, 특히 52개 주요 언어와 프로그래밍 코드에 대해 향상된 검색 품질을 제공합니다. 97M 파라미터의 컴팩트 모델과 311M 파라미터의 풀사이즈 모델이 제공되어, 성능과 효율성 사이에서 선택할 수 있습니다.
핵심 포인트
- 두 가지 다국어 임베딩 모델(97M 및 311M)을 Apache 2.0 라이선스로 공개하여 접근성을 높였습니다.
- 최대 32,768 토큰의 컨텍스트 길이를 지원하며, 이는 이전 버전 대비 대폭 증가한 수치입니다.
- 200개 이상의 언어를 기본적으로 지원하고, 특히 52개의 주요 언어와 프로그래밍 코드에 대해 최적화된 검색 품질을 제공합니다.
- LangChain, LlamaIndex 등 주요 프레임워크에서 모델 이름 변경만으로 쉽게 통합할 수 있도록 설계되었습니다.
- CPU 추론에 최적화된 ONNX 및 OpenVINO 가중치를 함께 제공하여 배포 편의성을 높였습니다.
Granite Embedding Multilingual R2: 32K 컨텍스트를 지원하는 Open Apache 2.0 다국어 임베딩 — 최고의 100M 미만 Retrieval 품질
요약(TL;DR): ModernBERT를 기반으로 구축된 두 가지 새로운 Apache 2.0 다국어 임베딩 (embedding) 모델 — MTEB Multilingual Retrieval (60.3)에서 모든 오픈 소스 100M 미만 다국어 임베더를 능가하는 97M 파라미터의 컴팩트 모델과, Matryoshka 지원을 통해 MTEB Multilingual Retrieval에서 65.2점을 기록한(500M 미만 파라미터 오픈 모델 중 2위) 311M 풀사이즈 모델입니다. 두 모델 모두 200개 이상의 언어를 지원하며, 52개 언어로 튜닝되었고, 32K 토큰 컨텍스트 (R1의 64배)를 처리하며, 9개 프로그래밍 언어에 걸친 코드 검색 (code retrieval) 기능을 추가했습니다.
이 포스트의 내용: 설계부터 엔터프라이즈급 준비 · 강력한 100M 미만 다국어 모델 · R1에서의 변경 사항 · 311M 풀사이즈 모델 학습 · 97M 컴팩트 다국어 모델 구축 · 벤치마크 결과 · Matryoshka 임베딩 · 배포 옵션 · 프레임워크 통합 개발자를 위한 안내 · 어떤 모델을 사용해야 할까요? · 모델 사용해 보기
다국어 임베딩 (multilingual embedding) 모델은 지속적인 긴장 상태에 직면해 있습니다. 광범위한 언어 커버리지는 보통 모델 크기의 희생을 수반하며, 작은 모델은 보통 언어를 희생합니다. 만약 여러분이 다국어 코퍼스(corpora)에 대한 검색 증강 생성 (Retrieval-Augmented Generation, RAG), 교차 언어 검색 (cross-lingual search), 국제적인 팀에서의 코드 검색 (code retrieval) 등 여러 언어에 걸쳐 작업한다면, 충분히 빠른 모델과 충분히 성능이 좋은 모델 사이에서 선택해야 했던 경험이 있을 것입니다.
Granite Embedding Multilingual R2 출시는 그 격차를 상당히 좁혔습니다. 당사는 두 가지 새로운 다국어 임베딩 모델을 출시합니다:
granite-embedding-311m-multilingual-r2— 768차원 임베딩 (embeddings), Matryoshka 차원 지원, 그리고 최상위 수준의 다국어 검색 품질을 갖춘 311M 파라미터 풀사이즈 모델입니다.
granite-embedding-97m-multilingual-r2— 384차원 임베딩을 가진 97M 파라미터 컴팩트 모델로, 크기 대비 강력한 검색 품질을 제공합니다.
두 모델 모두 200개 이상의 언어를 지원하며, **52개 언어 및 프로그래밍 코드 (programming code)**에 대해 향상된 검색 품질을 제공합니다. 컨텍스트 길이 (context lengths)는 최대 32,768 토큰까지 처리할 수 있으며 (이전 R1 모델 대비 64배 증가), Apache 2.0 라이선스로 공개되었습니다. 이 모델들은 sentence-transformers 및 transformers와 함께 즉시 사용할 수 있으며, 작업별 특정 지침 (task-specific instructions)이 필요하지 않습니다. 또한, 모델 이름 한 줄만 변경하면 LangChain, LlamaIndex, Haystack, 그리고 Milvus에서 별도의 설정 없이 바로 교체하여 사용할 수 있습니다. 현재 영어 전용을 기본값으로 사용하는 프레임워크의 경우, 이 한 줄의 변경만으로 커뮤니티의 모든 사용자에게 200개 이상의 언어 지원을 제공할 수 있습니다. API 변경, 새로운 의존성 (dependencies) 추가, 사용자 측의 코드 변경이 전혀 필요하지 않습니다. 두 모델 모두 CPU에 최적화된 추론 (inference)을 위해 ONNX 및 OpenVINO 가중치 (weights)를 함께 제공합니다.
52개의 강화된 지원 언어 (클릭하여 확장)
기저의 인코더 (encoder)는 200개 이상의 언어 텍스트로 사전 학습 (pretrained)되어, 어떤 언어에 대해서도 범용 임베딩 (general-purpose embeddings)을 생성합니다. 다음 52개 언어는 더 높은 품질의 검색을 위해 명시적인 검색 쌍 (retrieval-pair) 및 교차 언어 (cross-lingual) 학습을 거쳤습니다:
Albanian (sq), Arabic (ar), Azerbaijani (az), Bengali (bn), Bulgarian (bg), Catalan (ca), Chinese (zh), Croatian (hr), Czech (cs), Danish (da), Dutch (nl), English (en), Estonian (et), Finnish (fi), French (fr), Georgian (ka), German (de), Greek (el), Hebrew (he), Hindi (hi), Hungarian (hu), Icelandic (is), Indonesian (id), Italian (it), Japanese (ja), Kazakh (kk), Khmer (km), Korean (ko), Latvian (lv), Lithuanian (lt), Malay (ms), Marathi (mr), Norwegian (no), Persian (fa), Polish (pl), Portuguese (pt), Romanian (ro), Russian (ru), Serbian (sr), Slovak (sk), Slovenian (sl), Spanish (es), Swahili (sw), Swedish (sv), Tagalog (tl), Telugu (te), Thai (th), Turkish (tr), Ukrainian (uk), Urdu (ur), Uzbek (uz), Vietnamese (vi).
또한, 모델은 프로그래밍 코드 (programming code) (Python, Go, Java, JavaScript, PHP, Ruby, SQL, C, C++)로 학습되었으며 교차 언어 코드 검색 (cross-lingual code retrieval)을 지원합니다.
두 임베딩 모델 모두 IBM이 선별한 데이터셋, 공개적으로 사용 가능한 데이터, 그리고 내부적으로 생성되었거나 합성된 데이터(synthetic data)의 혼합물로 학습되었습니다. 학습에 사용된 공개 웹 유래 데이터는 다운스트림 상업적 이용 시의 리스크를 줄이기 위해 IBM이 개발한 품질 관리, 중복 제거(deduplication) 및 거버넌스(governance) 프로세스를 사용하여 선택 및 필터링되었습니다. 당사는 MS-MARCO 학습 데이터셋과 명시적인 비상업적 라이선스 제한이 있는 데이터셋의 사용을 의도적으로 피했습니다. 모델은 공개적으로 사용 가능한 웹 콘텐츠에서 유래하고 IBM의 데이터 준비 및 거버넌스 툴링을 사용하여 처리된 IBM 선별 데이터셋인 GneissWeb과 함께, 추가적인 IBM 선별 데이터 및 기타 공개적으로 사용 가능한 소스를 사용하여 사전 학습(pretrained)되었습니다. 데이터셋은 라이선스 고려 사항, 소유권 신호 및 개인 데이터 리스크를 평가하기 위해 IBM 거버넌스 검토를 거칩니다. 이러한 프로세스는 책임감 있는 사용과 기업 배포(enterprise deployment)에 기여하도록 설계되었습니다.
이번 릴리스의 핵심은 granite-embedding-97m-multilingual-r2입니다. 9,700만 개의 파라미터(parameters)를 가진 이 모델은 18개 언어에 걸쳐 Multilingual MTEB Retrieval에서 60.3점을 기록했습니다. 이는 1억(100M) 미만의 파라미터를 가진 모든 공개 다국어 임베딩 모델 중에서 당사가 발견한 가장 높은 검색(retrieval) 점수입니다. 동일한 크기 체급에서 그다음으로 우수한 모델인 multilingual-e5-small은 동일한 벤치마크에서 50.9점을 기록하여, 성숙한 벤치마크에서 +9.4점의 격차를 보였습니다.
311M 풀사이즈 모델 크기의 약 3분의 1 수준임에도 불구하고, 이 모델은 다국어, 코드 및 긴 문서(long-document) 벤치마크 전반에서 검색 품질의 대부분을 유지합니다. 이는 새로운 아키텍처, 더 나은 학습 데이터, 그리고 새로운 프루닝(pruning, 가지치기) 방법론(자세한 내용은 아래 참조)에 힘입어 직전 모델 대비 MTEB Multilingual Retrieval에서 +12.2점의 향상을 이끌어냈습니다. 풀사이즈 모델인 granite-embedding-311m-multilingual-r2는 동일한 벤치마크에서 65.2점을 기록하며, R1 이전 모델 대비 +13.0점의 향상을 보였습니다.
Granite Embedding Multilingual R1 모델은 512-토큰 컨텍스트 윈도우(context window)를 가진 XLM-RoBERTa 인코더를 기반으로 구축되었습니다. R2 세대는 처음부터 완전히 다시 구축되었습니다:
ModernBERT는 지난 5년간의 Transformer 연구 기술을 통해 기존 BERT 설계를 재검토한 최신 인코더 아키텍처 (encoder architecture)입니다. 이러한 변화는 몇 가지 실질적인 이점을 가져옵니다: 교차 어텐션 길이 (alternating attention lengths)는 긴 시퀀스에서의 연산을 줄여주며 (긴 시퀀스에서의 처리량 (throughput)을 크게 향상시킴), 회전 위치 임베딩 (rotary position embeddings)은 기존 아키텍처를 괴롭혔던 위치 보간 (positional interpolation) 편법 없이도 32K 컨텍스트 창 (context window)을 가능하게 하며, Flash Attention 2.0 지원은 최신 GPU에서의 인코딩 속도를 높여줍니다.
새로운 다국어 토크나이저 (multilingual tokenizers) 또한 강조할 가치가 있습니다. XLM-RoBERTa의 250K 토큰 어휘 집합 (vocabulary)을 재사용하는 대신, 강력한 다국어 및 코드 커버리지를 가진 기존 토크나이저들을 채택했습니다. 311M 모델은 Gemma 3 토크나이저 (262K 토큰)를 사용하며, 97M 모델은 GPT-OSS 토크나이저에서 시작하여 임베딩 테이블 (embedding table)의 파라미터 점유율을 줄이면서도 광범위한 다국어 커버리지를 유지하도록 180K 토큰의 컴팩트한 어휘 집합으로 가지치기 (pruning)를 수행했습니다. 토크나이저 효율성은 사람들이 생각하는 것보다 더 중요합니다. 32K 토큰 창은 인상적으로 들리지만, 토크나이저가 태국어 한 단락을 인코딩하는 데 창의 절반을 써버린다면 이야기가 달라집니다.
311M 모델은 262K 토큰의 다국어 어휘 집합을 가진 22계층 (22-layer) ModernBERT 인코더로, 다음과 같은 다단계 파이프라인 (multi-stage pipeline)을 통해 학습되었습니다:
지식 증류 (Knowledge distillation): 모델은 여러 개의 교사 모델 (teacher models)로부터 동시에 학습합니다. 교사 모델은 텍스트 임베딩을 위해 추가로 미세 조정 (finetuned)된 Granite 3.3 Instruct 및 Mistral v0.2 Instruct 디코더 (decoder) 모델이며, 이를 통해 검색 특화 지식을 311M 인코더 (encoder) 아키텍처로 전달합니다.
대조 학습 (Contrastive fine-tuning): 52개 언어와 코드를 아우르는 다국어 검색 쌍(queries와 관련 패시지 및 하드 네거티브 패시지가 매칭된 쌍)에 대한 표준 대조 학습 (contrastive training)을 통해, 관련 있는 결과와 관련 없는 결과를 구별하는 모델의 능력을 날카롭게 다듬습니다.
모델 병합 (Model merging): 학습 후, 서로 다른 학습 단계와 설정에서 생성된 체크포인트 (checkpoints)를 병합합니다. 이를 통해 추가적인 학습 연산 (training compute) 없이도 서로 다른 목적(예: 다국어 범위 vs 영어 심도)에 최적화된 모델들의 강점을 하나의 가중치 (weights) 세트로 결합합니다.
마트료시카 표현 학습 (Matryoshka Representation Learning): 모델은 마트료시카 목적 함수 (Matryoshka objectives)로 학습되어, 768차원의 임베딩 (embeddings)을 품질 손실을 최소화하면서 512, 384, 256 또는 128차원으로 축소할 수 있습니다 (아래 Matryoshka Embeddings 섹션 참조).
그 결과, MTEB Multilingual Retrieval에서 65.2점, 전체 평균에서 56.3점을 기록하였으며, 이는 이전 모델인 R1 대비 평균 14.5포인트 상승한 수치입니다.
97M 모델은 **어휘 선택 (vocabulary selection)**과 **지식 증류 (knowledge distillation)**의 조합을 통해 학습되었습니다:
어휘 선택 (Vocabulary selection): 262K 토큰 어휘 (vocabulary)를 목적에 맞게 학습된 180K 토큰 어휘로 축소하여, 광범위한 다국어 커버리지를 유지하면서도 임베딩 테이블 (embedding table)의 크기를 대폭 줄였습니다.
지식 증류 (Knowledge distillation): 가지치기 (pruned)된 모델은 검색 품질을 향상시키기 위해 여러 교사 모델(Granite 4.1 8B 및 Mistral Instruct 디코더 기반 교사 포함)로부터의 지식 증류와 대조 학습 (contrastive training)을 사용하여 미세 조정 (finetuned)됩니다.
이러한 접근 방식은 언어 커버리지 (language coverage)를 희생하지 않으면서 모델 파라미터 (model parameters)를 줄이는 동시에, 여러 강력한 교사 모델로부터 검색 특화 지식 (retrieval-specific knowledge)을 전이합니다. 그 결과 매우 효율적인 컴팩트 모델 (compact model)이 탄생했습니다. 이 모델은 전체 크기 모델 (full-size model)의 점수인 65.2점과 비교했을 때, 크기는 약 3배 더 작으면서도 MTEB Multilingual Retrieval에서 60.3점을 기록했습니다.
모델 크기별로 정렬된 주요 벤치마크 제품군(benchmark suite)의 성능입니다. 점수는 각 벤치마크 내 태스크들의 평균값입니다 (높을수록 좋습니다):
| 모델 | 파라미터 | 활성 파라미터 | 임베딩 차원 | MTEB Multilingual Retrieval (18) | Code (12) | English Retrieval (10) | LongEmbed (6) | RaR-b (17) |
|---|---|---|---|---|---|---|---|---|
| F2LLM-v2-80M | 80M | 32M | 320 | 50.1 | 68.0 | 47.5 | 31.7 | 17.9 |
| granite-embedding-97m-multilingual-r2 | 97M | 28M | 384 | 60.3 | 60.4 | 50.1 | 65.6 | 24.9 |
| granite-embedding-311m-multilingual-r2 | 311M | 110M | 768 | 65.2 (#2) | 63.8 (#3) | 52.6 (#5) | 71.7 (#1) | 28.0 (#2) |
몇 가지 눈에 띄는 점이 있습니다:
97M R2 모델은 약 3배 더 작음에도 불구하고, 평균 및 대부분의 개별 벤치마크에서 multilingual-e5-base 및 gte-multilingual-base (~300M 파라미터 모델)를 능가합니다., a full paraphrase-multilingual-MiniLM-L12-v2
— 널리 사용되는 프레임워크의 기본값 — 97M R2 모델보다 36.6**+23.7 포인트** 뒤처집니다. 이 97M 모델은 동일한 384차원 (384-dimensional) 출력을 가지면서도 약간 더 작습니다 (97M vs 110M 파라미터). LongEmbed는 R1에서 R2로 넘어오며 가장 큰 이득을 본 항목입니다: 97M 모델에서 +31.3 포인트, 311M 모델에서 +34.0 포인트를 기록했습니다. 이는 32K 컨텍스트 윈도우 (context window)의 직접적인 결과입니다. R1의 512 토큰 (token) 제한은 귀하의 법률 계약서가 단지 첫 페이지에 의해서만 판단된다는 것을 의미했습니다. 많은 실무적인 다국어 워크로드 (multilingual workloads)는 긴 문서 (법률 계약서, 기술 매뉴얼, 연구 논문, 다중 페이지 보고서)를 포함하며, R1은 이를 전체적으로 파악할 수 없었습니다. 코드 검색 (Code retrieval) 성능이 극적으로 향상되었습니다: R1 대비 +19.7 (97M) 및 +15.3 (311M)을 기록했으며, 이는 새로운 코드 학습 데이터셋, 더 큰 컨텍스트 윈도우, 그리고 개선된 학습 방법론을 반영합니다. 더 넓은 경쟁 분야에서, harrier-oss-v1-270m이 MTEB Multilingual Retrieval (66.4) 및 RaR-b (32.9)에서 앞서고 있으며, jina-embeddings-v5-text-nano가 Code (71.2) 및 English Retrieval (58.8)에서 앞서고 있습니다. 311M Granite 모델은 평균적으로 (56.3) 경쟁력이 있으며 LongEmbed (71.7)에서 앞서고 있으며, jina-embeddings-v5-text-nano보다 실질적으로 더 높은 인코딩 처리량 (encoding throughput)을 제공합니다 (아래 속도 표 참조).
인코딩 속도는 프로덕션 워크로드 (production workloads), 특히 수백만 개의 문서를 인덱싱하거나 낮은 지연 시간 (low-latency)의 쿼리 인코딩이 필요한 경우 매우 중요합니다. 당사는 512 토큰 청크 (chunks)를 사용하여 단일 NVIDIA H100 GPU에서 지연 시간 (latency)과 처리량 (throughput)을 측정했습니다:
97M 모델은 초당 2,500개 이상의 문서를 인코딩(encode)하며, 이는 multilingual-e5-small과 유사한 처리량(throughput)을 보이면서도 실질적으로 훨씬 더 높은 검색(retrieval) 품질을 제공합니다. 311M 모델은 초당 약 1,800개의 문서를 처리하며, jina-embeddings-v5-text-nano보다 5.5배 이상의 인코딩 속도(참고: 속도 수치는 최신 transformer 코드로 계산되었으며, 해당 코드는 이전 4.57 버전 대비 속도 저하(regression)가 있었습니다. Jina 및 granite 모델 모두 해당하며, 자세한 내용은 기술 보고서를 참조하십시오)를 기록하면서도 검색 품질(65.2 대 63.3) 면에서 더 나은 성능을 보여줍니다. harrier-oss-v1-270m은 여기에 나열된 경쟁 모델들 중 속도와 검색 점수의 가장 최적화된 조합을 제공합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Hugging Face Blog의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기