本記事は Mac でローカル画像生成 10モデル比較したら、最強候補が裏返った のスピンオフ。各モデル単独レビューの v3。

TL;DR

  • SDXL Turbo は Stability AI が公開した 1-step 蒸留版 SDXL、Adversarial Diffusion Distillation (ADD) で 30-step を 1-step に圧縮
  • Mac M1 Max 64GB / Apple MPS で 1枚 約1秒(初回ロード後)、本記事の10系統で最速
  • 画質は 意図的にぼやけている。high-frequency ディテール(毛並み・テキスト・指)が一様にソフト
  • ライセンスは Stability AI Non-Commercial、商用 NG
  • 採用方針: サムネ大量生成・プロトタイピング・オンデバイス用途のみ。最終成果物には弱い
  • Qwen-Image Lightning (8-step LoRA) との比較で「蒸留の本気度」の違いが見える

なぜこのモデルを試したか

「速度の限界」をベンチマーク役として確認するため。蒸留版の極致として:

  • 1-step = 50-step Qwen Full の 3000倍速、4-step Flux schnell の 4倍速
  • オンデバイス・リアルタイム生成を可能にする設計
  • ADD(Adversarial Diffusion Distillation)の論文発表時、SD コミュニティで話題になった

期待していた:

  • リアルタイム生成: ライブ配信中にプロンプト即反映、UI モック生成、ゲーム素材即生成
  • 「速度を取って品質を捨てた SDXL」がどこまで実用に耐えるか

期待していなかった:

  • 1-step では細部が必ず失われる、というのは事前情報通り
  • non-commercial ライセンスは 商用記事の挿絵には使えない

結果: 「速度の極限」としての位置づけは正しいが、本記事のような最終成果物比較では明確に最下位の品質。Qwen Lightning の 8-step LoRA がどれだけ「蒸留としては破格」なのかが Turbo を見ると分かる。

環境セットアップ

pip install diffusers==0.37.1 torch==2.11.0 transformers

ロードコード:

from diffusers import StableDiffusionXLPipeline
import torch

pipe = StableDiffusionXLPipeline.from_pretrained(
    "stabilityai/sdxl-turbo",
    torch_dtype=torch.float16,
).to("mps")

image = pipe(
    prompt="...",
    num_inference_steps=1,    # ★ 1 でいい
    guidance_scale=0.0,        # ★ Turbo は CFG 不要
    height=512,                # ★ 512x512 推奨、1024 にすると崩れる
    width=512,
).images[0]

ハード要件:

項目
Mac M1 Max / 64GB
モデル 7GB (fp16)
解像度 512x512(1024 だと崩れる)
1枚あたり 約1秒 (1 step / 512px / MPS)

iogpu.wired_limit_mb の上限引き上げは不要(7GB は MPS のデフォルトで楽勝)。

8プロンプト全結果

# プロンプト 画像 生成時間
01 a cute cat sitting on a wooden bench in a sunny park 4.0秒(初回)
02 a bowl of ramen with chashu and soft-boiled egg 1.0秒
03 a wooden sign with "LOCAL AI" 1.1秒
04 a developer's t-shirt with "M1 MAX 64GB" retro 80s style 1.0秒
05 a woman developer working at a laptop 1.0秒
06 a glowing AI brain made of circuits and neon 1.1秒
07 three robots playing chess in a sunlit library 1.1秒
08 a wooden izakaya sign with the kanji "居酒屋" 1.0秒

8枚合計の生成時間: 約 11秒(うち初回ロード後の生成は 8.4 秒)。Qwen Full の 12時間と比べると 5000倍速

個別プロンプト評価

01 猫 — 目がおかしい、毛並みも消失

ベンチに座る猫、自然光、レンズのボケ。サムネとしては成立する。ただし原寸で見ると:

  • 左右の目の大きさ・形が違う、目の輪郭もぼんやり
  • 鼻先のディテール曖昧
  • 毛並みのテクスチャが消失(ふわふわ感が無い、毛がツルッとした表現)

→ 動物の顔に必要な高周波ディテール(目・鼻・毛)が一様に苦手。1-step では「目を2つの円として配置する」までは出来ても「左右対称・自然な瞳孔」までは到達しない。

SDXL base (60秒) Flux dev (12分) Qwen Lightning (10分) SDXL Turbo (1秒)
毛並み細部あり、写実 アニメ調に流れる 写実、ベンチも自然 毛並みソフト、サムネ向け

速度比は 720倍、品質差は明確。Turbo は「縮小して使う」前提の素材。

02 ラーメン — 卵・チャーシューの形がおかしい

要素配置は問題なし、パクチーバイアスも控えめ。ただし詳細を見ると:

  • 卵が3個に増殖(プロンプトは "soft-boiled egg" 単数形)
  • 中央のチャーシューが生肉感、煮込み感ゼロ、ピンクと白の層が剥き出し
  • 右側の白い具材(はんぺん?板蒲鉾?)も食材として識別困難な曖昧形状
  • 全体的にソフトで、写実というより「綺麗な食事のイラスト」風

→ 1-step では食材ごとの質感(半熟卵の透明感、チャーシューの煮込み感、麺のコシ)を描き分ける時間が無い。食事ブログのサムネ程度なら使えるが、原寸の挿絵では「食欲が湧かない料理」になる

03 LOCAL AI — 文字すら読めない

"LOCAL AI" を期待した看板に出てくるのは 滲んだ謎の英文字。"L" は読めるが、それ以降は判別困難。SD 1.5 の "OOLDD AIXNIA" よりはマシだが、SDXL base / Flux dev の完璧さに遠く及ばない。

テキスト描画は Turbo の最大の弱点。1-step では文字エッジを構築する時間が無い。

04 M1 MAX 64GB Tシャツ — Tシャツ自体は綺麗、文字は崩壊

80年代スタイルのTシャツ、シンセウェーブ調のカラーリングはOK。ただし "M1 MAX 64GB" はほぼ判読不能。記号化されたグラフィックとして処理されている。

05 女性開発者 — 指問題あり、目がおかしい

女性、ラップトップ、コーヒー、自然光。一見ストック写真風だが詳細を見ると:

  • 目が半閉じ・ぼんやり、目の輪郭が曖昧(写実プロンプトとして崩れている)
  • 左手で顔に触れる仕草の指の角度が不自然、関節の数・向きが解剖学的に変
  • 顔のディテール(鼻・口の輪郭)も甘い
  • 構図は破綻していないので、サムネ縮小なら問題は見えない

→ Turbo は「描いた結果として崩れる」モデル。SDXL base で見られた指消失や追加要素は出ないが、代わりに細部の精度で崩れる。1-step では指の関節や瞳の輪郭を構築する時間が足りない。

06 AI brain — neon プロンプトが反映されない

プロンプトに glowing AI brain made of circuits and neon, cyberpunk style と明示しているのに、出てきたのはダークなシルエットの脳に金の回路線neon の発光感がほぼゼロ、cyberpunk のネオンカラー(シアン・マゼンタ・パープル)も無し。

プロンプト指定 Turbo の出力
glowing 発光感無し、暗いシルエット
neon カラーリングなし、金属彫刻調
cyberpunk style 無し、ダークアート寄り

→ 1-step ではプロンプトの形容詞(glowing / neon / cyberpunk)を反映する時間が足りない。名詞(brain / circuit / dark background)だけが反映されて、雰囲気指定は捨てられる。「ぼかして誤魔化す」設計の限界がここで見える。

07 ロボとチェス — 構図 OK、表情薄い

3体ロボット、図書館、暖色光。要素配置は問題ないが、ロボットの表情・手のディテール・チェス駒のシャープさすべてソフト。

08 居酒屋 — 漢字どころか看板も曖昧

看板、提灯、夜の路地のシルエット。漢字「居酒屋」は架空字どころか文字として認識できないレベル。SD 1.5 の "お経・巻物" よりは「看板らしさ」がある程度。

→ アジア要素は Turbo の最弱点。Flux dev / SDXL base / Qwen ですら架空字レベルなのに、Turbo はそもそも文字に到達しない。

良かった点

  1. 1秒生成: 1-step / 512px で 1秒。これより速いローカル画像生成は無い
  2. ロードも速い: 7GB fp16、初回ロード 170秒(Qwen Full の 953 秒、Lightning の 170秒と比較)
  3. 要素追加癖が出ない: SDXL base のような勝手な追加マグカップは出ないが、代わりに目・指・食材の細部で崩れる
  4. オンデバイス動作可能: M1 でも実用速度
  5. プロンプト忠実度: 1-step なのに要素配置は破綻しない(雰囲気は維持)

悪かった点

  1. テキスト描画完全 NG: "LOCAL AI" すら綴れない、SD 1.5 同等
  2. 漢字描画は問題外: 「居酒屋」が文字として認識できない
  3. 毛並み・粒子・シャープさが一様にソフト: ADD の構造的特性
  4. Stability AI Non-Commercial: 商用記事の挿絵に使えない
  5. 解像度 512 固定: 1024 にすると崩れる、原寸利用が限定的

このモデルが活きるユースケース

  • サムネ大量生成: SNS サムネ、ブログのアイキャッチ縮小版
  • プロトタイピング: UI モック、ストーリーボード、ラフ
  • オンデバイス・リアルタイム生成: ライブ配信中の即時生成
  • ローカルでの「軽量試走」: プロンプト調整時の素早いプレビュー → 確定したら Flux dev / Qwen Lightning へ
  • 記事の挿絵(原寸): 細部のソフトさが原寸で目立つ
  • テキスト含むデザイン: 文字描画 NG
  • 商用利用: ライセンス違反
  • アジア要素: 漢字・ラーメン・居酒屋すべて崩れる

ハマりポイント / Tips

1. num_inference_steps=1 / guidance_scale=0.0 を忘れない

# ❌ ふつうの SDXL のつもりで動かすと無意味
image = pipe(prompt=p, num_inference_steps=30, guidance_scale=7.5, ...)

# ✅ Turbo の意義を活かす
image = pipe(prompt=p, num_inference_steps=1, guidance_scale=0.0, ...)

num_inference_steps を 30 にすると 30倍遅くなるが品質は上がらない(むしろ崩れることがある)。Turbo は 1-step に最適化されている

2. 解像度は 512x512 固定

1024x1024 にすると 顕著に品質が落ちる。SDXL base の 1024 学習に対し、Turbo の蒸留は 512 を主軸にしているため。1024 が必要なら base か他モデル。

3. プロンプトはシンプルめが効く

# ❌ Flux dev / Qwen Lightning の感覚で詳細プロンプト
prompt = "a cute cat sitting on a wooden bench in a sunny park, photorealistic, highly detailed, 8k, sharp focus, lens flare, ..."

# ✅ Turbo は短いプロンプトの方が安定
prompt = "a cute cat on a bench, sunny park"

1-step なので、長いプロンプトの全要素を反映する時間が無い。短く、コアの要素だけ指定する。

4. ライセンスを確認: Non-Commercial

stabilityai/sdxl-turboStability AI Non-Commercial License。商用利用は NG。本記事のシリーズで採用しないのもこれが大きい。商用なら Flux schnell (Apache 2.0) / Qwen Lightning (Apache 2.0) を使う。

5. 「ぼかして誤魔化す」設計を理解する

Turbo は SDXL base のような「要素追加癖」は出ないが、代わりに目・指・食材の細部が崩れる。1-step では細部を構築する時間が無いため、「ぼかして誤魔化す」設計になっている。サムネ用途なら問題ないが、原寸利用では SDXL base の方がマシなことすらある

蒸留版 3兄弟の比較

本記事のシリーズで 「蒸留」をやってるモデル が3つある:

モデル Step 速度 品質劣化の度合い ライセンス
SDXL Turbo 1 1秒 (テキスト・細部が崩壊) NC
Flux schnell 4 2分 中 (dev に明確に劣る) Apache 2.0
Qwen-Image Lightning 8 10分 逆に向上(過剰ステップ罠を回避) Apache 2.0

蒸留の本気度 は Step 数だけでは決まらない。Turbo は「速度のために品質を捨てる」典型、Lightning は「速度と品質を同時に手に入れる」例外。ADD (Turbo) と LoRA-distillation (Lightning) は別物

比較記事と次のモデルへ

シリーズ内の関連記事:


検証環境: Mac M1 Max 64GB / macOS 25.4 / Python 3.14 / Diffusers 0.37.1 / PyTorch 2.11 (MPS) 作業ログ: 2026-04-29、SDXL Turbo (stabilityai/sdxl-turbo, 1-step / guidance 0.0 / 512px)