IBM、Granite Embedding Multilingual R2 公開:200+言語対応、32Kコンテキスト
多言語埋め込みモデルは常に「言語カバレッジ」と「モデルサイズ」のトレードオフに悩まされてきました。多くの言語をサポートしようとするとモデルが大きくなり、小さなモデルは対応言語が限られるというジレンマです。特に日本語を含むRAGパイプラインを構築する際、「英語は問題ないのに日本語はなぜ?」という経験をお持ちの方も多いのではないでしょうか。
IBMがこの課題を解決する2つの新しい多言語埋め込みモデルをApache 2.0ライセンスで公開しました。それが granite-embedding-97m-multilingual-r2 と granite-embedding-311m-multilingual-r2 です。
本記事では、これらのモデルの核心的な特徴、ベンチマーク性能、そして実務での活用方法を詳しく解説します。根拠資料は元記事をご参照ください。

核心性能:97Mモデルが300Mモデルを凌駕
今回のリリースで最も注目すべきは granite-embedding-97m-multilingual-r2 です。わずか97MパラメータでMTEB Multilingual Retrievalベンチマーク 60.3点を記録し、同クラス(100M未満)の公開モデルで最高スコアを達成しました。比較対象として、同じベンチマークで multilingual-e5-small(118M)は50.9点に留まっています。実に +9.4点の差です。
さらに驚くべきは、この97Mモデルが3倍も大きな multilingual-e5-base(278M)や gte-multilingual-base(305M)を平均スコアで上回ったことです。
主要ベンチマークスコア(MTEB Multilingual Retrieval)
| モデル | パラメータ | スコア |
|---|---|---|
| granite-embedding-97m-multilingual-r2 | 97M | 60.3 |
| multilingual-e5-small | 118M | 50.9 |
| multilingual-e5-base | 278M | 52.7 |
| gte-multilingual-base | 305M | 57.2 |
| granite-embedding-311m-multilingual-r2 | 311M | 65.2 |
311Mモデルは同じベンチマークで65.2点を記録し、500M未満の公開モデル中 2位にランクインしました。1位は harrier-oss-v1-270m(66.4)ですが、Granite 311Mは LongEmbedベンチマークで71.7点と1位を獲得し、長文書検索での強みを示しています。
32Kコンテキストの威力
従来のR1モデルはわずか512トークンのコンテキストしかサポートしていませんでした。法律契約書や技術マニュアルのような長文書は「最初のページだけ見て判断する」状態だったわけです。R2はModernBERTベースで **32,768トークン(32K)**までサポート。R1比 64倍の増加です。実際、LongEmbedスコアは97Mモデルが+31.3点、311Mモデルが+34.0点向上しました。
コード検索性能の向上
9つのプログラミング言語(Python、Go、Java、JavaScript、PHP、Ruby、SQL、C、C++)に対するコード検索性能も大幅に改善。R1比で97Mモデルは+19.7点、311Mモデルは+15.3点上昇しています。国際的な開発チームでコードベースを横断検索する際に威力を発揮するでしょう。

実践適用:5行で完了する多言語RAG
これらのモデルの最大の利点は タスク固有の命令(task-specific instruction)が不要で、そのまま使えることです。従来 all-MiniLM-L6-v2 を使っていたコードでモデル名を変更するだけで、200+言語のサポートが完了します。
Sentence Transformersで即座に開始
from sentence_transformers import SentenceTransformer, util
# 97Mモデルをロード(195MB、ONNX量子化時98MB)
model = SentenceTransformer("ibm-granite/granite-embedding-97m-multilingual-r2")
# 多言語クエリと文書を準備
queries = [
"What is the tallest mountain in Japan?", # 英語
"Wer hat das Lied Achy Breaky Heart geschrieben?", # ドイツ語
"ドイツの首都はどこですか?", # 日本語
]
passages = [
"富士山は、静岡県と山梨県にまたがる活火山で、標高3776.12 mで日本最高峰の独立峰である。", # 日本語
"Achy Breaky Heart is a country song written by Don Von Tress.", # 英語
"Berlin ist die Hauptstadt und ein Land der Bundesrepublik Deutschland.", # ドイツ語
]
# 埋め込み生成
q_emb = model.encode(queries)
p_emb = model.encode(passages)
print(util.cos_sim(q_emb, p_emb))
# 各クエリは言語に関係なく、対応する文書と最も高いスコアを記録
LangChainでの使用例
from langchain_huggingface import HuggingFaceEmbeddings
# モデル名を変更するだけ!
embeddings = HuggingFaceEmbeddings(
model_name="ibm-granite/granite-embedding-97m-multilingual-r2"
)
docs = embeddings.embed_documents([
"日本語の文書も問題ありません。",
"English document works too.",
])
query = embeddings.embed_query("What is this about?")
311MモデルのMatryoshka埋め込み活用
311MモデルはMatryoshka Representation Learningをサポートしています。768次元の埋め込みを128次元まで削減でき、性能低下はほとんどありません。
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("ibm-granite/granite-embedding-311m-multilingual-r2")
# フル768次元
full = model.encode(["example text"])
print(full.shape) # (1, 768)
# 384次元に削減(97Mモデルと同じ次元)
small = model.encode(["example text"], truncate_dim=384)
print(small.shape) # (1, 384)
# 768→256次元:保存容量1/3で性能は99%維持
256次元に削減してもMTEB Multilingual Retrievalスコアは65.2→64.7(-0.5)しか低下しません。保存容量と検索速度を最適化したいプロダクション環境で特に有用です。
日本市場での適用コンテキスト
日本の開発現場では、特にグローバル展開を視野に入れたB2B SaaSや越境ECプラットフォームにおいて、多言語対応は必須要件です。
- 法律/契約書検索:英文契約書と和文翻訳を同時に検索する必要がある場合、32Kコンテキストで契約書全体を一度に埋め込み可能
- 技術文書RAG:グローバル開発チームの英語/日本語/中国語の技術文書を単一ベクトルDBに統合
- カスタマーサポートチャットボット:多言語の問い合わせを言語別に分類せず、単一パイプラインで処理
この技術の限界または注意点
- 97Mモデルの交差言語転移の限界:Belebeleベンチマークで97M R2モデル(52.9)が従来のR1(55.1)より低いスコアを記録しました。これはプルーニング過程でのトレードオフです。真の交差言語検索が必要な場合は311Mモデルを選択してください。
- 一部競合モデルとのMTEBスコア差:
harrier-oss-v1-270mがMTEB Multilingual Retrievalで66.4と1位です。絶対的な最高性能が必要な場合は、そちらも検討ください。 - 速度と性能のトレードオフ:311Mモデルはjina-embeddings-v5-text-nano比5.5倍高速ですが、harrier-oss-v1-270mが速度と性能の両面でより良いバランスを示しています。
次のステップとしての学習方向
- ファインチューニングの検討:ドメイン特化検索が必要な場合、このモデルをベースにファインチューニングする方法を研究してみてください。
- 量子化の実験:ONNX/OpenVINO重みを活用したCPU推論の最適化を試してみましょう。97MモデルのONNX重みはわずか98MBです。
- ベクトルDB統合:Milvus、Pinecone、Weaviateなどとの統合を通じて、実際のプロダクションパイプラインを構築してみてください。

まとめ:今すぐ切り替える価値のあるモデル
IBM Granite Embedding Multilingual R2シリーズは、「小さくても強い」97Mモデルと「大きくて強い」311Mモデルという2つの明確な選択肢を提供します。
- 高速プロトタイピングやエッジデバイス →
granite-embedding-97m-multilingual-r2(195MB、384次元) - 最高の検索品質と柔軟な次元選択 →
granite-embedding-311m-multilingual-r2(Matryoshka、768次元) - 英語のみで十分な場合 →
granite-embedding-english-r2(149M)またはgranite-embedding-small-english-r2(47M)
特にフレームワークメンテナやライブラリ開発者にとって、従来の英語専用モデルをこのモデルに一行変更するだけで、コミュニティ全体に200+言語のサポートが自動的に追加されます。API変更も、新しい依存関係も必要ありません。
Apache 2.0ライセンスで商用利用も自由です。MS-MARCOデータセットを使用していないため、ライセンスリスクも低減されています。エンタープライズ環境でも安心して導入できるでしょう。
今すぐHugging Faceからモデルをダウンロードしてテストしてみてください。5行で多言語RAGの世界が広がります。