TPU埋め込みのコサイン類似度0.999は何と比べた値か
Google のTPU埋め込み推論の記事に出る数字を、測定構成ごとに読み分けられます。合格ライン0.999/0.995の比較相手、83,996 token/s が出た構成、tensor parallel が2・4・8の3種類あることを、原典(2026年8月26日)と公式レシピから整理しました。
答え テキスト入力の合格ライン 0.999 以上 Table1の参照はCPU実装
この記事は海外の一次情報をAIエージェントが調査・検証して整理したもので、実際に試した体験談ではありません。
結論:0.999 は表ごとに比較相手が違い、検索精度の測定値ではない
Google Developers Blog が2026年8月26日付で公開した『Enterprise-Grade Precision for Long-Context Multimodal Embedding Inference on Cloud TPU』(著者は Anthony Su と Injae Kwak と記載)は、TPU 上の vLLM で埋め込みモデルを配信したときの数値同等性を扱っています。同記事が置く合格ラインはテキスト入力でコサイン類似度0.999以上、マルチモーダル入力で0.995以上です。
ここで押さえるべき点が3つあります。
- この値は TPU で生成したベクトルと参照ベクトルの一致度であり、Recall や nDCG といった検索精度の比較結果ではありません
- Table 1(Qwen3-Embedding-8B)の参照は GPU ではなく CPU ベースラインです。ただし Table 2 は別モデルの検証で、参照が違います
- 記事に出る唯一のスループット値は、コサイン類似度の測定とは別の構成で測られています
以下の数値はすべて Google 自身の資料(Developers Blog と、記事がリンクする AI-Hypercomputer 公式レシピ)によるもので、第三者による追試は2026年8月28日時点で確認できていません。
数値ごとの測定条件
合格ラインと一致度
| 項目 | 値 | 出どころ・条件 |
|---|---|---|
| テキスト入力の目標閾値 | 0.999 | 記事本文および Table 1 の Target Parity 列 |
| マルチモーダル入力の目標閾値 | 0.995 | Table 2(Qwen3-VL-Embedding-8B)の Quality Pass 列。同じ列にテキスト行の ≥0.999 もある |
| Table 1 の Ironwood 列(英語・長文) | 0.9997845670 | 7Kトークン・CPU ベースライン比 |
| Table 1 の Trillium 列(英語・長文) | 0.9997664366 | 同上 |
Table 1 の見出しは “Qwen3-Embedding-8B (7K+ Tokens, TPU vs. CPU Baseline)” で、列は Input Corpus / Context Length / Ironwood Cosine Sim / Trillium Cosine Sim / Target Parity の5つです。スループットの値も tensor parallel の数も、この表には入っていません。
表の8つの値は、公式レシピ README-correctness.md の期待値表と桁まで一致します。レシピ側に書かれた条件は、列が v7x / v6e の2つ、参照が VLLM_TARGET_DEVICE="cpu" での実行、系列長が7Kトークンです。
性能値
| 項目 | 値 | 出どころ・条件 |
|---|---|---|
| 合計トークン毎秒(ブログ) | 83,996 | bf16・16K+ 系列長・TP=4・TPU Ironwood |
| 合計トークン毎秒(公式レシピ) | 84038.27 | 16k ワークロード |
| リクエスト毎秒 | 5.13 | ブログ・レシピとも同じ値 |
req/s は一致しますが、トークン毎秒は一致しません。どちらが正しいかは、原典からは決まりません。理由の記述もありません。
tensor parallel は用途ごとに3種類ある
| 用途 | TPU 側 | 参照側 | 出どころ |
|---|---|---|---|
| テキストの整合性検証 | 2 | 1(CPU) | embed_script.py |
| スループット計測 | 4 | — | 配備マニフェスト(README.md) |
| マルチモーダルの整合性検証 | 8 | 1(GPU) | embed_vl_script.py |
83,996 token/s が出た GKE 配備マニフェストは --tensor-parallel-size=4、--max-model-len=16384、--enable-chunked-prefill を指定し、TPU は tpu7x の 2x2x1 です。計測データは入力長16,384トークンのランダム生成1,000プロンプトを --backend=openai-embeddings で流したものであり、実データではありません。記事本文に載っているサンプルコードは tensor_parallel_size=2 を指定しており、こちらは1行目の整合性検証の側です。
なお公式レシピでは、Ironwood がアクセラレータタイプ v7x(TPU v7 / TPU7x)、Trillium が v6e として扱われています。整合性検証は TPU VM の v7x-8 / v6e-4 で、スループット計測は GKE の tpu7x 2x2x1 で行われており、実行環境も別です。
公開値を読むときの手順
- その数字が Table 1(コサイン類似度)側か、キャプション文(スループット)側かを見分ける。TP=4 という条件はキャプション文にしか現れません
- 参照側が何かを確認する。Table 1 は CPU、Table 2 はテキスト・マルチモーダルとも匿名の XPU です
- 検索品質を判断したい場合は、この記事の数値では足りないと考える。原典に Recall / nDCG の比較はありません
注意点
原典の中に系列長の食い違いがある
系列長の記述が2か所で食い違います。表の見出し側は “7K+ Tokens”、同じ表に付いたキャプション文側は “16K+ sequence length” です。公式レシピの整合性検証は7Kトークンと明記されていますが、原典はどちらを採るべきかを書いていません。
参照ハードウェアの同定は原典からは確定しない
Table 2 は Table 1 とは別モデル(Qwen3-VL-Embedding-8B)の検証結果で、Test Mode 列にテキストとマルチモーダルの両方が並びます。参照機の表記は次の状態です。
- ブログ側: XPU 1 / XPU 2 / XPU 3 という匿名のラベル
- 公式レシピ
README-correctness.md側: Blackwell (B200)、Hopper (H200) という製品名 - 値の照合: XPU 2 の4値は H200 列、XPU 3 の4値は B200 列と桁まで同じ。XPU 1 の2値に対応する値はレシピの表にありません
- 言えること: 値が一致するところまで。Google は匿名ラベルと製品の対応を明示していません
評価に使った入力は本文ではなくスクリプト側にある
記事本文はサンプル数もデータセット名も書いていません。リンク先のスクリプトには具体的な入力があり、テキスト側は英語(短)・英語(長)・日本語・韓国語の4件の文字列を各180回繰り返したもの、マルチモーダル側は1モードにつき入力1件です。「公開されていない」ではなく「本文には無い」という状態です。
関連記事
- Papers with Code の検索基盤:公開値は全部5,000本での測定 — 公開された性能値の分母を1つずつ確認する同型の整理
- HeyGen の Avatar IV を TPU へ:「1.86倍」の基準線 — Google の TPU 移植レポートで比較の基準線を切り分けた回
参考にした情報源
全7件のうち0件 が公的機関の公開資料です。
- Enterprise-Grade Precision for Long-Context Multimodal Embedding Inference on Cloud TPU
- Serve Qwen3-Embedding-8B with vLLM on TPU Ironwood(README.md)
- Qwen3-Embedding-8B E2E Correctness Validation on TPUs(README-correctness.md)
- AI-Hypercomputer/tpu-recipes embed_script.py(Qwen3-Embedding-8B)
- AI-Hypercomputer/tpu-recipes compare_precision.py(Qwen3-Embedding-8B)
- Qwen3-VL-Embedding-8B E2E Correctness Validation on TPU Ironwood(README-correctness.md)
- AI-Hypercomputer/tpu-recipes embed_vl_script.py(Qwen3-VL-Embedding-8B)