出典:Hugging Face|stable-diffusion-xl-base-1.0
2023年7月、Stable Diffusionの後続モデルとしてSDXL(Stable Diffusion XL)がリリースされました。
しかし、
- SDXLとStable Diffusionの違いがわからない
- SDXLを使う方法を知りたい
- 自分のPCにSDXLをインストールする手順を知りたい
このように考えている方がいるでしょう。
結論からいうと、SDXLは学習した画像のサイズや生成能力が向上したモデルデータであり、Stable Diffusionと同様の方法で使い始められます。
本記事では、SDXLの特徴や使い方、インストール手順などを解説します。
SDXLについて興味のある方はぜひ本記事をご覧ください。
そもそもStable Diffusionについてわからない方は、以下の記事も合わせて読むとよいでしょう。
SDXLとは?Stable Diffusionモデルとの違いと特徴
旧モデルのStable Diffusionと比較しながら、SDXLの特徴を解説します。
Stable Diffusionの主な特徴は以下の5点です。
- デフォルトの画像サイズが1024×1024
- 複雑な構図の画像を生成できる
- 短いプロンプトでも高品質な画像を作りやすい
- Refinerモデルとの併用が推奨されている
- ローカル環境で使うには高いPCスペックが必要
1.デフォルトの画像サイズが1024×1024
SDXLで生成できる画像のデフォルトサイズは、1024×1024ピクセルに拡大されています。
従来のStable Diffusionモデルのデフォルトサイズは512×512ピクセルなので、高解像度の画像を生成するのに限界がありました。
SDXLであれば、高画質化の処理を経ることなく、画像の細部までリアルに表現することが可能です。
もちろん、必要に応じて画像サイズを調整することもできます。
2.複雑な構図の画像を生成できる
SDXLは、複雑な構図の画像を生成する機能が優れています。
従来のモデルでは、複雑な構図や多くの要素を含む画像を生成するのが難しい場合がありました。
しかし、SDXLは大規模なデータセットで学習されているため、より複雑で詳細な画像を生成できます。
たとえば、手前に向かって走っている犬を女性が追いかけるような、立体的な構図を生成しやすくなりました。
SDXLを利用すれば、より創造的で多様な画像を作り出せるでしょう。
3.短いプロンプトでも高品質な画像を作りやすい
SDXLは、短いプロンプトでも高品質な画像を生成しやすい特徴があります。
従来のモデルでは、高品質な画像を生成するために長いプロンプトを書く必要がありました。
たとえば、画像の品質を上げるためにmasterpiece(傑作)などのプロンプトが必須レベルで使用されてきたのです。
しかしSDXLでは、少ない単語から画像の文脈を理解し、ユーザーの意図に沿った高品質な画像を生成できます。
ユーザーはより直感的かつ効率的に画像を作成することが可能になりました。
固有名詞の概念も理解するように
SDXLは一般的な特徴と固有名詞の違いについて学習を深めているため、プロンプトで概念を伝えやすくなりました。
伝えやすくなった例として、ロシアの世界遺産である赤の広場が挙げられます。
従来のモデルでは「The Red Square(赤の広場)」と入力しても、赤くて四角い形状のものが生成されてしまいます。
その点SDXLは「The Red Square」と「red square」の違いを把握しており、赤の広場の画像を一単語で生成することが可能です。
4.Refinerモデルとの併用が推奨されている
SDXLは、BaseモデルとRefinerモデルの併用が推奨されています。
Refinerモデルとは、Baseモデルで生成された画像をさらに洗練させ、ディテールを追加するための補助データです。
生成自体はBaseモデル単体でも可能ですが、Refinerモデルと組み合わせてこそSDXLの真骨頂を見られるでしょう。
なお、従来のモデルもバージョンv1.6.0以降はRefinerモデルを使用できます。
パラメータ数は従来の2倍以上に
SDXLのパラメータ数は、従来のStable Diffusionモデルの2倍以上になっています。
パラメータ数は、機械学習モデルの複雑さを表す指標の一つで、多いほどモデルの表現力が高くなります。
従来のモデルのパラメータ数は10億前後であるのに対し、SDXLにおけるBaseモデルのパラメータ数は35億。
Refinerモデルに至ってはパラメータ数が66億に達している点から、Refinerモデルとの併用でさらに表現力が増すことがわかるでしょう。
5.ローカル環境で使うには高いPCスペックが必要
SDXLをローカル環境で使用するには、高いPCスペックが必要です。
パラメータ数が多いためモデルのサイズが大きく、計算にもリソースを多く消費します。
特にGPUのメモリ容量(VRAM)が重要で、GPUメモリが足りないと画像が生成できなかったり時間が多くかかったりするのが難点です。
SDXLを動かすのが困難であれば、比較的軽いスペックで動かせる従来のモデルを利用しましょう。
推奨GPUメモリ(VRAM)は16GB以上
SDXLを使用する際の推奨GPUメモリ(VRAM)は16GB以上です。
Stable Diffusionでは基本の画像サイズが524×524であるため、8GB程度のGPUメモリでも問題ありません。
しかしSDXLの基本サイズは1024×1024と大きいため、数十分から1時間以上かかる場合があります。
画像サイズを小さくすれば時間を抑えられるものの、高品質な画像を作るのが難しくなるでしょう。
SDXLを利用できる3つの使い方
SDXLを使う主な方法として、以下3つの使い方を紹介します。
- オンラインサービスを利用する
- クラウドサービス上で環境を構築する
- ローカル環境に導入する
1.オンラインサービスを利用する
SDXLを使用する最も手軽な方法は、オンラインで使える画像生成サービスを利用することです。
以下のような画像生成サービスがSDXLモデルを搭載しており、無料で試すこともできます。
サイトにアクセスしてプロンプト(文字)を入力するだけで、高品質な画像を簡単に生成できます。
ユーザーがPCスペックを気にする必要がない点も、オンラインサービスの魅力です。
ただし、無料で利用できる回数などに制限がある場合が多く、使い方によっては有料プランに加入する必要があるでしょう。
数回だけ試したかったり、ほかの方法のような準備が面倒だったりするときに利用してみてください。
2.クラウドサービス上で環境を構築する
SDXLをより柔軟に使用したい場合は、クラウドサービス上に自分専用の環境を構築するのが効果的です。
SDXLの環境を構築できるクラウドサービスの例は、以下のとおり。
クラウド上に環境を構築して利用するため、スペック不足のPCやスマートフォンから画像生成することも可能です。
SDXLの設定をカスタマイズできるので、オンラインサービスが物足りなくなったら利用を検討するとよいでしょう。
ただ、ほかの方法と比べて導入手順が複雑だったり、利用者数や時間帯によって快適さが変わったりする難点も。
利用する際は課金を検討しよう
クラウドサービスを利用するときは、課金する前提で検討したほうがよいでしょう。
無料試用できるサービスもありますが、以下のようなデメリットがあります。
- 高性能なGPUが使えない
- 課金者が優先されるため利用できなくなることがある
- 規約によりSDXLの実行が禁止されている(される)可能性もある
高性能なGPUを使って多くの画像を生成したいのであれば、有料プランへの課金は必須となるでしょう。
生成したい枚数や頻度に応じてプランを選び、場合によってはオンラインサービスでの課金も視野に入れてみてください。
3.ローカル環境に導入する
PCのスペックが十分足りる場合は、ローカル環境(自分のPC)にSDXLをインストールして導入する方法がおすすめです。
この方法は自分のPCのリソースを直接活用できるため、月々の課金を気にする必要がありません。
使用するモデルデータを自由に選ぶことができ、制限を気にせず何枚でも生成できます。
毎日のように大量の画像を作りたいのであれば、ローカル環境の構築を検討してみてください。
GPUクラウドサービスでスペック不足を補える
ローカル環境で使用するのに必要なGPUメモリの容量が不足していても、GPUクラウドサービスを活用することで対応できる可能性があります。
GPUクラウドサービスとは、高性能なGPUを搭載したサーバーをリモート(遠隔操作)で利用できるサービスです。
GPUサーバーをレンタルするサービスとは異なり、GPUによる処理だけをクラウドサービスに任せられます。
使用した時間に応じた料金を支払う従量制なので、使い方によってはGPUを新しく購入するよりも費用を抑えられるでしょう。
GPUクラウドサービスは以下のようなプラットフォームで提供されているので、気になったらチェックしてみてください。
- Amazon EC2(Amazon Web Services)
- Azure Virtual Machines(Azure)
- Compute Engine(Google Cloud)
- GPUSOROBAN
SDXLのインストール・導入手順
自分のPCに環境を構築してSDXLを利用する手順は以下のとおり。
- WebUI(Automatic1111)をインストールする
- モデルデータをダウンロードする
- 指定された場所にモデルを置く
- WebUIを起動する
- RefinerとVAEを設定する
大筋は従来のモデルと同様なので、Stable Diffusionを使える環境が整っているのであればSDXLのモデルデータのみ取得すればOKです。
これからStable Diffusionを使う方は、1の手順から順番にこなしていきましょう。
WebUI(Automatic1111)をインストールする
まずはAutomatic1111版のStable Diffusion WebUI(以下WebUI)をインストールします。
WebUIは、Stable Diffusionモデルを簡単に利用できるようにするためのユーザーインターフェースで、SDXLを含むさまざまなモデルに対応しています。
GithubのリポジトリにWebUIが公開されているので、PythonとGitを使ってローカル環境に複製し、インストールを実行しましょう。
具体的な手順については以下の記事をご覧ください。
v1.6.0以降のバージョンを使う
SDXLを利用する際は、WebUIのバージョンがv1.6.0以降であるか確認してください。
v1.6.0より前のバージョンではRefinerモデルが使えず、モデルデータの読み込みや実行に問題が生じる可能性があります。
これからWebUIをインストールするのであれば最新バージョンになっているはずですが、念のため確認しておきましょう。
使用しているWebUIのバージョンは、起動したWebUIの最下部に書かれています。
低スペックPCであればWebUI(Forge)がおすすめ
GPUメモリが不足しているPCでWebUIを導入したいときは、本記事で紹介しているAutomatic1111の代わりにForgeをインストールするのがおすすめです。
Forgeは低スペックPC向けに提供されているWebUIで、画像の生成速度が倍以上になる可能性があります。
使い方や見た目はAutomatic1111とほぼ同じなので、Automatic1111に慣れている人も使いやすいでしょう。
Forgeの導入手順は以下のとおりです。
- GithubのForgeリポジトリにアクセスする
- 説明文にある「>>> Click Here to Download One-Click Package<<<」からファイルをダウンロードする
- ダウンロードしたファイルを解凍する(要7-zip)
- 解凍したフォルダ内のrun.batを実行する
run.batを実行してから処理の完了を待てばインストールが完了し、Forge版のWebUIが使えるようになります。
モデルデータをダウンロードする
WebUIのインストールが完了したら、次はSDXLのモデルデータをダウンロードします。
SDXLのモデルデータは、従来のモデルと同様にHuggingFaceやCivitaiなどのプラットフォームから入手できます。
以下の表から各ページにアクセスし、モデルデータをダウンロードしてください。
sd_xl_base_1.0.safetensors(Baseモデル) | https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/tree/main |
sd_xl_refiner_1.0.safetensors(Refinerモデル) | https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/tree/main |
Baseモデルのページには、画像の品質を向上させるためのVAEファイルもあります。
必須ではありませんが、VAEを試したいのであればsd_xl_base_1.0_0.9vae.safetensorsもダウンロードしておきましょう。
公式以外のモデルデータをCivitaiで探してみよう
ほかのSDXLモデルデータを探したいときは、CivitaiのModelsページで検索しましょう。
フィルター機能を利用し、Model typesを「Checkpoint」、Base Modelを「SDXL 1.0」に指定して検索すると探せるはずです。
Refinerが不要なBaseのみのデータもあるので、配布されているデータの詳細もチェックしてみてください。
指定された場所にモデルを置く
ダウンロードしたデータを、WebUIの指定された場所に配置します。
モデルデータの配置場所は以下のとおり。
- (WebUIのフォルダ)/models/Stable-diffusion
BaseとRefinerの両方とも上記フォルダ内に置けばOKです。
VAEもダウンロードした場合は、モデルデータと分けて以下の場所に移動してください。
- (WebUIのフォルダ)/models/VAE
WebUIを起動する
モデルデータの配置が完了したら、WebUIを起動します。
WebUIフォルダ内にあるwebui-user.batファイルを実行してください。
コマンドプロンプトで起動処理が完了すると、自動的にWebUIの画面がブラウザ上で表示されるでしょう。
もし自動的に表示されなかった場合は、プロンプトの処理が終わったあとに「http://127.0.0.1:7860/」をURL欄に入力すればOKです。
コマンドプロンプトを閉じるとWebUIが動かなくなるので注意しましょう。
RefinerやVAEを設定する
WebUIを起動したら、ダウンロードしたRefinerモデルやVAEを使えるよう設定します。
Refinerは、画像生成画面の設定項目の1つ「Refiner」にチェックを入れると選択できます。
VAEを設定するときは、設定画面の左メニューからVAEを選び「SD VAE」の項目を変更してください。
VAEを変更した際は「設定を適用」ボタンを押して反映させるのを忘れないよう注意しましょう。
なお、Baseモデルなどのメインとなるモデルデータは、WebUI左上で選択できます。
SDXLに関するQ&A
SDXLに関する、よくある質問と回答を紹介します。
- おすすめモデルはありますか?
- 商用利用できますか?
- 日本語で利用できますか?
- SDXL Turboとは何ですか?
- おすすめモデルはありますか?
-
以下の記事ではSDXLをベースにしたおすすめのモデルも紹介しているので、よければ参考にしてください。
【2024年10月】Stable Diffusionのおすすめモデルとは?実写・アニメ系などを一覧で解説! | meta land 本記事でStable Diffusionのモデルデータの種類や、アニメ系など各種モデルの一覧を紹介、解説します。使用するモデルの選択に迷っている方は、ぜひ参考にしてください。 - 商用利用できますか?
-
本記事で紹介している、公式モデルのSDXL 1.0については商用利用が可能です。
ただし、共有プラットフォームなどで配布されているSDXLモデルについては、各モデルの利用規約をチェックする必要があります。
商用利用を許可していないモデルを利用して問題にならないよう注意してください。
Civitaiでモデルをダウンロードするのであれば、モデル詳細画面に利用許可の範囲が書かれているので忘れず確認しましょう。
- 日本語で利用できますか?
-
SDXLは日本語で利用できないと考えたほうがよいでしょう。
基本的に英語で学習されているデータなので、高品質な画像を作りたいのであれば英語でプロンプトを入力するのがおすすめです。
なお、日本語入力に特化したSDXL系のモデルデータとしてJapanese Stable Diffusion XL(JSDXL)がリリースされています。
JSDXLはSDXLとは異なるモデルであり、商用利用する際はライセンスを購入する必要もあるので注意してください。
- SDXL Turboとは何ですか?
-
SDXL Turboは、SDXLモデルの高速化バージョンです。
画像生成にかかる時間が大幅に短縮されており、プロンプトを入力した瞬間に画像を出力できます。
品質もSDXLと比べて大きな違いがないため、速さを重視したいユーザーに向いているでしょう。
JSDXLと同様に、SDXL Turboの商用利用にはライセンスの購入が必要です。
まとめ
本記事では、SDXL(Stable Diffusion XL)について解説しました。
最後に、記事の内容をおさらいしておきましょう。
- SDXLはStable Diffusionより大きいサイズ(1024×1024)の画像で学習したモデルデータ
- 短いプロンプトで高品質な画像を生成できるのが特徴
- 従来のモデルと比べて高いスペックのGPUメモリが要求される
- 使用するWebUIはStable Diffusionと同じ
ローカル環境で使用する場合は高いPCスペックが必要ですが、オンラインサービスやクラウドサービスを利用する方法もあります。
PCのスペックや使い方に応じた方法でSDXLモデルを利用して、より高画質な画像生成に挑戦してみましょう。
WebUIの使い方は以下の記事で詳しく解説しているので、ぜひ参考にしてください。