サイトアイコン つくる人をつくる AICU Inc.

Stable Diffusion 3.5 Medium 登場! 盛り上がる開発者コミュニティ、LoRAやSkip Layer Guidance (SLG)で指も改善?

2024年10月29日(日本時間)、Stability AIから予告通り、最新の画像生成モデル「Stable Diffusion 3.5 Medium」がオープンリリースされました。

Stable Diffusion 3.5 Medium が登場しました!

このオープンモデルは、25億のパラメータを持ち、消費者向けハードウェア上で「箱から出してすぐに」動作するように設計されています。

ブログにMediumの内容を追加しています。ぜひご覧ください。

https://x.com/StabilityAI_JP/status/1851268389140119774

https://ja.stability.ai/blog/introducing-stable-diffusion-3-5

「消費者向けハードウェア…!?」というドヨメキがAICU media編集部に響き渡ったのですが、Stability AI公式が具体的なモデル名とGPU製品名で推奨動作表を提供しています。

https://ja.stability.ai/blog/introducing-stable-diffusion-3-5

Stable Diffusion 3.5 Medium (以下、SD3.5M) は 2.5B(25億パラメータ)のモデルであり、NVIDIA GeForce RTX 3080 (VRAM 10GB以上) が推奨になっています。NVIDIA GeForce RTX 4060 (VRAM 6GB)では、[!] という黄色いマークがつけられており、「[!] indicates the model requires performance – compromising optimizations, such as quantization or sequential offloading, to run on this device.」(モデルをこのデバイスで実行するには、量子化や順次オフロードなどのパフォーマンスを犠牲にした最適化が必要であることを示します)と書かれています。

ダウンロードはこちらから、ファイルサイズは4.75GBです。

https://huggingface.co/stabilityai/stable-diffusion-3.5-medium/resolve/main/sd3.5_medium.safetensors?download=true

なお、SD3.5 Large (80億パラメータ)も配布されています(ファイルサイズとしては16.5GB!です)。動作させるには32GB VRAMを搭載した NVIDIA H100クラスのGPUが必要とのことです。

https://huggingface.co/stabilityai/stable-diffusion-3.5-large/blob/main/sd3.5_large.safetensors

https://github.com/Stability-AI/sd3.5

Google Colab上でweightをダウンロードするテクニック!

Google Colab上で、HuggingFaceに置かれたStable Diffusion 3.5 MediumやLargeを活用したい!でもHuggingFaceでの認証が通らないのでwgetすることができない…なんて諦めてしまったひとはいませんか?

AICU AIDX Labではこんな方法で、自動でダウンロードできるスクリプトを組んでいます。
まずはGoogle Colabの「シークレット機能」を使って、HuggingFaceのAPIキーを保存します。ここでは「HF_TOKEN」という名前にしてあります。

Google Colabノートブック上でこちらのHF_TOKENにアクセスを許可して、以下のようなコードを書きます。

#!wget -c https://huggingface.co/stabilityai/stable-diffusion-3.5-medium/resolve/main/sd3.5_medium.safetensors  -P ./models/checkpoints
# %cd /content/drive/MyDrive/ComfyUI/models/checkpoints
!pip install huggingface_hub

import os 
from google.colab import userdata
os.environ['HF_TOKEN'] = userdata.get('HF_TOKEN')
!huggingface-cli login --token $token

token = userdata.get('HF_TOKEN')
from huggingface_hub import hf_hub_download
hf_hub_download(repo_id="stabilityai/stable-diffusion-3.5-medium", filename="sd3.5_medium.safetensors", local_dir="/content/drive/MyDrive/ComfyUI/models/checkpoints")

hf_hub_download(repo_id=”stabilityai/stable-diffusion-3.5-medium”, filename=”sd3.5_medium.safetensors”, local_dir=”/content/drive/MyDrive/ComfyUI/models/checkpoints”)

と書くことで、HuggingFaceにログインした状態でファイルを指定ディレクトリに直接ダウンロードできます!これは便利。

参考:その他のHuggingFaceの使いこなしはこの記事でも扱っています。

盛り上がる開発者コミュニティ

AICU media編集部でもSD3.5のリリース直後から評価に入っています。

日本人などの人種や肌の多様性は確認できましたが、一方で「指の正確さ」については難があるという印象を得ましたが、実はその後、急速にコミュニティ内で改善が見られるので共有したいと思います。

まずは、sampler をEuler Ancestral (Euler_a) にする!

集合知的に様々なノウハウが集まってきていますが、SD3.5でMMDiT-Xにモデルが変わっていることもあり、サンプラーについても見直しが必要なようです。

指に関しては、Euler Ancestral (Euler_a)がよいという説があります。

世界のKohya氏、LoRA対応を追加。

LoRA学習スクリプト「sd-scripts」を開発し、世界中のStable Diffusionコミュニティの英雄ともいえるKohya氏がSD3.5M対応をGitHubリポジトリにプッシュしました。

https://github.com/kohya-ss/sd-scripts/pull/1719

コメントでは世界中の開発者からの検証結果が寄せられ始めています。

Civitaiによるマニュアル・ワークフローの提供

SD3公開直後、荒れた瞬間があったCivitaiコミュニティですが、SD3.5については公式のエデュケーションブログやワークフローの公開が提供されています。

せっかくなので翻訳を提供していきたいと思います。最新のモデルと専門用語を学ぶうえでも大変役に立ちます。

Stable Diffusion 3.5 Mediumクイックスタートガイド

Stable Diffusion 3.5 Mediumは、画質、タイポグラフィ、複雑なプロンプトの理解、リソース効率の向上を実現する、マルチモーダル拡散トランスフォーマー(MMDiT-x)をベースにしたテキスト画像生成モデルです。

注記: このモデルはStability Community Licenseの下でリリースされています。商用ライセンスについては、Stability AIのサイトをご覧いただくか、当社までお問い合わせください。

モデルの説明

ライセンス

実装の詳細

これらの機能強化は、マルチ解像度画像生成、一貫性、および様々なテキスト画像タスクへの適応性におけるモデルのパフォーマンス向上に総合的に貢献しています。

元のMMDiTアーキテクチャの技術的な詳細については、研究論文を参照してください。

使用方法と制限事項

実装の詳細

これらの強化により、多様なテキストから画像へのタスクにおける、マルチ解像度の画像生成、一貫性、適応性の向上というモデルのパフォーマンス改善に総合的に貢献しています。

MMDiT-X

Stable Diffusion 3.5 Medium は、画像品質、タイポグラフィ、複雑なプロンプトの理解、リソース効率の向上を特徴とする、改良された Multimodal Diffusion Transformer with improvements (MMDiT-X; マルチモーダル拡散トランスフォーマー)によるテキストから画像へのモデルです。

MMDiTのオリジナルアーキテクチャの技術的な詳細については、研究論文を参照してください。

使用法と制限事項

Skip Layer Guidance (SLG)の推奨

Stability AIが提案している方法としてはSkip Layer Guidance (SLG)です。Skip Connection(残差接続)についてはこちらの日本語解説が詳しいです。これによって指の改善がStability AIによって提案されており、ComfyUIやHuggingFaceでも試されています。

https://github.com/comfyanonymous/ComfyUI/pull/5404

https://github.com/huggingface/candle/issues/2588

スキップ レイヤー ガイダンス (SLG) は、特定の範囲のサンプリング ステップで元の CFG に追加のガイダンスを追加するサンプリング手法です。追加のガイダンスは、元のモデルからの正の DiT モデル出力から、特定のレイヤー (たとえば、Stable Diffusion 3.5 Medium の場合はレイヤー 7、8、9) が削除されたバリアント モデルからの正のモデル出力を減算して比較することによって計算されます。

SLG はオプションの選択肢のように見えますが、SAI は Stable Diffusion 3.5 Medium に対して SLG を有効にすることを公式に推奨しているようです。証拠には以下が含まれます:HuggingFace Hub の公式リポジトリでは、 SLG が有効になっているComfyUI ワークフローが提供されています。
公式リファレンス デザイン GitHub リポジトリStability-AI/sd3.5には、SD3.5-medium の SLG をサポートする最近の変更が含まれています。
Stable Diffusion 3.5 Medium での SLG の使用について取り上げたReddit (例:こちら) および Twitter/X (例:こちら) の投稿では、SLG の使用は「解剖学的失敗の可能性を減らし、全体的な一貫性を高める」ために重要であると思われると示唆されており、複数の独立した投稿がこの主張を相互検証しています。

HuggingFaceにおいてワークフローが配布されています。

https://huggingface.co/stabilityai/stable-diffusion-3.5-medium/resolve/main/SD3.5M_SLG_example_workflow.json?download=true

さいごに


今後も、Stable Diffusionを中心としたオープンな画像生成モデルとそのコミュニティの熱狂は続きそうです。

AICUとしては「つくる人をつくる」をビジョンにする専門AIメディアとして今後も、公平に、Stability AIやコミュニティの活動を応援していきたいと考えています。

Originally published at https://note.com on Oct 30, 2024.

モバイルバージョンを終了