Google AI、テキスト拡散を用いた26B MoEオープンモデル「DiffusionGemma」を公開
Google AI は、従来の自己回帰型ではなくテキスト拡散モデルを採用した「DiffusionGemma」を公開し、並列処理により生成速度を最大 4 倍に向上させる一方、品質面ではトレードオフがあることを明示しました。
キーポイント
非自己回帰型による高速化の実現
DiffusionGemma はトークンを左から右へ逐次生成するのではなく、ランダムなキャンバスを反復的にノイズ除去(デノイジング)することでテキストブロックを並列生成し、H100 で 1000 トークン/秒を超える速度を実現します。
MoE アーキテクチャとリソース効率
26B パラメータの Mixture of Experts (MoE) モデルでありながら、推論時には 3.8B パラメータのみが活性化し、量子化すれば 18GB の VRAM で動作するため、高価なコンシューマー GPU でも実運用可能です。
品質と速度の明確なトレードオフ
Google は本モデルを「速度と並列生成」に最適化しており、標準的な自己回帰型である Gemma 4 に比べて出力品質は劣ると明言し、高品質な生産用途には従来モデルの使用を推奨しています。
双方向注意機構による自己修正
拡散プロセス中に双方向のアテンションを使用することで、信頼度の低いトークンを後続のパスで再ノイズ処理して修正できるため、リアルタイムな自己修正が可能となります。
リアルタイム自己修正機能
双方向コンテキストによりトークンの信頼度が低下した際に再ノイズ化して後続のパスで置き換えることが可能であり、従来の自己回帰モデルでは不可能な機能です。
ハードウェアボトルネックの転換と並列処理
メモリ帯域幅に依存する従来方式から計算負荷へシフトし、256トークンのキャンバスを並列でドラフト・リファインすることで GPU のアイドル状態を解消します。
ブロック自己回帰拡散による長期出力
256 トークンブロックのデノイズ完了後に KV キャッシュにコミットし、直前の履歴を条件として新しいキャンバスを開始することで、並列速度と逐次的安定性を両立します。
影響分析・編集コメントを表示
影響分析
この発表は、LLM の生成アーキテクチャにおける「速度対品質」の常識に挑戦する重要な転換点です。特にローカル環境やリアルタイム応用において、拡散型アプローチが自己回帰型のボトルネックを打破しうることを示しており、将来的には用途に応じて両者が併存・使い分けられるエコシステムの形成につながると考えられます。
編集コメント
生成速度の劇的な向上はローカル AI の可能性を大きく広げますが、品質低下という明確な代償があるため、開発者は用途に応じたモデル選択がこれまで以上に重要になります。
Google AI チーム、および Google DeepMind の研究者らにより、テキスト生成用の実験的オープンモデル「DiffusionGemma」がリリースされました。このモデルは、標準的な自己回帰型デコーディングの代わりに、テキスト拡散(text diffusion)を採用しています。本モデルは寛容な Apache 2.0 ライセンスの下で提供されており、Google はこれを、速度が重要な対話型ローカルワークフローを探求する開発者や研究者向けに位置付けています。具体的なユースケースとしては、インライン編集、迅速な反復処理、非線形テキスト構造の生成などが挙げられます。
現在利用されている言語モデルの多くは自己回帰型です。これらは左から右へ、1 トークンずつを逐次生成します。各新しいトークンは、その直前のトークンに依存して決定されます。一方、DiffusionGemma は異なるアプローチを採用しています。これはテキストブロック全体を並列に同時に生成する仕組みです。専用 GPU 上では、これにより最大で 4 倍の高速な生成が可能となります。
DiffusionGemma とは何か
DiffusionGemma は、260 億パラメータを持つエキスパート混合(Mixture of Experts: MoE)モデルです。推論時には、38 億パラメータのみが活性化されます。このモデルは Gemma 4 のバックボーンを基盤としており、具体的には 26B-A4B アーキテクチャを採用しています。Google はこのベース上に拡散ヘッド(diffusion head)を実装しました。
本モデルはマルチモーダルです。テキスト、画像、ビデオの混合入力(interleaved inputs)を処理し、それらからテキスト出力を生成します。コンテキストウィンドウは 256K トークンで、140 以上の言語に対応しています。
量子化されたバージョンでは、このモデルは VRAM 18GB 以内に収まります。これはハイエンドな消費者向け GPU の制限範囲内に収まることを意味します。単一の NVIDIA H100 では、1 秒あたり 1000 トークン以上を生成可能です。また、NVIDIA GeForce RTX 5090 では、1 秒あたり 700 トークン以上の速度を達成します。
Google はトレードオフについて非常に率直に述べています。DiffusionGemma は速度と並列レイアウト生成を優先します。その全体的な出力品質は、標準的な Gemma 4 よりも低くなります。最大限の品質が求められる生産環境では、Google は依然として自己回帰型の Gemma 4 を推奨しています。
テキスト拡散の仕組み
テキスト拡散は、AI 画像生成モデルからその核心となるアイデアを借用しています。これらのモデルは視覚的なノイズ(静的な状態)から始まり、それを反復的に洗練させていきます。DiffusionGemma は同じパターンをテキスト生成に適用します。
このプロセスは概念的に3つの段階で進行します。まず、モデルはランダムなプレースホルダートークンで構成されたキャンバスから開始します。次に、そのキャンパスに対して複数のパス(反復処理)を実行します。高い信頼度を持つトークンを確定させ、それを文脈として利用します。最後に、テキストが最終的な出力へと収束していきます。
Google はこの核心メカニズムを「Uniform State Diffusion」と呼んでいます。高い信頼度を持つトークンは、ノイズ除去(denoising)の際に隣接する位置の解決を助けます。その結果、完全なシーケンスは数回のパスを経て焦点が合うようになります。
実際の実装では、モデルは256トークンのキャンバスを並列でノイズ除去します。1回のフォワードパス(順方向処理)あたり、約15〜20トークンを最終確定します。この並列性がスループット向上の原動力となっています。
モデルはノイズ除去中に双方向アテンション(bidirectional attention)を使用します。キャンバス上のすべてのトークンは、他のすべてのトークンにアクセスできます。これは自己回帰型モデルとの明確な決別です。自己回帰型モデルは過去のトークンのみを後方参照できるためです。
この双方向コンテキストにより、リアルタイムでの自己修正が可能になります。あるトークンの信頼度が低下した場合、サンプラーはそれを再ノイズ化できます。その後、モデルは後続のパスでそのトークンを置き換えます。自己回帰モデルは各トークンを一度だけ確定するため、これを行うことはできません。
アーキテクチャ
ここでの技術的進歩はハードウェアの利用効率にあります。ローカル GPU 推論における主なボトルネックはメモリ帯域幅です。自己回帰モデルは、トークンごとにメモリから重みを繰り返し読み出します。単一ユーザーのサービス提供中、GPU は待機状態に最も多くの時間を費やしています。
DiffusionGemma は、ボトルネックをメモリ帯域幅から計算処理へシフトさせます。256 トークンのキャンバスを並列でドラフト作成し、洗練します。これにより、アイドル状態のテンソルコアに大規模な並列ワークロードを提供します。
モデルは推論中に 2 つのアテンションモードを交互に使用します。プリフィル(Prefill)では因果アテンションを使用してプロンプトを取り込み、KV キャッシュ(Key-Value Cache)を書き込みます。ノイズ除去(Denoising)では双方向アテンションを使用してキャンバスを洗練させます。
より長い出力の場合、DiffusionGemma はブロック自己回帰拡散(Block Autoregressive Diffusion)を使用します。256 トークンのブロックが完全にノイズ除去されると、それは KV キャッシュに確定されます。その後、モデルは過去の履歴を条件として新しいキャンバスを開始します。これにより、並列ブロックの高速性と逐次的な自己回帰の安定性が組み合わされます。
このアーキテクチャは Gemma 4 26B A4B と同じバックボーンを共有しています。開発者が主に実装するのはノイズ除去ステップのみです。これにより、既存のサービス提供フレームワークへの統合がより簡単になります。
明確な例として、Google の開発者ガイドに掲載されている数独(スードー)のデモがあります。自己回帰モデルは、厳格で多変数の制約を持つパズルに対して苦戦します。ベースラインの DiffusionGemma モデルでは、数独パズルの正解率はおよそ 0% です。しかし、単純な JAX の教師あり微調整(supervised fine-tuning)レシピを適用すると、正解率は 80% に向上します。また、微調整済みモデルは推論ステップ数を削減するために早期に停止するようになります。
インタラクティブデモ:DiffusionGemma の並列デコードの仕組み
以下のインタラクティブな可視化ツールでは、DiffusionGemma がテキストをどのようにデコードするかを示し、標準的な自己回帰モデルと比較しています。2 つのモードを切り替えて「実行」ボタンを押してください。「自己回帰(Autoregressive)モード」では、トークンは左から右へ順番に 1 つずつ埋め込まれ、各トークン生成に対して 1 回の順伝播(forward pass)が必要となります。これは現在、多くの大規模言語モデル(LLM)が採用している生成方式です。「拡散(Diffusion)モード」では、モデルはマスクされたプレースホルダートークンで構成されたキャンバスから開始し、各パスで固定順序なしに多数のトークンを並列的に解決します。これにより、はるかに少ないパス数で収束します。
アニメーションには、低信頼度のトークンをリセットして再調整する短い「再ノイズ(re-noise)」ステップも示されています。これは、一度確定したトークンに対して自己回帰デコードでは不可能な、実モデルの自己修正機能の代わりとなるものです。なお、これは概念を示すアニメーションであり、実際のモデル出力ではありません。実際の DiffusionGemma は 256 トークンのキャンバスを処理し、1 回の順伝播あたりおよそ 15〜20 トークンを最終確定します。
#mtp-dg-demo *{box-sizing:border-box!important;margin:0!important;padding:0!important}
#mtp-dg-demo hr,#mtp-dg-demo p:empty,#mtp-dg-demo del,#mtp-dg-demo s{display:none!important}
#mtp-dg-demo{font-family:'Google Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif!important;max-width:820px!important;margin:24px auto!important;background:#ffffff!important;border:1px solid #dadce0!important;border-radius:16px!important;overflow:hidden!important;box-shadow:0 1px 3px rgba(60,64,67,.12),0 4px 16px rgba(60,64,67,.08)!important;color:#202124!important;line-height:1.55!important}
#mtp-dg-demo .dgd-bar{display:flex!important;height:6px!important;width:100%!important}
#mtp-dg-demo .dgd-bar span{flex:1 1 25%!important}
#mtp-dg-demo .dgd-bar .b{background:#4285F4!important}
#mtp-dg-demo .dgd-bar .r{background:#EA4335!important}
#mtp-dg-demo .dgd-bar .y{background:#FBBC04!important}
#mtp-dg-demo .dgd-bar .g{background:#34A853!important}
#mtp-dg-demo .dgd-head{padding:22px 28px 0 28px!important}
#mtp-dg-demo .dgd-badge{display:inline-block!important;font-size:11px!important;font-weight:600!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:#1a73e8!important;background:#e8f0fe!important;border-radius:999px!important;padding:5px 12px!important;margin-bottom:12px!important}
#mtp-dg-demo .dgd-title{font-size:23px!important;font-weight:700!important;letter-spacing:-.01em!important}
#mtp-dg-demo .dgd-note{font-size:12.5px!important;color:#5f6368!important;margin-top:8px!important;background:#f8f9fa!important;border:1px solid #e8eaed!important;border-left:3px solid #FBBC04!important;border-radius:6px!important;padding:8px 12px!important}
#mtp-dg-demo .dgd-modes{display:flex!important;gap:8px!important;padding:18px 28px 6px 28px!important;flex-wrap:wrap!important}
#mtp-dg-demo .dgd-mode{cursor:pointer!important;border:1px solid #dadce0!important;background:#fff!important;color:#3c4043!important;font-family:inherit!important;font-size:13px!important;font-weight:600!important;border-radius:999px!important;padding:8px 16px!important;transition:all .15s!important}
#mtp-dg-demo .dgd-mode.is-active[data-mode="diffusion"]{background:#e6f4ea!important;border-color:#34A853!important;color:#188038!important}
#mtp-dg-demo .dgd-mode.is-active[data-mode="auto"]{background:#fce8e6!important;border-color:#EA4335!important;color:#c5221f!important}
#mtp-dg-demo .dgd-stage{margin:8px 28px!important;padding:18px!important;background:#f8f9fa!important;border:1px solid #e8eaed!important;border-radius:12px!important;min-height:118px!important;display:flex!important;flex-wrap:wrap!important;gap:7px!important;align-content:flex-start!important}
#mtp-dg-demo .dgd-tok{font-size:13.5px!important;font-weight:500!important;border-radius:7px!important;padding:7px 11px!important;background:#e8eaed!important;color:#9aa0a6!important;letter-spacing:.04em!important;transition:background .25s,color .25s,transform .25s!important;border:1px solid transparent!important}
#mtp-dg-demo .dgd-tok.masked{font-family:'SF Mono',Menlo,Consolas,monospace!important}
#mtp-dg-demo .dgd-tok.lit{color:#fff!important;transform:translateY(-1px)!important}
#mtp-dg-demo .dgd-tok.c0{background:#4285F4!important}
#mtp-dg-demo .dgd-tok.c1{background:#EA4335!important}
#mtp-dg-demo .dgd-tok.c2{background:#34A853!important}
#mtp-dg-demo .dgd-tok.c3{background:#F9AB00!important}
#mtp-dg-demo .dgd-tok.fix{background:#fff!important;color:#c5221f!important;border:1px dashed #EA4335!important}
#mtp-dg-demo .dgd-meta{display:flex!important;gap:18px!important;padding:0 28px!important;flex-wrap:wrap!important}
#mtp-dg-demo .dgd-stat{font-size:12.5px!important;color:#5f6368!important}
#mtp-dg-demo .dgd-stat b{color:#202124!important;font-weight:700!important;font-size:15px!important;display:block!important}
#mtp-dg-demo .dgd-ctrl{display:flex!important;align-items:center!important;gap:10px!important;padding:16px 28px 4px 28px!important}
#mtp-dg-demo .dgd-play{cursor:pointer!important;border:none!important;background:#1a73e8!important;color:#fff!important;font-family:inherit!important;font-size:14px!important;font-weight:600!important;border-radius:999px!important;padding:10px 22px!important;transition:background .15s!important}
#mtp-dg-demo .dgd-play:hover{background:#1557b0!important}
#mtp-dg-demo .dgd-reset{cursor:pointer!important;border:1px solid #dadce0!important;background:#fff!important;color:#3c4043!important;font-family:inherit!important;font-size:14px!important;font-weight:600!important;border-radius:999px!important;padding:10px 18px!important}
#mtp-dg-demo .dgd-reset:hover{background:#f1f3f4!important}
#mtp-dg-demo .dgd-status{font-size:12.5px!important;color:#5f6368!important;font-weight:600!important}
#mtp-dg-demo .dgd-foot{background:#f8f9fa!important;border-top:1px solid #e8eaed!important;margin-top:16px!important;padding:14px 28px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;flex-wrap:wrap!important}
#mtp-dg-demo .dgd-foot .brand{font-size:13px!important;font-weight:700!important;color:#202124!important}
#mtp-dg-demo .dgd-foot .brand span{color:#4285F4!important}
#mtp-dg-demo .dgd-foot .tag{font-size:12px!important;color:#5f6368!important}
@media (max-width:640px){
#mtp-dg-demo .dgd-head{padding:18px 18px 0 18px!important}
#mtp-dg-demo .dgd-title{font-size:19px!important}
#mtp-dg-demo .dgd-modes,#mtp-dg-demo .dgd-meta,#mtp-dg-demo .dgd-ctrl{padding-left:18px!important;padding-right:18px!important}
#mtp-dg-demo .dgd-stage{margin:8px 18px!important;padding:14px!important}
#mtp-dg-demo .dgd-foot{padding:13px 18px!important}
}
インタラクティブ・図解
DiffusionGemma の並列デコードを視聴
これはノイズ除去プロセスの概念アニメーションであり、生モデルの出力ではありません。実際のモデルは 256 トークンのキャンバスを解決し、1 フォワードパスあたり約 15〜20 トークンを最終確定します。
Diffusion(並列)
Autoregressive(逐次)
0 フォワードパス
0 / 16 トークン解決済み
DiffusionDecoding モード
▶実行
リセット
実行ボタンを押して開始してください。
Marktechpost
ビルダー向けに解読された、実践者ファーストの AI/ML カバレッジ — デープダイブ、モデルリリース、および研究。
(function(){
var root=document.getElementById('mtp-dg-demo');
if(!root)return;
var TARGET=["DiffusionGemma","generates","entire","blocks","of","text","in","parallel","instead","of","one","token","at","a","time",""];
var N=TARGET.length;
var stage=root.querySelector('#dgd-stage');
var stepEl=root.querySelector('#dgd-step');
var doneEl=root.querySelector('#dgd-done');
var modeLbl=root.querySelector('#dgd-mode-lbl');
var statusEl=root.querySelector('#dgd-status');
var playBtn=root.querySelector('#dgd-play');
var resetBtn=root.querySelector('#dgd-reset');
var modeBtns=root.querySelectorAll('.dgd-mode');
var mode='diffusion',resolved=[],timer=null,step=0,running=false,fixDone=false;
必ず JSON 形式で返してください。translation フィールドのみ。他のフィールド (technical_terms 等) は一切追加しないこと — 余計なフィールドを書こうとして本文翻訳がトークン上限で打ち切られる事故を防ぐため:
{"translation": "翻訳全文"}
function build(){
stage.innerHTML='';resolved=[];
for(var i=0;i=6 && d0;j++){
var idx=Math.floor(Math.random()*rem.length);
resolved[rem[idx]]=true;rem.splice(idx,1);
}
paint();
statusEl.textContent='Denoising '+k+' tokens this pass, in parallel.';
}
function autoStep(){
step++;
for(var i=0;i
使用例
DiffusionGemma は、汎用的な生産品質ではなく、特定のワークロードを対象としています。Google とエコシステムパートナーは、いくつかの実践的な応用を強調しています:
インライン編集とコードの埋め込み: 双方向アテンションは非線形テキスト構造にうまく適合します。
迅速な反復: ローカルレイテンシが低いため、対話型のシングルユーザー開発ループをサポートします。
長文コンテキストドキュメント分析: 256K のウィンドウにより、大規模な入力処理が可能になります。
OCR およびドキュメント解析: マルチモーダル入力で画像やスキャンされたドキュメントを扱えます。
コード生成、ツール呼び出し、エージェントワークフロー: Unsloth はこれらをサポートタスクとしてリストしています。
制約付き生成: スウード数、数学的グラフ、アミノ酸配列は、並列アテンションの恩恵を受けます。
これらのすべてに共通する一つの注意点があります。この高速化は、ローカルでの低同時実行推論を目的としています。高 QPS(1 秒間のクエリ数)のクラウドサービスでは、自己回帰モデルが計算資源を効率的に飽和させます。そのような環境では、並列デコーディングの恩恵は次第に減少し、むしろサービスコストを上昇させる可能性があります。
imagehttps://blog.google/innovation-and-ai/technology/developers-tools/diffusion-gemma-faster-text-generation/
DiffusionGemma と標準的な Gemma 4 の比較
属性 | DiffusionGemma (26B-A4B) | 標準 Gemma 4 (26B A4B)
---|---|---
生成方法 | 離散テキスト拡散(並列) | オートレジレスive(トークン単位逐次)
デコードのボトルネック | 計算集約型 | メモリ帯域幅制約型
並列処理単位 | 1 回のパスあたり 256 トークンのキャンバス | 1 ステップあたり 1 トークン
デコード時のアテンション | 双方向 | 因果的(後方のみ)
自己修正機能 | はい、再ノイズ化を通じて | いいえ、トークンは一度確定すると変更不可
専用 GPU での速度 | 最大 4 倍高速 | ベースライン
H100 スループット | 1000+ トークン/秒 | 低い(ベースライン)
RTX 5090 スループット | 700+ トークン/秒 | 低い(ベースライン)
出力品質 | Gemma 4 より劣る | 高い;本番環境向け推奨
最適な用途 | ローカル、低同時接続、対話型 | 高品質かつ高 QPS のクラウドサービス
ライセンス | Apache 2.0 | Gemma 利用規約
主要ポイント
DiffusionGemma は、トークン単位ではなく並列拡散によってテキストを生成する、26B モデル(3.8B アクティブ)のオープンモデルです。
専用 GPU では最大 4 倍高速に動作し、H100 で 1000+ トークン/秒、RTX 5090 で 700+ トークン/秒を達成します。
256 トークンのキャンバス全体で双方向アテンションを使用するため、オートレジレスive モデルとは異なりリアルタイムの自己修正が可能です。
量子化すれば VRAM 18GB に収まり、vLLM、Transformers、MLX、Unsloth でゼロデイサポートを提供します。
ただし実験段階であり、標準的な Gemma 4 よりも品質は劣ります。Google は本番環境には Gemma 4 を推奨しています。
Marktechpost のビジュアル解説
必ず JSON 形式で返してください。translation フィールドのみ。他のフィールド (technical_terms 等) は一切追加しないこと — 余計なフィールドを書こうとして本文翻訳がトークン上限で打ち切られる事故を防ぐため:
{"translation": "翻訳全文"}
#mtp-dg-slider *{box-sizing:border-box!important;margin:0!important;padding:0!important}
#mtp-dg-slider hr,#mtp-dg-slider p:empty,#mtp-dg-slider del,#mtp-dg-slider s{display:none!important}
#mtp-dg-slider{font-family:'Google Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif!important;max-width:820px!important;margin:24px auto!important;background:#ffffff!important;border:1px solid #dadce0!important;border-radius:16px!important;overflow:hidden!important;box-shadow:0 1px 3px rgba(60,64,67,.12),0 4px 16px rgba(60,64,67,.08)!important;color:#202124!important;line-height:1.55!important}
#mtp-dg-slider .mtpdg-bar{display:flex!important;height:6px!important;width:100%!important}
#mtp-dg-slider .mtpdg-bar span{flex:1 1 25%!important;height:6px!important}
#mtp-dg-slider .mtpdg-bar .b{background:#4285F4!important}
#mtp-dg-slider .mtpdg-bar .r{background:#EA4335!important}
#mtp-dg-slider .mtpdg-bar .y{background:#FBBC04!important}
#mtp-dg-slider .mtpdg-bar .g{background:#34A853!important}
#mtp-dg-slider .mtpdg-head{padding:22px 28px 6px 28px!important}
#mtp-dg-slider .mtpdg-badge{display:inline-block!important;font-size:11px!important;font-weight:600!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:#1a73e8!important;background:#e8f0fe!important;border-radius:999px!important;padding:5px 12px!important;margin-bottom:12px!important}
#mtp-dg-slider .mtpdg-title{font-size:24px!important;font-weight:700!important;color:#202124!important;letter-spacing:-.01em!important}
#mtp-dg-slider .mtpdg-sub{font-size:13.5px!important;color:#5f6368!important;margin-top:6px!important}
#mtp-dg-slider .mtpdg-viewport{overflow:hidden!important;padding:8px 0 0 0!important}
#mtp-dg-slider .mtpdg-track{display:flex!important;transition:transform .42s cubic-bezier(.4,0,.2,1)!important;will-change:transform!important}
#mtp-dg-slider .mtpdg-slide{min-width:100%!important;padding:18px 28px 26px 28px!important}
#mtp-dg-slider .mtpdg-snum{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:30px!important;height:30px!important;border-radius:8px!important;font-size:13px!important;font-weight:700!important;color:#fff!important;margin-bottom:14px!important}
#mtp-dg-slider .acc-blue .mtpdg-snum{background:#4285F4!important}
#mtp-dg-slider .acc-red .mtpdg-snum{background:#EA4335!important}
#mtp-dg-slider .acc-yellow .mtpdg-snum{background:#F9AB00!important}
#mtp-dg-slider .acc-green .mtpdg-snum{background:#34A853!important}
#mtp-dg-slider .acc-blue{border-left:none!important}
#mtp-dg-slider .mtpdg-h{font-size:18.5px!important;font-weight:700!important;color:#202124!important;margin-bottom:4px!important}
#mtp-dg-slider .acc-blue .mtpdg-h{color:#1967d2!important}
#mtp-dg-slider .acc-red .mtpdg-h{color:#c5221f!important}
#mtp-dg-slider .acc-yellow .mtpdg-h{color:#b06000!important}
#mtp-dg-slider .acc-green .mtpdg-h{color:#188038!important}
#mtp-dg-slider .mtpdg-lead{font-size:14px!important;color:#3c4043!important;margin-bottom:14px!important}
#mtp-dg-slider .mtpdg-list{list-style:none!important;margin:0!important;padding:0!important}
#mtp-dg-slider .mtpdg-list li{position:relative!important;font-size:14px!important;color:#3c4043!important;padding:7px 0 7px 24px!important;border-bottom:1px solid #f1f3f4!important}
#mtp-dg-slider .mtpdg-list li:last-child{border-bottom:none!important}
#mtp-dg-slider .mtpdg-list li:before{content:""!important;position:absolute!important;left:2px!important;top:13px!important;width:8px!important;height:8px!important;border-radius:50%!important}
#mtp-dg-slider .acc-blue .mtpdg-list li:before{background:#4285F4!important}
#mtp-dg-slider .acc-red .mtpdg-list li:before{background:#EA4335!important}
#mtp-dg-slider .acc-yellow .mtpdg-list li:before{background:#F9AB00!important}
#mtp-dg-slider .acc-green .mtpdg-list li:before{background:#34A853!important}
#mtp-dg-slider .mtpdg-list li b{color:#202124!important;font-weight:600!important}
#mtp-dg-slider .mtpdg-steps{display:flex!important;flex-direction:column!important;gap:10px!important}
#mtp-dg-slider .mtpdg-step{display:flex!important;align-items:flex-start!important;gap:12px!important;background:#f8f9fa!important;border:1px solid #e8eaed!important;border-radius:10px!important;padding:12px 14px!important}
#mtp-dg-slider .mtpdg-step .n{flex:0 0 auto!important;width:24px!important;height:24px!important;border-radius:50%!important;background:#4285F4!important;color:#fff!important;font-size:12px!important;font-weight:700!important;display:flex!important;align-items:center!important;justify-content:center!important}
#mtp-dg-slider .mtpdg-step:nth-child(2) .n{background:#EA4335!important}
#mtp-dg-slider .mtpdg-step:nth-child(3) .n{background:#34A853!important}
#mtp-dg-slider .mtpdg-step .t{font-size:13.5p
原文を表示
Google AI team including the Google DeepMind researchers have just released DiffusionGemma, an experimental open model for text generation. It uses text diffusion instead of standard autoregressive decoding. The model ships under a permissive Apache 2.0 license. Google positions it for devs and researchers exploring speed-critical, interactive local workflows. Examples include in-line editing, rapid iteration, and generating non-linear text structures.
Most language models in use today are autoregressive. They generate one token at a time, left to right. Each new token depends on the token before it. DiffusionGemma works differently. It generates entire blocks of text simultaneously, in parallel. On dedicated GPUs, this delivers up to 4x faster generation.
What is DiffusionGemma
DiffusionGemma is a 26B Mixture of Experts (MoE) model. It activates only 3.8B parameters during inference. It is built on the Gemma 4 backbone, specifically the 26B-A4B architecture. Google integrated a diffusion head onto that base.
The model is multimodal. It processes interleaved text, image, and video inputs. It generates text outputs from those inputs. The context window is 256K tokens, and it supports 140+ languages.
Quantized, the model fits within 18GB of VRAM. That places it inside high-end consumer GPU limits. On a single NVIDIA H100, it reaches 1000+ tokens per second. On an NVIDIA GeForce RTX 5090, it reaches 700+ tokens per second.
Google is very direct about the trade-off. DiffusionGemma prioritizes speed and parallel layout generation. Its overall output quality is lower than standard Gemma 4. For maximum quality production work, Google still recommends autoregressive Gemma 4.
How Text Diffusion Works
Text diffusion borrows its core idea from AI image generators. Those models start with visual static and refine it iteratively. DiffusionGemma applies the same pattern to text generation.
The process runs in three conceptual stages. First, the model starts with a canvas of random placeholder tokens. Second, it makes multiple passes over that canvas. It locks in high-confidence tokens and uses them as context. Third, the text converges into the final output.
Google calls the core mechanism Uniform State Diffusion. Highly confident tokens help resolve adjacent positions during denoising. The full sequence then snaps into focus over several passes.
In practice, the model denoises a 256-token canvas in parallel. It finalizes roughly 15-20 tokens per forward pass. That parallelism is what drives the throughput gains.
The model uses bidirectional attention during denoising. Every token on the canvas can attend to every other token. This is a sharp break from autoregressive models. Those models can only look backward at prior tokens.
That bidirectional context enables real-time self-correction. If a token’s confidence drops, the sampler can re-noise it. The model then replaces that token on a later pass. Autoregressive models cannot do this, since they commit each token once.
The Architecture
The technical advancement here is hardware utilization. For local GPU inference, the main bottleneck is memory bandwidth. Autoregressive models repeatedly load weights from memory per token. During single-user serving, the GPU spends most time waiting.
DiffusionGemma shifts the bottleneck from memory bandwidth to compute. It drafts and refines a 256-token canvas in parallel. This gives idle tensor cores a large parallel workload.
The model alternates two attention modes during inference. Prefill uses causal attention to ingest the prompt and write the KV cache. Denoising uses bidirectional attention to refine the canvas.
For longer outputs, DiffusionGemma uses Block Autoregressive Diffusion. Once a 256-token block is fully denoised, it commits to the KV cache. The model then starts a fresh canvas conditioned on prior history. This pairs parallel block speed with sequential autoregressive stability.
The architecture shares the same backbone as Gemma 4 26B A4B. Developers mainly need to implement a denoising step. That makes integration into existing serving frameworks simpler.
A clear example is the Sudoku showcase from Google’s developer guide. Autoregressive models struggle with strict, multivariable constrained puzzles. The base DiffusionGemma model solves roughly 0% of Sudoku puzzles. After a simple JAX supervised fine-tuning recipe, correctness rises to 80%. The fine-tuned model also stops earlier, cutting inference steps.
Interactive Demo: How DiffusionGemma Decodes in Parallel
The interactive visualizer below illustrates how DiffusionGemma decodes text, contrasted with a standard autoregressive model. Toggle between the two modes and press Run. In Autoregressive mode, tokens fill in one at a time, strictly left to right, taking one forward pass per token — the way most LLMs generate today. In Diffusion mode, the model starts from a canvas of masked placeholder tokens and resolves many of them in parallel each pass, in no fixed order, converging in far fewer passes. The animation also shows a brief re-noise step, where a low-confidence token is reset and refined again — a stand-in for the real model’s self-correction, which autoregressive decoding cannot do once a token is committed. Note this is a conceptual animation, not live model output: the real DiffusionGemma resolves a 256-token canvas and finalizes roughly 15–20 tokens per forward pass.
#mtp-dg-demo *{box-sizing:border-box!important;margin:0!important;padding:0!important}
#mtp-dg-demo hr,#mtp-dg-demo p:empty,#mtp-dg-demo del,#mtp-dg-demo s{display:none!important}
#mtp-dg-demo{font-family:'Google Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif!important;max-width:820px!important;margin:24px auto!important;background:#ffffff!important;border:1px solid #dadce0!important;border-radius:16px!important;overflow:hidden!important;box-shadow:0 1px 3px rgba(60,64,67,.12),0 4px 16px rgba(60,64,67,.08)!important;color:#202124!important;line-height:1.55!important}
#mtp-dg-demo .dgd-bar{display:flex!important;height:6px!important;width:100%!important}
#mtp-dg-demo .dgd-bar span{flex:1 1 25%!important}
#mtp-dg-demo .dgd-bar .b{background:#4285F4!important}
#mtp-dg-demo .dgd-bar .r{background:#EA4335!important}
#mtp-dg-demo .dgd-bar .y{background:#FBBC04!important}
#mtp-dg-demo .dgd-bar .g{background:#34A853!important}
#mtp-dg-demo .dgd-head{padding:22px 28px 0 28px!important}
#mtp-dg-demo .dgd-badge{display:inline-block!important;font-size:11px!important;font-weight:600!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:#1a73e8!important;background:#e8f0fe!important;border-radius:999px!important;padding:5px 12px!important;margin-bottom:12px!important}
#mtp-dg-demo .dgd-title{font-size:23px!important;font-weight:700!important;letter-spacing:-.01em!important}
#mtp-dg-demo .dgd-note{font-size:12.5px!important;color:#5f6368!important;margin-top:8px!important;background:#f8f9fa!important;border:1px solid #e8eaed!important;border-left:3px solid #FBBC04!important;border-radius:6px!important;padding:8px 12px!important}
#mtp-dg-demo .dgd-modes{display:flex!important;gap:8px!important;padding:18px 28px 6px 28px!important;flex-wrap:wrap!important}
#mtp-dg-demo .dgd-mode{cursor:pointer!important;border:1px solid #dadce0!important;background:#fff!important;color:#3c4043!important;font-family:inherit!important;font-size:13px!important;font-weight:600!important;border-radius:999px!important;padding:8px 16px!important;transition:all .15s!important}
#mtp-dg-demo .dgd-mode.is-active[data-mode="diffusion"]{background:#e6f4ea!important;border-color:#34A853!important;color:#188038!important}
#mtp-dg-demo .dgd-mode.is-active[data-mode="auto"]{background:#fce8e6!important;border-color:#EA4335!important;color:#c5221f!important}
#mtp-dg-demo .dgd-stage{margin:8px 28px!important;padding:18px!important;background:#f8f9fa!important;border:1px solid #e8eaed!important;border-radius:12px!important;min-height:118px!important;display:flex!important;flex-wrap:wrap!important;gap:7px!important;align-content:flex-start!important}
#mtp-dg-demo .dgd-tok{font-size:13.5px!important;font-weight:500!important;border-radius:7px!important;padding:7px 11px!important;background:#e8eaed!important;color:#9aa0a6!important;letter-spacing:.04em!important;transition:background .25s,color .25s,transform .25s!important;border:1px solid transparent!important}
#mtp-dg-demo .dgd-tok.masked{font-family:'SF Mono',Menlo,Consolas,monospace!important}
#mtp-dg-demo .dgd-tok.lit{color:#fff!important;transform:translateY(-1px)!important}
#mtp-dg-demo .dgd-tok.c0{background:#4285F4!important}
#mtp-dg-demo .dgd-tok.c1{background:#EA4335!important}
#mtp-dg-demo .dgd-tok.c2{background:#34A853!important}
#mtp-dg-demo .dgd-tok.c3{background:#F9AB00!important}
#mtp-dg-demo .dgd-tok.fix{background:#fff!important;color:#c5221f!important;border:1px dashed #EA4335!important}
#mtp-dg-demo .dgd-meta{display:flex!important;gap:18px!important;padding:0 28px!important;flex-wrap:wrap!important}
#mtp-dg-demo .dgd-stat{font-size:12.5px!important;color:#5f6368!important}
#mtp-dg-demo .dgd-stat b{color:#202124!important;font-weight:700!important;font-size:15px!important;display:block!important}
#mtp-dg-demo .dgd-ctrl{display:flex!important;align-items:center!important;gap:10px!important;padding:16px 28px 4px 28px!important}
#mtp-dg-demo .dgd-play{cursor:pointer!important;border:none!important;background:#1a73e8!important;color:#fff!important;font-family:inherit!important;font-size:14px!important;font-weight:600!important;border-radius:999px!important;padding:10px 22px!important;transition:background .15s!important}
#mtp-dg-demo .dgd-play:hover{background:#1557b0!important}
#mtp-dg-demo .dgd-reset{cursor:pointer!important;border:1px solid #dadce0!important;background:#fff!important;color:#3c4043!important;font-family:inherit!important;font-size:14px!important;font-weight:600!important;border-radius:999px!important;padding:10px 18px!important}
#mtp-dg-demo .dgd-reset:hover{background:#f1f3f4!important}
#mtp-dg-demo .dgd-status{font-size:12.5px!important;color:#5f6368!important;font-weight:600!important}
#mtp-dg-demo .dgd-foot{background:#f8f9fa!important;border-top:1px solid #e8eaed!important;margin-top:16px!important;padding:14px 28px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;flex-wrap:wrap!important}
#mtp-dg-demo .dgd-foot .brand{font-size:13px!important;font-weight:700!important;color:#202124!important}
#mtp-dg-demo .dgd-foot .brand span{color:#4285F4!important}
#mtp-dg-demo .dgd-foot .tag{font-size:12px!important;color:#5f6368!important}
@media (max-width:640px){
#mtp-dg-demo .dgd-head{padding:18px 18px 0 18px!important}
#mtp-dg-demo .dgd-title{font-size:19px!important}
#mtp-dg-demo .dgd-modes,#mtp-dg-demo .dgd-meta,#mtp-dg-demo .dgd-ctrl{padding-left:18px!important;padding-right:18px!important}
#mtp-dg-demo .dgd-stage{margin:8px 18px!important;padding:14px!important}
#mtp-dg-demo .dgd-foot{padding:13px 18px!important}
}
Interactive · Illustrative
Watch DiffusionGemma Decode in Parallel
This is a conceptual animation of the denoising process — not live model output. The real model resolves a 256-token canvas, finalizing ~15–20 tokens per forward pass.
Diffusion (parallel)
Autoregressive (sequential)
0Forward passes
0 / 16Tokens resolved
DiffusionDecoding mode
▶ Run
Reset
Press Run to start.
Marktechpost
Practitioner-first AI/ML coverage — deep dives, model releases, and research, decoded for builders.
(function(){
var root=document.getElementById('mtp-dg-demo');
if(!root)return;
var TARGET=["DiffusionGemma","generates","entire","blocks","of","text","in","parallel","instead","of","one","token","at","a","time","."];
var N=TARGET.length;
var stage=root.querySelector('#dgd-stage');
var stepEl=root.querySelector('#dgd-step');
var doneEl=root.querySelector('#dgd-done');
var modeLbl=root.querySelector('#dgd-mode-lbl');
var statusEl=root.querySelector('#dgd-status');
var playBtn=root.querySelector('#dgd-play');
var resetBtn=root.querySelector('#dgd-reset');
var modeBtns=root.querySelectorAll('.dgd-mode');
var mode='diffusion',resolved=[],timer=null,step=0,running=false,fixDone=false;
function build(){
stage.innerHTML='';resolved=[];
for(var i=0;i=6 && d0;j++){
var idx=Math.floor(Math.random()*rem.length);
resolved[rem[idx]]=true;rem.splice(idx,1);
}
paint();
statusEl.textContent='Denoising '+k+' tokens this pass, in parallel.';
}
function autoStep(){
step++;
for(var i=0;i
Use Cases
DiffusionGemma targets specific workloads, not general production quality. Google and ecosystem partners highlight several practical applications:
In-line editing and code infilling: Bidirectional attention suits non-linear text structures well.
Rapid iteration: Low local latency supports interactive, single-user developer loops.
Long-context document analysis: The 256K window supports large input processing.
OCR and document parsing: Multimodal input handles images and scanned documents.
Code generation, tool calling, and agentic workflows: Unsloth lists these as supported tasks.
Constrained generation: Sudoku, mathematical graphs, and amino acid sequences benefit from parallel attention.
One caveat shapes all of these. The speedup is designed for local, low-concurrency inference. In high-QPS cloud serving, autoregressive models saturate compute efficiently. There, parallel decoding offers diminishing returns and can raise serving costs.
imagehttps://blog.google/innovation-and-ai/technology/developers-tools/diffusion-gemma-faster-text-generation/
DiffusionGemma vs Standard Gemma 4
AttributeDiffusionGemma (26B-A4B)Standard Gemma 4 (26B A4B)
Generation methodDiscrete text diffusion (parallel)Autoregressive (token-by-token)
Decode bottleneckCompute-boundMemory-bandwidth-bound
Parallel unit256-token canvas per passOne token per step
Attention during decodeBidirectionalCausal (backward only)
Self-correctionYes, via re-noisingNo, tokens are committed once
Speed on dedicated GPUUp to 4x fasterBaseline
H100 throughput1000+ tokens/secLower (baseline)
RTX 5090 throughput700+ tokens/secLower (baseline)
Output qualityLower than Gemma 4Higher; recommended for production
Best fitLocal, low-concurrency, interactiveHigh-quality and high-QPS cloud serving
LicenseApache 2.0Gemma terms
Key Takeaways
DiffusionGemma is a 26B MoE open model (3.8B active) that generates text via parallel diffusion, not token-by-token.
It runs up to 4x faster on dedicated GPUs: 1000+ tokens/sec on H100, 700+ on RTX 5090.
Bidirectional attention over a 256-token canvas enables real-time self-correction, unlike autoregressive models.
Quantized, it fits in 18GB VRAM with day-zero support in vLLM, Transformers, MLX, and Unsloth.
It's experimental and lower-quality than standard Gemma 4; Google recommends Gemma 4 for production.
Marktechpost’s Visual Explainer
#mtp-dg-slider *{box-sizing:border-box!important;margin:0!important;padding:0!important}
#mtp-dg-slider hr,#mtp-dg-slider p:empty,#mtp-dg-slider del,#mtp-dg-slider s{display:none!important}
#mtp-dg-slider{font-family:'Google Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif!important;max-width:820px!important;margin:24px auto!important;background:#ffffff!important;border:1px solid #dadce0!important;border-radius:16px!important;overflow:hidden!important;box-shadow:0 1px 3px rgba(60,64,67,.12),0 4px 16px rgba(60,64,67,.08)!important;color:#202124!important;line-height:1.55!important}
#mtp-dg-slider .mtpdg-bar{display:flex!important;height:6px!important;width:100%!important}
#mtp-dg-slider .mtpdg-bar span{flex:1 1 25%!important;height:6px!important}
#mtp-dg-slider .mtpdg-bar .b{background:#4285F4!important}
#mtp-dg-slider .mtpdg-bar .r{background:#EA4335!important}
#mtp-dg-slider .mtpdg-bar .y{background:#FBBC04!important}
#mtp-dg-slider .mtpdg-bar .g{background:#34A853!important}
#mtp-dg-slider .mtpdg-head{padding:22px 28px 6px 28px!important}
#mtp-dg-slider .mtpdg-badge{display:inline-block!important;font-size:11px!important;font-weight:600!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:#1a73e8!important;background:#e8f0fe!important;border-radius:999px!important;padding:5px 12px!important;margin-bottom:12px!important}
#mtp-dg-slider .mtpdg-title{font-size:24px!important;font-weight:700!important;color:#202124!important;letter-spacing:-.01em!important}
#mtp-dg-slider .mtpdg-sub{font-size:13.5px!important;color:#5f6368!important;margin-top:6px!important}
#mtp-dg-slider .mtpdg-viewport{overflow:hidden!important;padding:8px 0 0 0!important}
#mtp-dg-slider .mtpdg-track{display:flex!important;transition:transform .42s cubic-bezier(.4,0,.2,1)!important;will-change:transform!important}
#mtp-dg-slider .mtpdg-slide{min-width:100%!important;padding:18px 28px 26px 28px!important}
#mtp-dg-slider .mtpdg-snum{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:30px!important;height:30px!important;border-radius:8px!important;font-size:13px!important;font-weight:700!important;color:#fff!important;margin-bottom:14px!important}
#mtp-dg-slider .acc-blue .mtpdg-snum{background:#4285F4!important}
#mtp-dg-slider .acc-red .mtpdg-snum{background:#EA4335!important}
#mtp-dg-slider .acc-yellow .mtpdg-snum{background:#F9AB00!important}
#mtp-dg-slider .acc-green .mtpdg-snum{background:#34A853!important}
#mtp-dg-slider .acc-blue{border-left:none!important}
#mtp-dg-slider .mtpdg-h{font-size:18.5px!important;font-weight:700!important;color:#202124!important;margin-bottom:4px!important}
#mtp-dg-slider .acc-blue .mtpdg-h{color:#1967d2!important}
#mtp-dg-slider .acc-red .mtpdg-h{color:#c5221f!important}
#mtp-dg-slider .acc-yellow .mtpdg-h{color:#b06000!important}
#mtp-dg-slider .acc-green .mtpdg-h{color:#188038!important}
#mtp-dg-slider .mtpdg-lead{font-size:14px!important;color:#3c4043!important;margin-bottom:14px!important}
#mtp-dg-slider .mtpdg-list{list-style:none!important;margin:0!important;padding:0!important}
#mtp-dg-slider .mtpdg-list li{position:relative!important;font-size:14px!important;color:#3c4043!important;padding:7px 0 7px 24px!important;border-bottom:1px solid #f1f3f4!important}
#mtp-dg-slider .mtpdg-list li:last-child{border-bottom:none!important}
#mtp-dg-slider .mtpdg-list li:before{content:""!important;position:absolute!important;left:2px!important;top:13px!important;width:8px!important;height:8px!important;border-radius:50%!important}
#mtp-dg-slider .acc-blue .mtpdg-list li:before{background:#4285F4!important}
#mtp-dg-slider .acc-red .mtpdg-list li:before{background:#EA4335!important}
#mtp-dg-slider .acc-yellow .mtpdg-list li:before{background:#F9AB00!important}
#mtp-dg-slider .acc-green .mtpdg-list li:before{background:#34A853!important}
#mtp-dg-slider .mtpdg-list li b{color:#202124!important;font-weight:600!important}
#mtp-dg-slider .mtpdg-steps{display:flex!important;flex-direction:column!important;gap:10px!important}
#mtp-dg-slider .mtpdg-step{display:flex!important;align-items:flex-start!important;gap:12px!important;background:#f8f9fa!important;border:1px solid #e8eaed!important;border-radius:10px!important;padding:12px 14px!important}
#mtp-dg-slider .mtpdg-step .n{flex:0 0 auto!important;width:24px!important;height:24px!important;border-radius:50%!important;background:#4285F4!important;color:#fff!important;font-size:12px!important;font-weight:700!important;display:flex!important;align-items:center!important;justify-content:center!important}
#mtp-dg-slider .mtpdg-step:nth-child(2) .n{background:#EA4335!important}
#mtp-dg-slider .mtpdg-step:nth-child(3) .n{background:#34A853!important}
#mtp-dg-slider .mtpdg-step .t{font-size:13.5p
関連記事
Google DeepMind、ローカルAIを4倍高速化する拡散モデル「DiffusionGemma」を公開
Google DeepMindは、従来の逐次生成ではなくテキストブロックを並列生成する新モデル「DiffusionGemma」を発表し、Nvidia DGXやゲーミングGPUなどのローカル環境で処理速度を4倍に向上させたと発表した。
DiffusionGemma:テキスト生成が4倍高速化
Google DeepMind は、新しい手法「DiffusionGemma」を発表し、テキスト生成の速度を従来の4倍に向上させることに成功しました。
開発者向け高スループットテキスト生成のために NVIDIA で DiffusionGemma を実行する
NVIDIA は、開発者が NVIDIA のプラットフォーム上で DiffusionGemma モデルを実行し、高速なテキスト生成を実現する方法を公開した。
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み