はじめに

Stable Diffusionを始めると、まず直面するのが 「SD 1.5とSDXL、どっちを使えばいいの?」 という疑問ですわよね。

この記事では、その違いを2段階で解説します。 まずは「ざっくり理解」で全体像をつかみ、 そのあと「技術的な深掘り」で仕組みまで理解する構成です。

🌟 ざっくり比較:一言で言うと

💡 一行まとめ

SD 1.5 = 軽くて速い。LoRAが豊富。古いけどまだ現役。
SDXL = 高画質。プロンプトをよく理解する。ただし重い。

主要スペック比較表

項目 SD 1.5 SDXL
📐 基本解像度 512 × 512 1024 × 1024
📝 プロンプト上限 75 トークン × 1 CLIP 75 トークン × 2 CLIP
🖼️ 画質 良い とても良い
⚡ 生成速度 速い 遅い(約2〜3倍)
💾 必要VRAM 4GB〜 8GB〜
📦 モデルサイズ 約2GB 約6.5GB
🎨 LoRAの数 非常に多い 増加中
✋ 手の描写 苦手 改善あり
🔤 文字の描写 ほぼ不可能 ある程度可能

画質の違い

最も大きな違いは解像度です。SD 1.5は512×512ピクセルで生成するため、 顔のディテールや細部が潰れがちです。SDXLは1024×1024で生成するため、 4倍のピクセル数でより精細な画像が得られます。

📏 ピクセル数の違い

SD 1.5: 512 × 512 = 約26万ピクセル
SDXL: 1024 × 1024 = 約105万ピクセル
→ SDXLは約4倍の情報量を持つ

プロンプトの理解力

SD 1.5は75トークン(約40〜50語)の処理が基本単位です。 WebUIでは自動チャンク分割で拡張されますが、後方チャンクの影響力は弱まります。

SDXLは2つのテキストエンコーダー(CLIP-L/14 + OpenCLIP ViT-bigG)を搭載し、 それぞれが75トークンを処理します。同じプロンプトが両方に渡されることで、 よりニュアンスのある指示を理解できます。

速度とスペック

SDXLはSD 1.5の約2〜3倍の生成時間がかかります。 必要なVRAMも倍以上です。

スペック SD 1.5 SDXL
最低VRAM 4GB 8GB
推奨VRAM 6GB+ 12GB+
生成時間(20ステップ) 約5〜10秒 約15〜30秒
LoRA学習 8GB〜 12GB〜

LoRAの互換性

SD 1.5用のLoRAはSDXLでは使えません。逆も同様です。 モデル構造が全く異なるため、互換性がありません。

SD 1.5はコミュニティの歴史が長く、 Civitaiなどで数万種類のLoRAが公開されています。 SDXLのLoRAも急速に増えていますが、まだSD 1.5ほどの数はありません。

🎯 結論:どっちを選ぶ?

✅ SD 1.5がおすすめの人

・GPUのVRAMが8GB未満(GTX 1060, RTX 3060 6GBなど)

・使いたい特定のLoRAがSD 1.5用しかない

大量生成したい(速度重視)

・アニメ系の定番モデルを使いたい

✅ SDXLがおすすめの人

・GPUのVRAMが8GB以上(RTX 3060 12GB, RTX 4070以上など)

高画質な画像を生成したい

複雑なプロンプトで細かく指示したい

・リアル系の画像を生成したい

💡 実はどちらか一方に絞る必要はない

多くのユーザーは用途によって使い分けています。 ラフな構図出しや大量生成はSD 1.5、本番の高画質生成はSDXLという使い方が効率的です。

🔬 技術的な深掘り

ここからは、SD 1.5とSDXLのアーキテクチャレベルの違いを解説します。 「なぜSDXLの方が高画質なのか」「なぜLoRAに互換性がないのか」が技術的に理解できます。

1. モデル構造の違い

最も根本的な違いは、モデルの規模と構造です。

アーキテクチャ SD 1.5 SDXL
U-Netパラメータ数 約8.6億 約35億(約4倍)
テキストエンコーダー CLIP ViT-L/14(1つ) CLIP ViT-L/14 + OpenCLIP ViT-bigG(2つ)
テキスト埋め込み次元 768次元 768 + 1280 = 2048次元
潜在空間チャンネル数 4チャンネル 4チャンネル
潜在空間解像度 64 × 64 128 × 128
VAE SD VAE 改良版 SDXL VAE

2. U-Netの構造比較

SD 1.5とSDXLでは、ノイズ除去を担うU-Netの内部構造が大きく異なります。

【SD 1.5 U-Net】
入力(4ch, 64×64) → DownBlock×4 → MiddleBlock → UpBlock×4 → 出力(4ch, 64×64)
                    320→640→1280→1280         1280→1280→640→320

Cross-Attention: 各ブロックで768次元のテキスト埋め込みと照合
Attention Head: 8


【SDXL U-Net】
入力(4ch, 128×128) → DownBlock×3 → MiddleBlock → UpBlock×3 → 出力(4ch, 128×128)
                      320→640→1280              1280→640→320

Cross-Attention: 各ブロックで2048次元のテキスト埋め込みと照合
Attention Head: 20 (1280次元ブロック) / 10 (640次元ブロック)
🔑 重要な違い

SD 1.5は4段階のダウンサンプリングですが、SDXLは3段階です。 SDXLは解像度の高い段階で計算を打ち切り、その分Attention Headの数を増やすことで テキストとの対応精度を上げています。

これがSDXLの「プロンプト理解力が高い」理由の一つです。

3. デュアルテキストエンコーダー

SDXLの最大の革新は、2つのCLIPモデルを組み合わせていることです。

【SD 1.5のテキスト処理】
プロンプト → CLIP ViT-L/14 → 768次元ベクトル × 77トークン → U-Net

【SDXLのテキスト処理】
プロンプト → CLIP ViT-L/14    → 768次元ベクトル  × 77トークン ─┐
          → OpenCLIP ViT-bigG → 1280次元ベクトル × 77トークン ─┼→ 結合 → 2048次元 → U-Net
                                                                │
                               → プーリング出力(1280次元) ──────┘→ タイムステップ埋め込みに加算

CLIP ViT-L/14は「一般的な概念」を捉え、 OpenCLIP ViT-bigGは「より細かいニュアンス」を捉えます。 2つのベクトルを連結(concatenate)してU-Netに渡すことで、 テキストの意味をより正確に画像に反映できます。

プーリング出力の活用

SDXLではさらに、OpenCLIP ViT-bigGのプーリング出力(プロンプト全体の意味を 1つのベクトルに圧縮したもの)をタイムステップ埋め込みに加算しています。 これにより、U-Netは各デノイジングステップで 「プロンプト全体の雰囲気」を把握しながら処理を行えます。

4. マイクロコンディショニング

SDXLにはマイクロコンディショニングという独自の仕組みがあります。 学習時に各画像の以下の情報をモデルに教えます。

条件 説明 効果
original_size 元画像のオリジナルサイズ アップスケールされた低品質画像を区別
crop_coords トリミングの座標 中央からずれた切り取りを意識
target_size 目標とする出力サイズ 様々なアスペクト比に対応

この仕組みにより、SDXLは「元が小さい画像を拡大しただけ」のぼやけた画像と 「元から高解像度」のシャープな画像を区別して学習できます。 結果として、生成画像の品質が向上しています。

💡 SD 1.5にはこの機能がない

SD 1.5は512×512に強制リサイズした画像で学習しているため、 元画像の品質情報が失われています。だから「低品質な学習データ」の影響を受けやすいのです。

5. リファイナー(Refiner)

SDXLには2段階生成の仕組みがあります。

【SDXLの2段階生成(オプション)】
ステップ 1〜25:  SDXL Base(構図・構造を生成)
    ↓ 潜在空間をそのまま受け渡し
ステップ 26〜40: SDXL Refiner(ディテール・テクスチャを改善)

Refinerは小さめの専用モデルで、Baseモデルが生成した画像の 細部のクオリティを上げる役割を持ちます。 特に肌のテクスチャ、髪の毛の描写、背景の精密さが向上します。

📝 実際の使用状況

Refinerの効果は限定的で、多くのユーザーはBaseモデル単体で使用しています。 代わりにHires.Fix(高解像度修正)やADetailer(顔補正)を使う方が一般的です。

6. VAEの違い

潜在空間と画像を相互変換するVAE(変分オートエンコーダー)も改良されています。

VAE SD 1.5 SDXL
ダウンスケール倍率 8倍(512→64) 8倍(1024→128)
色再現性 普通(彩度が落ちることがある) 改善(fp16で安定)
細部の保持 普通 向上

SD 1.5のデフォルトVAEは彩度が低くなりがちで、 多くのユーザーが外部VAE(kl-f8-anime2など)に差し替えて使っていました。 SDXLのVAEはこの問題が改善されています。

7. LoRAの非互換性の技術的理由

「なぜSD 1.5のLoRAはSDXLで使えないのか」を技術的に説明します。

🔧 LoRA非互換の理由

LoRAはU-NetのAttention層の重み行列に小さな差分(ΔW = A × B)を加算する技術です。

SD 1.5のAttention層のサイズ: 768 × 768, 1280 × 1280
SDXLのAttention層のサイズ: 640 × 2048, 1280 × 2048

行列のサイズが違うため、物理的に差分を加算できません。 これがLoRAの互換性がない根本的な理由です。

8. トレーニングデータの違い

学習データ SD 1.5 SDXL
主要データセット LAION-5B (サブセット) LAION-5B (品質フィルタ済み)
学習画像の品質 混在(低品質画像含む) 高品質のみ厳選
解像度フィルター 256×256以上 高解像度を優先
美的品質スコア フィルタなし 美的スコアでフィルタ

SDXLの学習データは品質と美的価値の両面でフィルタリングされており、 これが生成画像の品質向上に大きく貢献しています。

🎯 技術的結論

SDXLが優れている技術的理由のまとめ

1. U-Netのパラメータ数が約4倍 → より複雑な特徴を学習可能

2. デュアルテキストエンコーダー → プロンプトの理解力が向上

3. マイクロコンディショニング → 画質に関する情報を保持

4. 改良されたVAE → 色再現と細部の描写が向上

5. 高品質な学習データ → ベースラインの品質が高い

SD 1.5がまだ現役な技術的理由

1. パラメータ数が少ない → 推論が高速、省メモリ

2. コミュニティの蓄積 → LoRA、拡張機能が豊富

3. ControlNet等のエコシステム → 制御ツールの完成度が高い

4. ファインチューニングが容易 → 8GB VRAMでLoRA学習可能

参考文献

📚 論文・公式リソース
  • "High-Resolution Image Synthesis with Latent Diffusion Models" (Rombach et al., 2022) - SD論文
  • "SDXL: Improving Latent Diffusion Models for High-Resolution Image Synthesis" (Podell et al., 2023) - SDXL論文
  • "Learning Transferable Visual Models From Natural Language Supervision" (Radford et al., 2021) - CLIP論文
  • Stability AI 公式ドキュメント
📖 関連記事

❀ この記事が役に立ったら

サイト運営のモチベーションになります。よろしければ応援お願いします!

❀ お布施する(OFuse)