Stable Diffusion 2025年の全体像

Stable Diffusion(SD)界隈は2024年に大きな転換期を迎えた。U-NetベースのアーキテクチャからTransformerベースへの移行、新興プレイヤーの台頭、周辺技術の成熟——この記事では、エンジニアが「今何が起きているのか」を俯瞰できるよう、概念構造を整理する。

アーキテクチャの進化:U-Net から MMDiT へ

画像生成AIの中核をなす「ノイズ除去ネットワーク」のアーキテクチャは、大きく3世代に分けられる。

flowchart LR
    subgraph "第1世代(2022-2023)"
        A[U-Net] --> B[Conv層 + Self-Attention]
    end

    subgraph "第2世代(2023)"
        C[DiT] --> D[純粋なTransformer]
    end

    subgraph "第3世代(2024-)"
        E[MMDiT] --> F[マルチモーダルTransformer]
    end

    A -.-> C -.-> E

U-Net時代:SD 1.5, SDXL

初期のStable DiffusionはU-Netアーキテクチャを採用していた。畳み込み層(Conv)でローカルな特徴を捉え、ダウンサンプリング→ボトルネック→アップサンプリングという「砂時計型」の構造でノイズを除去する。途中にSelf-Attentionを挟むことで、画像全体の文脈も考慮できる。

この設計は画像処理において実績があり、比較的少ないパラメータで高品質な生成ができた。SD 1.5(約8.6億パラメータ)、SDXL(約26億パラメータ)がこの世代にあたる。

DiT:Transformerへの橋渡し

2023年、Peebles & XieによるDiT(Diffusion Transformer)の研究で、U-Netを完全にTransformerで置き換える可能性が示された。Vision Transformer(ViT)の成功を拡散モデルに応用した形だ。

Transformerの利点はスケーラビリティ。パラメータを増やすほど性能が向上する傾向があり、LLMで証明された「スケール則」が画像生成にも適用できる。

MMDiT:SD3, FLUX の心臓部

2024年にリリースされたSD3とFLUXは、MMDiT(Multimodal Diffusion Transformer)という新しいアーキテクチャを採用している。

MMDiTの核心的なアイデアはテキストと画像を対等に扱うこと。

flowchart TB
    subgraph "従来のアプローチ"
        T1[テキスト埋め込み] --> CA[Cross-Attention]
        I1[画像潜在表現] --> CA
        CA --> O1[出力]
    end

    subgraph "MMDiT"
        T2[テキスト埋め込み] --> TW[テキスト用重み]
        I2[画像潜在表現] --> IW[画像用重み]
        TW --> JA[Joint Attention]
        IW --> JA
        JA --> T3[テキスト出力]
        JA --> I3[画像出力]
    end

従来はテキストを「条件」として画像に注入していたが、MMDiTではテキストと画像それぞれに専用の重みを持ち、Attention演算時に両者を結合(Joint Attention)する。この双方向的な情報交換により、テキストと画像の整合性が大幅に向上した。

技術的な特徴:

主要モデルの勢力図

2025年初頭の時点で、オープンソース画像生成の主要プレイヤーは3つある。

sd-model-landscape-2025.png

SDXL:成熟したエコシステム

Stability AIが2023年にリリースしたSDXLは、U-Net世代の集大成と言える。

「枯れた技術」ゆえの安定感がある。新しいLoRAやControlNetがまずSDXL向けに出ることも多く、実用面ではまだ現役だ。

SD3 / SD3.5:Stability AIの新世代

2024年6月にSD3、10月にSD3.5がリリースされた。MMDiTアーキテクチャを採用し、テキストレンダリング能力が大幅に向上。

バリアント パラメータ 特徴
SD 3.5 Large 81億 最高品質
SD 3.5 Medium 25億 消費者GPU向け(〜10GB VRAM)
SD 3.5 Large Turbo 81億 4-8ステップ高速生成

ただし、コミュニティでの評価は分かれている。「期待ほどではなかった」という声もあり、後述するFLUXに注目が集まった。

FLUX:元SD開発者の「本命」

Black Forest Labs(元Stability AI研究者が設立)が2024年8月にリリース。「SD3が目指したものを実現した」と評されることも。

バリアント ライセンス 用途
Schnell Apache 2.0 高速・軽量
Dev 非商用 高品質・実験用
Pro 商用API プロダクション

2025年11月にはFLUX.2も発表され、写実性とタイポグラフィがさらに向上している。

選択の判断軸

高品質を追求 → FLUX Dev/Pro
エコシステム重視 → SDXL
公式サポート重視 → SD 3.5
リアルタイム性重視 → SDXL Turbo / FLUX Schnell

周辺技術の関係性

ベースモデルだけでは画像生成の「個性」や「制御」が難しい。そこで登場するのがLoRA、ControlNetなどの周辺技術だ。

flowchart TB
    subgraph "ベースモデル"
        BASE[SDXL / SD3 / FLUX]
    end

    subgraph "味付け(ファインチューニング)"
        LORA[LoRA / LyCORIS]
        LORA --> |スタイル| STYLE[画風・タッチ]
        LORA --> |キャラクター| CHAR[特定人物・キャラ]
        LORA --> |概念| CONCEPT[特定の概念]
    end

    subgraph "制御"
        CN[ControlNet]
        CN --> |構図| POSE[OpenPose]
        CN --> |輪郭| CANNY[Canny]
        CN --> |深度| DEPTH[Depth]
        CN --> |etc| ETC[Segment, Normal...]
    end

    subgraph "高速化"
        FAST[LCM / Turbo]
    end

    BASE --> LORA
    BASE --> CN
    BASE --> FAST

    LORA -.-> |併用可| CN

LoRA / LyCORIS:モデルを「味付け」する

LoRA(Low-Rank Adaptation)は、巨大なベースモデルを効率的にファインチューニングする手法。モデル全体を再学習するのではなく、低ランク行列の差分だけを学習する。

LyCORISファミリーはLoRAの発展形:

手法 特徴 向いている用途
LoRA 標準的、互換性◎ 汎用
LoCon Conv層も学習 キャラクター
LoHa Hadamard積で汎化 スタイル
DoRA magnitude/direction分解 高品質(学習時間2倍)

最近注目されているのはDoRA(Weight-Decomposed Low-Rank Adaptation)。Nvidiaが提案した手法で、フルファインチューニングに近い品質を低コストで実現できる。

ControlNet:構図を「制御」する

ControlNetは、生成画像の構図や姿勢を明示的に制御する技術。

従来は制御タイプごとに別モデルが必要だったが、2024年に登場したControlNet Unionは1つのモデルで10種類以上の制御に対応。Canny、OpenPose、Depth、Segmentなどを統合し、複数条件の同時適用も可能になった。

InstantIDも注目技術の一つ。1枚の顔画像から、その人物のIDを保持したまま様々な画像を生成できる。ControlNetとIP-Adapterのハイブリッドアーキテクチャを採用している。

高速化手法:LCM, Turbo系

通常の拡散モデルは20-50ステップの反復が必要だが、以下の手法で大幅に削減できる。

手法 ステップ数 特徴
LCM(Latent Consistency Model) 2-8 既存モデルにアダプタとして適用可
SDXL Turbo 1-4 蒸留済み、リアルタイム生成の先駆け
SDXL Lightning 4-8 品質と速度のバランス

これらはリアルタイムインタラクションや大量生成のワークフローで重宝される。

概念構造を掴む意義

SD界隈は変化が速い。毎月のように新しいモデルや手法が登場し、追いかけ続けるのは困難だ。

しかし、概念の構造——アーキテクチャの進化軸、ベースモデルと周辺技術の関係、各技術が解決しようとしている問題——を掴んでおけば、新しい情報が出てきたときに「これは既存のどこに位置づけられるか」が判断できる。

例えば「新しいLoRA手法が出た」と聞けば、それがLyCORISファミリーの延長なのか、まったく別のアプローチなのかを考える土台ができる。「新しいベースモデルが出た」と聞けば、U-Net系なのかMMDiT系なのか、どのエコシステムと互換性があるのかを確認する視点が持てる。

技術の詳細は変わっても、構造的な理解は長持ちする。


抽出された概念

この記事から以下の一般概念をnotesに抽出した。

既存ノート(LoRAControlNetU-NetDiTMMDiT)も参照。


参考リンク