WeChat、マルチモーダル埋め込みモデル WeMM-Embedding を公開 主要サービスに導入済み
テキスト、画像、動画、ビジュアルドキュメント、テキストと画像の混合入力に対応し、2B・4B・9Bの三つのモデルサイズを提供。Matryoshkaベクトルにより、検索品質とコストのバランスを柔軟に調整できます。
- テキスト、画像、動画、ビジュアルドキュメント、テキストと画像の混合入力に対応。ただし、音声のみの入力には非対応。2B・4B・9Bの三つのモデルサイズを用意。
- 9BモデルはMMEB-v2およびMMEB-v3の同じ結果表で総合スコアが最高。モデルはWeChatチャンネル、公式アカウント、モーメンツ、EC事業に導入済み。
- 2Bモデルで256次元のベクトルを使用すると、MMEB-v2の画像・動画サブセットで完全次元の性能の98.7%を維持。10億件のFP16裸ベクトルのストレージは4.096TBから512GBに削減。
Tencent の WeChat 視覚チームが、汎用マルチモーダル埋め込みモデル WeMM-Embedding をオープンソース化しました。2B、4B、9B の三つのバージョンに加え、推論、サービング、評価用のツールも提供しています。
このモデルは、テキスト、画像、動画、ビジュアルドキュメント、テキストと画像が混在する入力に対応しており、異なるコンテンツを比較可能な数学的ベクトルに統一的に変換できます。これにより、テキストによる画像検索、画像による動画検索、ハイブリッドコンテンツ検索、レコメンドのリコール、分類、クラスタリングなどが可能です。現時点では、音声のみの入力には対応していません。
WeMM-Embedding は、すでに WeChat チャンネル、公式アカウント、モーメンツ、EC 事業に導入されています。その中核機能は三点です。一つのモデルで多様なコンテンツを統一的に処理し、二段階のトレーニングで細粒度の関連性を高め、Matryoshka ベクトルによって検索品質とコストを用途に応じて調整できます。
一つのモデルでテキスト、画像、動画、テキスト画像混在コンテンツを処理
三つのバージョンが扱える入力は共通で、主な違いはモデル規模、フルベクトルの次元数、実行コストです。
2B、4B、9B が出力するフルベクトルは、それぞれ 2048、2560、4096 次元です。
各バージョンは、プレーンテキスト、画像、動画、ビジュアルドキュメント、およびテキストと画像が交互に現れるコンテンツを処理できます。クエリと候補コンテンツにタスク命令を付加することもできるため、例えば同じ画像でも、「見た目が似ている商品を探す」タスクと「質問に答えられるページを探す」タスクでは、異なるベクトル表現を得ることができます。
これらのベクトルは、検索・レコメンドシステムの初段の候補抽出に適しています。大量のコンテンツから関連性の高い少数の候補を絞り込み、その後、より複雑なランキングモデルに渡せます。また、コンテンツ間の類似度を比べる分類、クラスタリング、AI エージェントのメモリにも利用できます。
多種多様なコンテンツを同じデジタル座標に変換
テキスト、画像、動画の内部表現はそれぞれ異なります。WeMM-Embedding は、これらを単一のネイティブマルチモーダルバックボーンで処理し、入力内の各セグメントの元の順序を保持します。これにより、「テキスト—画像—テキスト」のような混在コンテンツを直接理解できます。
複数の入力は、最終的に専用の位置に集約されます。
同じシーケンスに複数のトークンを挿入でき、異なるセグメントや粒度の表現を取得できます。
出力は正規化された後、コサイン類似度を直接計算できます。
モデルは入力シーケンスに専用の <embedding> トークンを追加し、この位置の最後の層の隠れ状態を読み取り、L2 正規化を行って最終的なベクトルを取得します。このトークンは、モデルに対して、それまでのテキスト、画像、動画フレーム、タスク命令を一つの座標に圧縮するよう要求するものです。
同じシーケンス内に複数の embedding トークンを配置して、異なるセグメントや異なる粒度を表すこともできます。これにより、長い動画、ビジュアルドキュメント、テキスト画像混在コンテンツを、相互に関連性のないモーダルの塊に無理やり分割する必要がなくなります。
二段階トレーニングで「類似」を「真の関連性」へ
異なるコンテンツを同じベクトル空間に配置することは、「比較可能性」の問題を解決するだけです。
ステージ1・広範囲アライメント
数億規模の異種ペア- タスク一貫バッチ
- 重複を考慮した偽負例マスキング
- 段階的関連性 + Matryoshka
出力:モーダル間共通空間
ステージ2・詳細な関連性
厳選セットはステージ1の約1/10- セマンティックIDの再サンプリングとクリーンアップ
- ハードネガティブ + リランカー信号
- 凍結した9B教師から2B/4Bへ蒸留
- 9Bはモデルマージを使用
出力:より詳細なランキング境界
二段階のトレーニングは、「どれだけ正確に比べられるか」という課題に取り組みます。
第一段階では、数億規模のマルチモーダルペアで広い範囲をカバーし、テキスト、画像、動画、ビジュアルドキュメント、インターリーブコンテンツを同じ空間に配置します。対照学習によって正例を近づけ、負例を遠ざけます。一つのバッチには同じ種類のタスクだけを入れ、タスクをまたぐサンプルが簡単すぎる低価値な負例になるのを防ぎます。
実際のビジネスデータでは、負例として扱われるコンテンツが、実はクエリと関連している場合があります。重複を考慮したマスキングでこうした偽の負例を除外し、さらに関連度を段階化して、完全に関連、部分的に関連、話題が近い、無関係を区別します。類似度を単なる 0 か 1 にしないためです。
第二段階では、焦点を広いカバレッジから判別の難しい境界へ移します。データにセマンティックリサンプリング、品質クリーニング、ハードネガティブマイニングを施し、reranker の順位付け信号も加えます。9B モデルが学んだサンプル間の類似度分布を 2B と 4B に蒸留し、9B 自体はモデルマージでさらに強化します。得られる順位付け信号は大まかなトピック分類より細かく、検索やレコメンドに向いています。
9B が MMEB で最高スコア、WeChat サービスに導入済み
このトレーニングは、最終的に公開ベンチマーク、WeChat 内部タスク、オンラインサービスという三つの結果に反映されます。
公開ベンチマーク
MMEB-v2:77.9 / 79.2 / 80.69B:MMEB-v2/v3で総合首位
2B/4B:品質とコストを両立WeChat内部26タスク
2B 72.0 / Qwen 60.9チャンネル、公式アカウント、モーメンツ、EC向け
実運用のモデル選定に活用本番A/Bテスト14回
全テスト改善・全量展開本番トラフィックで稼働中
WeChatの4事業をカバー9B は最高品質を追求し、2B と 4B はパフォーマンスとデプロイコストのバランスに重点を置いています。
MMEB-v2 では、2B、4B、9B の合計スコアはそれぞれ 77.9、79.2、80.6 です。表内の 2B 級比較モデルは 47.8 から 74.8、8B から 9B の比較モデルは 53.2 から 78.4 です。そのうち Qwen3-VL-Embedding-8B は 77.8 で、WeMM-Embedding-2B の 77.9 はわずかにそれを上回っています。9B の画像、動画、ビジュアルドキュメントの各項目スコアはそれぞれ 81.9、74.3、83.3 です。
MMEB-v2 は78のデータセットを統合しており、画像と動画は Hit@1、ビジュアルドキュメントは NDCG@5 を使用します。したがって、80.6 は同じ表内での総合スコアであり、「80.6% のクエリが成功した」という意味ではありません。
190のタスクをカバーする MMEB-v3 では、三つのバージョンの合計スコアはそれぞれ 56.0、58.2、59.5 です。2B のテキストとエージェントの各項目スコアは 45.3、45.1 です。4B の 58.2 は、表内の複数の 7B から 8B モデルの 26.3 から 47.1 を上回ります。9B のテキスト、エージェント、MCMR の各項目スコアは 48.8、51.0、49.3 です。同じ表の結果において、9B は MMEB-v2 と MMEB-v3 の両方で合計スコアが最も高いモデルです。
WeChat 内部の26のオフラインタスクでは、2B の平均スコアは 72.0 で、比較対象の Qwen モデルは 60.9 でした。オンラインでは14回の A/B テストが実施され、すべてで改善が見られたため、全量展開されました。対象は WeChat チャンネル、公式アカウント、モーメンツ、EC 事業です。
Matryoshka によりベクトルを 2048 次元から 256 次元へ
Matryoshka の役割は、同じモデルが出力する長いベクトルを、予算に応じて短縮できるようにすることです。
ベクトル数、次元、精度を選択して、自分の生のベクトル容量を読み取ります。
容量 = 数 × 次元 × 各次元バイト数
2Bの256次元は、MMEB-v2の画像および動画サブセットで完全な次元性能の98.7%を保持
10進単位の生ベクトル容量のみを計算。ANNインデックス、メタデータ、レプリカ、量子化、ホット/コールド階層は含みません。
256 次元にすると、裸のベクトルストレージとドット積計算の規模は、完全な 2048 次元の八分の一に削減されます。
2B モデルはデフォルトで2048次元のベクトルを出力しますが、64、128、256、512、1024、1536 などのプレフィックス次元にも対応しています。先頭のいくつかの次元を切り出した後、再度 L2 正規化を行うだけで、そのまま短いベクトルとして使用できます。次元ごとにモデルを再トレーニングする必要はありません。
MMEB-v2 の画像と動画のサブセットでは、256 次元でもフル次元の性能の 98.7% を維持します。FP16 では一つの次元が2バイトを占めるため、2048次元のベクトルは4096バイト、256次元なら512バイトです。十億本のベクトルの生容量は、4.096 TB から 512 GB に減ります。
ここで計算されているのは裸のベクトルのみで、ANN インデックス、ID、メタデータ、レプリカ、量子化、階層型ストレージは含まれません。64、128 次元では品質の低下がより顕著であり、ビジュアルドキュメントはトランケーションの影響をより受けやすいです。実際のデプロイでは、まず 256 次元で低コストのリコールを行い、その後、少数の候補に対してより長いベクトルや reranker を使用することができます。
2B、4B、9B の選び方
三つのモデルから選ぶ際は、スループット、GPU メモリ、インデックスコスト、検索品質のバランスを見る必要があります。
まずビジネスの規模と品質目標を考慮し、その上でモデルのサイズとベクトルの次元を決定します。
2B は、高並列処理、大量のコンテンツ、コスト重視のリコールシステムに適しています。4B は、品質を向上させたいが、9B のコストを負担できないシナリオに適しています。9B は、品質重視の検索、または教師モデルやリランキング段階として適しています。三つのモデルすべてで、Matryoshka によりベクトルの長さをさらに調整できます。
基本的な依存関係は requirements.txt でインストールできます。推論には Transformers 5.2.0 または Sentence Transformers を使用できます。後者は、クエリとドキュメントの統一されたエンコードインターフェースを提供し、切り出す次元を直接選択できます。サービングは vLLM 0.27.0 の pooling モードと SGLang 0.5.9 の embedding モードをサポートしています。動画サービスには対応するパッチが必要です。
MMEB-v3 のダウンロード、エンコード、スコアリングのプロセスが提供されており、動画評価はデフォルトで64フレームをサンプリングします。Tencent のコードとモデルの重みは Apache 2.0 ですが、基盤となる Qwen3.5、データセット、およびサードパーティのコンポーネントについては、それぞれライセンスを確認する必要があります。現在の公開範囲には、モデルの重み、推論、サービス、評価が含まれますが、完全なトレーニングデータ、トレーニングコンピューティングリソース、完全なトレーニングプロセスは含まれません。
実際のモデル選定では、まず 2B と 256 次元でベースラインを確立し、その後、512 次元、完全な次元、4B、9B を順に比較することをお勧めします。ビジネスデータ上のリコール品質、バッチスループット、インデックスコスト、安定性が同時に要件を満たして初めて、モデルは本番環境に適していると言えます。
WeChat、全メディアを同じ座標へ
WeMM-Embedding は5種類の入力を比較可能なベクトルに変換。2段階学習で関連性を高め、Matryoshka で品質とコストを調整します。
1モデル、5入力
Tencent の WeChat 視覚チームが2B・4B・9Bを公開。検索、候補抽出、分類、クラスタリング向けで、すでにチャンネル、公式アカウント、モーメンツ、ECへ導入済みです。
1つの埋め込み座標
入力順を保ち、埋め込みトークンで最終層を集約。L2正規化後はコサイン類似度で比較できます。
カバレッジ → 精度
段階1で数億組を整列。段階2で約10分の1の精選データに、ハードネガティブ、順位信号、蒸留を加えます。
公開評価 → 実運用
3層は指標が異なります。合わせて見ると、公開性能と本番結果がつながります。
まず2B × 256次元
MMEB-v2の画像・動画では、256次元で2Bのフル性能の98.7%を維持。生ストレージとドット積は1/8です。
文字・画像・動画をひとつの座標に
文字、画像、動画、ビジュアルドキュメントは表現が異なるため、そのまま並べて比較できません。
類似度を計算できるだけでは不十分で、異なるモダリティには共有・校正可能な座標が必要です。
モデルは入力順序を保ち、専用トークン位置で最終層の状態を読み取り、L2正規化を行います。
第1段階で広域なアライメントを確立し、第2段階で精選データ、ハードネガティブ、ランキング信号、蒸留を用いて関連性を微調整します。
統一ベクトルはクロスモーダル検索やレコメンドのリコールに使えます。このモデルはすでにWeChatの複数のサービスに導入されています。
2Bモデルの256次元ベクトルは、フル2048次元ベクトルの8分の1です。画像と動画のサブセットでは性能の98.7%を維持しますが、さらに短いベクトルとビジュアルドキュメントは影響を受けやすくなります。
統一ベクトルはフリーパスではありません。モデルサイズと次元は実際のビジネスで検証する必要があります。