GEMINI LABEN
NANOLITE — Nano Banana 2 Liteが登場しました。Googleで最も速く、最もコスト効率の高いGemini Imageモデルで、軽量な画像生成を安く回したい用途に向いていますOMNIFLASH — Gemini Omni Flashがpublic previewになりました。ネイティブにマルチモーダルなモデルで、企業や開発者が独自の動的な動画ワークフローを構築できますAGENTS — Managed Agentsが拡張されました。background: trueでサーバー側の非同期実行とポーリング、リモートMCPサーバー連携、対話をまたぐ認証情報のリフレッシュに対応しますMEMORY — Memory BankのIngestEvents APIが一般提供になりました。イベントの取り込みとメモリ生成を分離し、コンテンツを継続的にストリームできますTHROUGHPUT — Provisioned Throughputで、同一モデル・同一リージョンに対して最大7件の保留オーダーを提出できるようになりましたDEPRECATE — 画像生成モデルは8月17日に、Gemini Enterprise Agent PlatformのGrok 4.1系は8月20日に停止される予定ですNANOLITE — Nano Banana 2 Liteが登場しました。Googleで最も速く、最もコスト効率の高いGemini Imageモデルで、軽量な画像生成を安く回したい用途に向いていますOMNIFLASH — Gemini Omni Flashがpublic previewになりました。ネイティブにマルチモーダルなモデルで、企業や開発者が独自の動的な動画ワークフローを構築できますAGENTS — Managed Agentsが拡張されました。background: trueでサーバー側の非同期実行とポーリング、リモートMCPサーバー連携、対話をまたぐ認証情報のリフレッシュに対応しますMEMORY — Memory BankのIngestEvents APIが一般提供になりました。イベントの取り込みとメモリ生成を分離し、コンテンツを継続的にストリームできますTHROUGHPUT — Provisioned Throughputで、同一モデル・同一リージョンに対して最大7件の保留オーダーを提出できるようになりましたDEPRECATE — 画像生成モデルは8月17日に、Gemini Enterprise Agent PlatformのGrok 4.1系は8月20日に停止される予定です
記事一覧/API / SDK
API / SDK/2026-05-10中級

Gemini Embedding の output_dimensionality を 768 から 256 に切り詰めたら、ベクトル DB のストレージが 3 分の 1 になりました

個人開発の壁紙アプリで gemini-embedding-001 の出力次元を 768 から 256 へ削った経験をもとに、Matryoshka 表現の切り詰めとストレージ・コスト・精度のトレードオフを、移行手順・int8 量子化のコード・本番ロールアウトのチェックリストまで実数で記録します。

gemini102embedding10vector-database4matryoshkacost-optimization21

プレミアム記事

ある朝、Cloudflare のダッシュボードを開いたら、壁紙アプリ用に運用していたベクトルストレージの使用量が想定の 3 倍になっていました。「似てる壁紙」を順に並べる機能のためだけに、ベクトルが 2GB 近くを占めていたのです。gemini-embedding-001 を 768 次元のまま素直に使い続けていたのが理由でした。

私は 2014 年から個人で iPhone・Android アプリを開発していて、累計 5,000 万ダウンロードを超える壁紙・癒し系アプリを運営しています。アクティブなメタデータは 80,000 件ほどで、それを gemini-embedding-001 で全部ベクトル化していました。出力次元を 768 から 256 に切り詰めた経緯と、精度・ストレージ・コストの実数値、さらに本番に出すまでに踏んだ手順と落とし穴を、後追いできる形で書き残しておきます。

80,000 件のベクトルが 2GB を食い始めた朝

ベクトルそのものは 80,000 件 × 768 次元 × 4 バイト(float32)= 約 240MB です。それだけなら問題はないのですが、実際の SQLite + sqlite-vec の運用では、インデックス、メタデータの JSON、HNSW のグラフ構造を含めて 2GB 弱になっていました。Cloudflare D1 のストレージ料金は数十ドル単位ですが、月額がじわじわ上がっている事実は気持ち悪いものです。AdMob から入ってくる広告収益で運用しているアプリなので、固定費は素直に削っておきたい類のコストでした。

公式ドキュメントには output_dimensionality パラメータで 128 / 256 / 512 / 768 を指定できると書かれていますが、それぞれで精度がどれくらい落ちるかは書かれていません。「実際にどこで切り詰めるのが現実的か」は、自分のデータで測ってみないと分かりませんでした。

Matryoshka 表現の「先頭だけ切り取れる」性質

Gemini の embedding モデルは、Matryoshka representation という方式で訓練されています。やや乱暴に言えば「ベクトルの先頭 N 次元だけを切り出しても、意味の方向はおおむね保たれる」ように設計されているのです。output_dimensionality=256 を指定すると、モデル内部で 768 次元を計算したあと、先頭 256 次元を返してくれます。

宮大工だった祖父のことを時々思い出します。木材を一度大きく挽き出してから、用途に合わせて段階的に削って整えるという考え方は、Matryoshka の発想とよく似ています。1 回の埋め込み計算から 256 / 512 / 768 と段階的に取り出して使えるという設計思想は、丁寧に作られた仕組みだと感じます。

運用上の意味としては、用途ごとに別の埋め込みを生成する必要がないことです。例えば「高速な一次絞り込み」では先頭 128 次元、「メインの検索」では 256 次元、「厳密な再ランキング」では 768 次元、というふうに、同じ列のベクトルから読み出す長さだけを切り替えれば済みます。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
壁紙アプリ 80,000 件のベクトルでの 768 / 512 / 256 / 128 次元 recall@10 実測値と、私が「256 で止めた」判断基準
float32 → float16 → int8 と段階的に量子化していくときの動くコード、スケール係数の保存、ANN ライブラリの落とし穴
推奨次元の判断マトリクスと、本番に出す前に走らせている 60 秒のベンチマークゲート(動くコードつき)
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Gemini Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

API / SDK2026-07-09
gemini-embedding-2 の検索精度が伸びないとき、最初に task_type を疑う
gemini-embedding-2 の検索が惜しい外れ方をするとき、原因は task_type の指定漏れや不一致であることが多いです。ドキュメントとクエリで用途を揃え、再現率を取り戻す実装と検証手順をまとめました。
API / SDK2026-07-06
取り込んだのに一度も引かれない資料 — File Search ストアを引用ログで棚卸しする隔離つき剪定設計
File Search ストアに積んだドキュメントの多くは一度も引用されないまま費用と検索精度を蝕みます。grounding metadata から引用ログを取り、一度も引かれない資料を隔離期間つきで安全に剪定する運用設計を、動くコードとともに解説します。
API / SDK2026-06-17
Flash と Pro のルーティングしきい値を、シャドウ再評価で較正し続ける
Flash で生成し、自信のないものだけ Pro に回すルーターは、しきい値を手で決めた瞬間から少しずつ古くなります。サンプリングしたシャドウ再評価で不一致率を測り、しきい値を品質予算から逆算して較正し続ける仕組みを、動くコードで組み立てます。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →