文章がノイズから結晶化する。拡散LLM「DiffusionGemma」を動かしてみた
普通のLLMは、文章を左から順番に書いていきます。
「むかしむかし、あるところに……」と、次の単語を予測して、また次の単語を予測して、前から後ろへ進んでいく。
ところが、DiffusionGemma は少し違います。
最初に、文章全体のキャンバスがぐちゃぐちゃの状態で現れます。そこから何度もノイズを取り除いて、文章らしい形に近づけていきます。
画像生成AIで、ぼんやりした絵がだんだん鮮明になっていくのに近いです。それを文章でやっている。
実際に動かしてみると、かなり不思議な見え方をしました。
まず、これを見てほしい
「宇宙を旅する一匹の猫の短い物語を書いて」と頼んだときの生成途中です。

最初は、文章とは言いにくいものが出てきます。
`銀の銀、、、、のののののののののの...`
まだ意味はありません。けれど、ステップを重ねると、ところどころに単語が浮かびます。
`銀色の船体`、`黒猫`、`ルナ`。
さらに進むと、文の骨格が決まってきます。
`銀色の船体の中に、一匹の黒猫の「ルナ」が座っていました。`
そして最後には、物語として読める形になります。
宝石を散りばめたような星々が、まるで獲物を誘惑する光の粒のように輝いていました。
左から一文字ずつ書いている感じではありません。
最初に文章全体の輪郭があって、それが少しずつピントを合わせていく。まさに「ノイズから文章が結晶化する」ような動きです。
DiffusionGemma とは何か
DiffusionGemma は、Google DeepMind のブロック拡散言語モデルです。
今回試したのは `diffusiongemma-26B-A4B-it` の GGUF 版です。総パラメータは 26B ですが、MoE なので実際に動く部分はその一部です。
普通のチャットAIでよく使われる自己回帰型モデルは、次のトークンを1つずつ予測します。
一方、DiffusionGemma は一定サイズのブロックを持ち、そのブロック全体を何度も更新しながら文章を作ります。
ざっくり言うと、こんな違いです。
| 種類 | 生成のしかた |
|---|---|
| 普通のLLM | 左から右へ、次のトークンを1つずつ出す |
| 拡散LLM | 文章ブロック全体を何度も修正して完成させる |
この違いが、GIFのような「全体がだんだん整う」見え方につながっています。
動かすのはまだ少し大変
ここが大事なのですが、2026年6月14日時点の自分の環境では、DiffusionGemma は普通の Ollama や Lemonade では動きませんでした。
理由は、一般的な `llama-server` がまだこの拡散アーキテクチャに対応していないためです。
今回は `llama.cpp` の DiffusionGemma 対応ブランチを自分でビルドして、専用の `llama-diffusion-gemma-visual-server` を使いました。
環境は次の通りです。
| 項目 | 内容 |
|---|---|
| GPU | Radeon RX 9060 XT 16GB |
| OS | Windows 11 |
| バックエンド | Vulkan |
| 実行系 | llama.cpp の DiffusionGemma 対応ブランチ |
| モデル | Q4_K_M / IQ4_XS |
OpenAI互換APIで気軽に叩ける段階ではありません。stdin/stdout の独自プロトコルを Python で包んで、モデルを常駐させる形にしました。
面白かったところ
一番面白いのは、生成途中が見えることです。
普通のLLMでも、ストリーミング表示で文章が少しずつ伸びていく様子は見られます。
でもそれは、あくまで「左から書いている途中」です。
DiffusionGemma の場合は、文章全体が未完成の状態で存在していて、それが何度も書き換わります。
人間が文章を書くときも、最初から完璧な一文を左から右に吐き出すわけではありません。頭の中にぼんやりした全体像があって、それを直しながら形にしていくことがあります。
DiffusionGemma の生成過程は、その感覚に少し近く見えました。
もちろん、モデルの中身が人間と同じという意味ではありません。ただ、出力の見え方としては、自己回帰型とはかなり違います。
速度はどうだったか
16GB の AMD GPU でも動きました。
ただし、何も考えずに動かすと速くはありません。VRAM の使い方がかなり重要でした。
最初の安定設定では、1ステップあたり約1100ms。そこから小さい量子化モデルを使い、GPUに載せる層数を増やすことで、最終的に約632ms/stepまで短縮できました。
このチューニング部分は長くなるので、別記事に分けます。
結論だけ書くと、拡散LLMでは「GPU使用率が高いから速い」とは限りませんでした。VRAMから溢れていると、GPUは忙しそうに見えても逆に遅くなります。
まとめ
DiffusionGemma は、普段のLLMとは生成の見え方がかなり違います。
左から文章が伸びるのではなく、ノイズのような文章全体が、少しずつ意味のある形に整っていく。
その途中経過を眺めるだけでも、かなり面白いモデルでした。
まだ実行環境はこなれていません。Ollama や Lemonade で普通に動く段階ではなく、自前ビルドや専用クライアントが必要です。
それでも、16GB のコンシューマー向け AMD GPU で 26B クラスの拡散LLMが動いたのは収穫でした。
次の記事では、Radeon 16GB 環境でどこまで速くできたか、VRAMとNGLを詰めたチューニング結果を書きます。
推奨タグ: #ローカルLLM #DiffusionGemma #生成AI #AMD #Radeon
