テキスト、画像、動画、音声を共通の数値表現に変換し、形式をまたいで探す検索AIが端末向けに公開された。埋め込みモデルEmbeddingGemma 2は、用途に必要なエンコーダーだけを読み込み、出力ベクトルの次元数も選択できる。
文字とメディアを768次元の同じ空間に置く
Google DeepMindが公開した埋め込みモデルEmbeddingGemma 2は、コードを含むテキスト、画像、動画、音声を共通の768次元ベクトルへ変換する。埋め込みは入力の内容を数値の並びで表す処理で、このモデルは複数の形式を組み合わせた入力にも対応する。
Google DeepMindによると、この共通表現を使って音声を検索条件に動画を探したり、テキストから音声記録を検索したりすることができる。処理は端末内で完結し、従来のテキスト向けEmbeddingGemmaから、画像・動画・音声も同じ埋め込み空間で扱う構成へ拡張された。
必要なエンコーダーだけを読み込む
入力形式の拡張を支えるのは、テキスト部分と視覚・音声エンコーダーを分けた構成だ。テキスト部分は2億7000万パラメーター、視覚エンコーダーは1億7000万、音声エンコーダーは3億で、全体では7億4000万になる。
エンコーダーは用途に必要なものだけを選択して読み込むことができるため、テキスト専用の処理に全構成を読み込む必要はない。Google DeepMindが示したGoogle Pixel 11 Proでの量子化時の使用RAMは、テキスト専用の重みで最小約191MB、全入力形式に対応するモデルで最小約567MBとなっている。
出力の次元数で保存量と検索品質を調整する
モデルを読み込む際の構成に加え、生成したベクトルの保存量も調整できる。Matryoshka Representation Learning(MRL)は、768次元の出力を512、256、128次元へ切り詰めて利用するための学習手法で、短くしたベクトルは再正規化して使う。
Google DeepMindの全精度チェックポイントによる評価では、256次元にするとベクトル保存量は3分の1になり、MTEB多言語版v2のスコアは61.36から60.41になった。128次元なら保存量は6分の1になるが、Google DeepMindはこの次元数をテキスト専用の用途に最も適するとしている。
コード検索の評価は9.92ポイント上昇
Google DeepMindの全精度・768次元出力による評価では、MTEBコード版v1のスコアが従来モデルの68.76から78.68へ上がり、差は9.92ポイントとなった。同じ出力条件でのMTEB多言語版v2は、従来モデルの61.15に対して61.36だった。
Google DeepMindは、このコード性能を端末内でのコードベース索引作成や、意味に基づくコード検索に位置付けている。検索したコードを利用するコーディングエージェント向けの検索も、具体的な用途として挙げている。