この記事の主役は、Embeddingモデルです。
Embeddingは、文章や単語の意味をベクトルという数字の並びに変換する技術です。
これを使うと、
![]()
みたいなことができます。
たとえば日本語で「返品方法」と検索して、英語の「how to return items」資料を拾うような世界ですね。
これ、地味に見えてかなり重要です。検索体験の土台を作る技術なので、RAG(検索拡張生成)や社内ナレッジ検索ではほぼ必須級です。
Granite Embedding Multilingual R2は、IBM Graniteが出した新しい多言語Embeddingモデル群です。ポイントは、単に「多言語です」ではなく、
という、実運用でうれしい要素がかなり揃っていることだと思います。
![]()
特に面白いのは、小型モデルなのに強い点です。
AIモデルの世界では「大きい=強い」が基本ですが、Embeddingは実運用だと速度とコストがかなり効いてきます。検索のたびに何万回も呼ばれることもあるので、モデルサイズは軽視できません。
R2では、用途の違う2モデルが公開されています。
![]()
これはフルサイズ版です。
性能をしっかり取りに行きたい、でも500M未満の範囲で収めたい、というときに良さそうです。
こちらはコンパクト版です。
この記事の主張では、100M未満の公開多言語Embeddingモデルとして最高の検索性能を出したとのこと。
このサイズ帯でここまで戦えるのは、かなり気持ちいいです。正直、実務ではこっちを選びたくなる場面も多いと思います。
対応はかなり広く、200以上の言語をカバーしています。
さらに、その中でも52言語は検索ペアやクロスリンガル学習で強化されています。
たとえば強化対象には以下が含まれます。
![]()
など、かなり広範囲です。
ここで大事なのは、「多言語対応」といっても、ただ辞書っぽく広く学習しただけではなく、検索で実際に役立つ言語を重点強化していることです。
この差は大きいです。多言語モデルは“対応している”と“ちゃんと使える”の間に、わりと深い谷があるので。
R2は32,768トークンまで扱えます。
元のR1は512トークンだったので、64倍です。
トークンは、ざっくり言うと文章をAIが読むときの「細かい部品」です。
長い文書、議事録、仕様書、契約書、コード混じりの文書などでは、この長文対応がかなり効きます。
個人的には、Embeddingで長文対応が強いのはかなり実用的だと思います。
RAGの世界では「文書を細切れにしすぎて意味が壊れる」問題がよくあるので、長めの文脈を見られるのは強いです。
![]()
R1世代はXLM-RoBERTaベースでしたが、R2はModernBERTベースで作り直されています。
記事によると、主にこんな利点があります。
難しく見えますが、要するに
「長い文章を、速く、そこそこ無理なく扱えるようにした」
ということです。
![]()
Embeddingは精度だけでなく、検索時のスループット、つまりたくさんの文をどれだけ速く処理できるかが超重要です。
この方向にちゃんと寄せているのは、かなり実務目線だと感じます。
記事で印象的だったのが、tokenizerへのこだわりです。
tokenizerは、文章をAIが処理できる単位に分ける仕組みです。
これが下手だと、同じ文章でも無駄に細かく分割されてしまい、長文対応の恩恵が薄れます。
![]()
R2では、R1のように古い語彙をそのまま使うのではなく、
という形を取っています。
![]()
記事の言い方を借りるなら、32Kトークンの窓があっても、tokenizerが雑だと台無しです。
この視点、かなり本質的だと思いました。Embeddingはモデル本体だけ見がちですが、実際は前処理の設計が効いてくるんですよね。
311Mモデルは、22層のModernBERT encoder。
学習は段階的に行われています。
強い教師モデルから知識を引き継ぎます。
ここでは、Granite 3.3 InstructやMistral v0.2 Instructを使い、Embedding向けにさらに調整したものが教師になっています。
![]()
要するに、大きく賢いモデルの“解き方”を学ぶわけです。
人間でいえば、優秀な先輩の仕事を見て覚える感じに近いです。
検索で使う正解ペアとハードネガティブを使って学習します。
という訓練です。
これは検索モデルの王道です。ここが弱いと、見た目は賢そうでも検索では迷子になります。
複数の学習段階や設定で得たチェックポイントを統合します。
これは、複数の強みを1つにまとめるイメージです。ちょっと面白い工程です。
Embeddingの次元を、後から削っても性能を保ちやすくする学習です。
311Mモデルは、768次元を512 / 384 / 256 / 128などに縮めても使えるように設計されています。
これ、実務ではかなり便利です。
「高精度が欲しいときは768次元、速度優先なら128次元」みたいな運用ができるからです。

97Mモデルは、さらにコンパクトにするために語彙の選別とKnowledge distillationを組み合わせています。
262Kトークンの語彙を、180Kトークンに絞ります。
ただ削るのではなく、多言語の広さを保ちながら圧縮しているのがポイントです。
Granite 4.1 8BやMistral Instruct系の教師モデルなどから学習し、Contrastive trainingも加えて性能を上げています。

小型モデルって、ただ小さくするだけだとすぐ性能が落ちます。
でもR2は、教師の知識をうまく吸ってサイズを削る設計なので、かなり筋がいいです。
記事ではいくつかのベンチマークが出ていますが、ここで大事なのは細かい数字を丸暗記することではありません。
ざっくり言うと、R2は以下の方向で強いです。

特に注目されるのは、97MモデルがMultilingual MTEB Retrievalで60.3を出し、100M未満の公開多言語Embeddingとしてかなり強い位置にいることです。
比較対象として、記事では multilingual-e5-small が 50.9 とされていて、**+9.4ポイント差**だと述べています。
この差はかなり大きいです。Embeddingのベンチマークで9点差は、なかなか見過ごせません。
311Mモデルは 65.2 を記録し、500M未満の公開モデルの中でもかなり上位です。
性能だけ見れば、「あ、これ普通に使いたいな」と思わせる数字です。
R2は精度だけではなく、運用性にも配慮されています。
このへんは地味ですが重要です。
研究用モデルは性能が良くても、導入が面倒だと現場では広まりません。
IBM Graniteはこの「ちゃんと使える形で出す」部分にかなり気を使っている印象です。
記事では、学習データについてもかなり丁寧に説明しています。
![]()
ここは企業利用でかなり大事です。
モデル性能が良くても、データの出自が不明だと法務や調達で止まることがあります。
その意味で、商用利用しやすさを前面に出しているのはかなり好印象です。
ざっくり言うと、こういう選び方になりそうです。
個人的には、97Mモデルがかなり面白いと思います。
小型なのにここまで戦えると、実運用での採用ハードルがぐっと下がるからです。
一方で、311MのMatryoshka対応も魅力的で、こちらは「一本で用途を広くカバーしたい」人に刺さりそうです。
Granite Embedding Multilingual R2は、単なる新モデルの追加ではなく、
多言語・長文・コード・軽量・商用利用のしやすさを、かなり高いレベルでまとめてきた発表だと感じます。
特に印象的だったのは、
です。
AIモデルのニュースは「大きいモデルが出ました」で終わりがちですが、Embeddingはむしろ逆で、現場に入ってから真価が出るタイプです。
その意味で今回のR2は、派手さ以上に“ちゃんと使える強さ”がある発表だと思いました。