Stable DiffusionのオリジナルLoRAの作り方と簡単に作成するコツ

Stable Diffusionで「自分だけのキャラや絵柄を再現したい」と思ったことはありませんか?

そんなときに活躍するのが、自作できる追加学習データ=LoRAです。

この記事では、LoRAの作り方をステップごとに解説しながら、初心者でも簡単に始められるコツを紹介します。

VRAM12GBあれば十分安定して学習ができ、LoRAは作り方のコツさえ押さえれば、誰でも高品質なLoRAを作成できます。

「LoRAって難しそう」と感じている方でも簡単に取り組める方法を、実践ベースでお届けします。

目次

LoRAとは?少ないリソースでもできる仕組み

LoRA(Low-Rank Adaptation)は、元のモデル全体を作り直すのではなく、一部の学習パラメータだけを追加・更新することで新しい情報を覚えさせる手法です。

Stable Diffusionの出力に「自分だけのキャラ」や「特定の絵柄」を反映させたいとき、少ない画像と短時間で目的の特徴を効率よく学習できます。

これまではモデル全体のファインチューニングを行ったり、モデル同士をマージして好みに近づける方法も使われていましたが、LoRAなら必要なリソースがはるかに少なく、環境への負担も軽く済みます。

VRAM12GB程度でも安定して学習できるため、個人のPC環境でも高品質なLoRAを自作できるのが大きな魅力です。

あわせて読みたい
LoRAとは?Stable Diffusionでの使い方と入れ方!商用利用やフォルダ分けも紹介 Stable DiffusionでLoRAを使ってみたいけれど、なんだか難しそう……。 そんな方に向けて、この記事ではLoRAとは何かをわかりやすく解説します。 Stable DiffusionでのLoRAの使い方や入れ方、フォルダ分けによる管理方法、商用利用時の注意点まで幅広くカバー。 LoRAを使って、AIイラスト制作の表現の幅をもっと広げてみませんか?

LoRAの作り方を簡単に試そう!ステップごとの進め方

LoRA作成に必要なツールや作業内容は多く見えますが、流れをつかめばそれほど複雑ではありません。

GUIツールを使えば、初めてでも手順どおり進めるだけで1つ完成できます。

このセクションでは、必要な準備から学習・出力までの流れを一つずつ整理しながら、LoRA作成を現実的な作業として落とし込んでいきます。

必要な作業とツール一覧

LoRAを作るには、主に「学習させる画像データ」「画像に対応するタグ(キャプション)」「学習スクリプトまたはGUI」「Python実行環境」「GPU(VRAM24GB以上推奨)」の5つの要素が必要です。

画像データ数は任意ですが、最低20〜30枚から、難しい髪型を出したり、安定した品質を目指すなら50枚以上が推奨されます。キャプションは自動生成ツールの利用も可能です。

学習スクリプトにはさまざまな選択肢がありますが、本記事ではGUIで直感的に操作できる「Kohya’s GUI」を中心に紹介します。

Python実行環境としては、Anacondaを使って仮想環境を作るのが一般的です。Python・PyTorchなど必要ライブラリをインストールした上で、Kohya’s GUIを動かしましょう。

画像の選び方と集め方

LoRAの出来を左右するもっとも重要な要素が、学習データセットの質です。単に枚数を集めるだけではなく、統一感のあるデータを選定することが成功のカギです。

キャラクターを学習させたい場合は、構図・表情・衣装のバリエーションを抑えることが重要です。描写の安定感を高めるには統一感が必須です。

画像サイズは1024px以上が理想で、アスペクト比を統一すると学習エラーを防げます。特定のポーズに偏らないよう、適度なばらつきも意識します。

画像を収集する際には、すでにある画像の場合は「Danbooru系サイト+タグ検索」「Pixiv+許諾」などが活用できます。

AI生成画像を使う場合は、学習させたい特徴部分を安定させたり、必要がない要素を出来るだけ排除したりする必要があります。

今回はキャラクターLoRAの作成に焦点を当てますが、特に枚数が少ない場合、「背景が違う(中央下)」「髪型が難しく見えづらい(左上)」などの画像は破綻の原因になります。

基本的には正面顔を中心に、キャラクターの特徴が見えやすい向きの、表情や顔の向きを少しだけ変えた画像を集めましょう。

色味もできるだけ揃えると、安定したLoRAを作成できます。

キャプションの整備とコツ

キャプション(タグ)は画像の特徴をモデルに伝えるための重要な情報です。

このキャプションのつけ方でも、LoRAの出来は左右されます。このキャプションはKohya’s GUIで作成して、あとで手動調整を入れましょう。

キャプションは画像と1対1(例:img001.png → img001.txt)で対応させます。

今回は簡単な作り方として、Kohya’s GUIで作成する方法を記載します。

インストール方法は以降の項目で説明しますが、このUtilitiesタブからCaptioningを選び、画像を入れているフォルダを選んで、入れたいキャプションをつけることで一括で生成できます。下の赤枠のフォルダマークからフォルダを選ぶと、青枠で囲っているキャプションファイルが一括で生成されます。

赤枠フォルダマークをクリックして、画像があるフォルダを指定してください
このように1対1対応のキャプションが生成されます

特徴の強いキャプションは前方に配置することで、精度向上にもつながります。

また、キャプションを入れすぎるとLoRAが学ぶ要素が曖昧になってしまい、精度低下の原因になってしまうので、入れるのは最低限にしてください。

今回は触れませんが、WD14 Captioning項目からキャプションの自動生成が可能なので、その後手動でキャプションを編集することでより精度を上げることができます。

必要なGPUスペック

LoRAは軽量な追加学習といっても、学習時にはVRAMを多く使用します。推奨されるのはNVIDIA製GPU(VRAM24GB以上)を搭載したモデルです。

ただ、これはあくまで推奨なので、筆者の経験上RTX 3060(12GB)であれば、バッチサイズ・画像解像度・エポック数の調整をしながら、問題なくLoRA作成が可能です。

VRAM8GBでも作成は不可能ではありませんが、本記事のように簡単に学習することは難しく、保存時にエラーが出ることもあります。学習ステップ数を減らしたり、画像を減らしたりすることで対応できる場合もありますが、成功率や品質に影響するため初心者には非推奨です。

※筆者は以前、VRAM8GBのPCでSDXL対応の局所LoRAを作るため、推奨よりもかなり小さい384pxほどの画像サイズで無理やり学習させた経験があります

なお、ローカル学習が難しい場合はGoogle Colabなどのクラウド環境を使う選択肢もありますが、本記事ではローカル環境での運用を前提に解説します。

あわせて読みたい
Google Colabとは?使い方や料金!無料で使える?GPUガチャとは Google Colabとは、セットアップ不要で簡単にプログラミングができるクラウドベースのJupyter Notebookサービスで、初心者からプロまで幅広いユーザーに利用されています。 この記事では、Google Colabの使い方や料金プラン、リソースにアクセスする際のメリットや制限について詳しく解説します。 無料で利用できるGPU機能と、Google Colab GPUガチャについても触れながら、用途に応じた最適な利用方法を紹介します。

AnacondaのインストールとKohya’s GUIの導入の環境づくり

LoRAの学習環境を整えるには、Anacondaを使ってPythonの仮想環境を構築するのがもっとも簡単で安定した方法です。

ここではWindows環境を前提に、Anacondaのインストールと仮想環境の作成手順を紹介します。

STEP
Anacondaインストーラのダウンロード

Anaconda公式サイトの「Download」ページからWindows用のインストーラーをダウンロードします。

この際Emailアドレスが求められますが、無料でダウンロードが可能です。

メールアドレスを入力して赤枠のSubmitボタンを押すとダウンロードページが送られてくるので、そこからダウンロードしてください。

メールアドレス入力の下のチェックボックスはチェックしなくても構いません
赤枠のWindowsの項目からダウンロードします
STEP
インストーラからのインストール

ダウンロードした .exe ファイルを実行し、画面の指示に従ってインストールします。基本的にはデフォルト設定のままで問題ありません。

インストール最後に「Add Anaconda to PATH」のチェックボックスがありますが、他の仮想環境を利用することもあるので、チェックは外しておいたままにしておきましょう。

右側の上から2番目のチェックボックス(赤枠)は外しておきましょう
STEP
Visual Studio Build Toolsのダウンロード

また、Windows環境ではもう一つ必要なものがあります。Visual Studio Build Toolsです。

リンク先に飛んで、Build Toolsのダウンロードからダウンロードします。

ここのインストーラで、赤枠のチェックボックス、Windows 11 SDK(Windows 11の場合)にチェックが入っていることを必ず確認しましょう。

画面中央左のボタンからダウンロード
C++によるデスクトップ開発にチェック。オプションでWindows 11 SDKにチェックが入っているのが分かります。
STEP
PCの再起動

STEP 3まで出来たら、この変更を反映させるためにPCを再起動します。

STEP
Kohya’s GUIのインストール

この後Anaconda promptで必要なライブラリをインストールしつつ、Kohya’s GUIを使う環境を整えていきます。

CLI操作で黒い画面だと難しそうに感じますが、コマンドを入れていきます。

git clone https://github.com/bmaltais/kohya_ss.git
cd kohya_ss

# torch118の部分は名前は任意でつけてください kohya_ssなどでも問題ありません
conda create -n torch118 python=3.10 -y
conda activate torch118

# 上記コマンドで仮想環境に入った後、ライブラリをインストールします
(torch118) pip install torch==2.1.0 torchvision==0.16.0 --extra-index-url https://download.pytorch.org/whl/cu118
STEP
ファイルのコメントアウト

この後の依存ライブラリをインストールの際、sd-scriptsをダウンロードしていないためにエラーが出ます。

今回sd-scriptsは使わないので、 kohya_ss フォルダの requirements.txt の最終行に#をつけてコメントアウトしてください。

# for kohya_ss sd-scripts library
# -e ./sd-scripts
STEP
依存ライブラリのインポート

最後にこのコマンドを打って、しばらく待ちます。

(torch118) pip install -r requirements.txt
(torch118) python kohya_gui.py
STEP
インストール完了

このような形でURLが出るところまで動けば、正常にインストールできています。

URLをブラウザに打ち込んで起動してください。

STEP
2回目以降の起動法

2回目以降は、Anacona promptを開いた後にこちらのコマンドでKohya’s GUIを起動できます。

cd kohya_ss
conda activate torch118
(torch118) python kohya_gui.py

Kohya’s GUIを使って学習する方法

Kohya’s GUIは、LoRA学習に必要な設定をWeb上で一括操作できるツールです。

Pythonやコマンドに不慣れな方でも扱えます。

STEP
Kohya’s GUIの起動

Anaconda promptから2回目以降の起動法で起動し、記載されているURL(http://127.0.0.1:7860)にアクセスします。

Kohya’s GUIを起動するとブラウザで操作画面が表示されます。LoRAタブを開いてください。

STEP
ベースモデル、データパスの設定
Kohya’s GUI画面

ベースモデルは、青枠部分で設定します。デフォルトではそれぞれのベースモデルが設定できますが、kohya_ss/models/ フォルダ以下にファイルを設定することで、図のようにillustriousなど別のベースモデルを設定することが出来ます。

データパスは、赤枠部分で設定します。ここでは「実際の画像やキャプションファイルが入っているフォルダの一つ上のフォルダ」を指定するようにしてください。

また、実際の画像が入っているフォルダの名前には必ず先頭に数字をつけてください。これはRepeat数といって、学習の際、「このファイルの中の画像を何回繰り返して学習するか」を示す指標となっています。今回のように数十枚の学習の場合は10~20回程度繰り返します。

青枠の右側、赤線を引いた部分であるTrained Model output nameは分かりやすい名前を付けておきましょう。ここで設定した名前のLoRAが作成されます。今回は 10_blonde_sidepony.safetensorsoutputs/10_blonde_sidepony フォルダ内にできるという形です。

後々LoRAを吟味するためにも、outputs内に今回のLoRA用のフォルダは作成しておきます。

STEP
LoRAの形式やアウトプットフォルダの設定

LoRAの形式および精度は青枠部分で設定します。基本的に.safetensorsとfp16にしておくと安全です。

また、アウトプットフォルダは赤枠部分で設定します。途中保存などする場合は、ステップ2でつけた名前の途中経過の.safetensorsファイルがアウトプットフォルダに入ります。

STEP
プリセットの設定

SDXLでLoRAを作成する場合は、このPresetsは上記の SDXL – LoRA adafactor v1.0 を選んでおくと、一般的な設定になります。

ただし、うまく動かない場合やエラーが起きる場合は、プリセットファイルが間違っている可能性があるので確認してください。

プリセットファイルは kohya_ss\presets\lora にあります。

当環境では下の画像の14行目、選択しているところが.txt2になっており、そのようなキャプションの拡張子はないのでエラーが起きてしまいました。今回のキャプションファイルは.txtなので修正して、Kohya’s GUIを再起動させてください。

プリセットファイル自体も確認する必要がある。自作も可能です
STEP
学習パラメータの設定:Train batch size, Epoch
学習パラメータ項目

赤枠のTrain batch sizeは大きくするとLoRAの学習速度が上がりますが、VRAM12GB程度の場合1にしておくのが無難です。

青枠のEpoch(エポック)は学習フォルダで指定した学習画像を何回学ばせるか(今回は10_blonde_girlなのでまずすべての画像が10回分学習するという操作が1エポックです)で、ひとまず10程度に設定してみて、1エポックごとに保存されたファイルを適用してみて調整してください。

STEP
学習パラメータの設定:Learning rate, Max resolution, Network Rank

Learning rate(学習率), Max resolution(学習画像サイズ), Network Rank(どの程度細かく学習するか)を設定しておきます。キャラクターLoRAであれば学習率は0.0001程度で問題ありません。

学習率。0.0001以下を推奨します
この設定項目では画像のサイズを指定します。左側の「1024,1024」の部分に、使用する画像の解像度を入力します
Network Rankは数字が大きいほうが学習精度が上がりますが、VRAMを大量に使います
STEP
学習の開始

設定が終わったら、Start trainingを押して学習を始めます。

学習進行はAnaconda Prompt側にリアルタイムでログ出力され、途中停止しても再確認が可能です。

一番下の行のstepsで進捗が分かります

LoRAの作り方のコツ:高品質に仕上げる3つの工夫

LoRAを作成すること自体は簡単ですが、再現性・汎用性・品質を高めるには工夫が必要です。

ここでは特に重要な3つのポイントを紹介します。

タグ整理とキャプション精度の上げ方

正確なタグ選びと削除で、学習のブレが減り安定した出力になります。LoRAの学習の際、「学習させたいキャプションだけを残す」「学習させたいキャプションを残さない」の2パターンがあります。

キャラクターLoRAの場合、使える画像の枚数が多い場合は「学習させたいタグは入れなくてもLoRA自体が学習する」ため、学習させたいキャプションを残さずに差分のみをプロンプトに書く方法がよく取られます。

今回のように30枚程度の少ない枚数で学習を試みる場合は、学習させたいキャプションだけを残して、LoRAを使用する際もプロンプトに書くと安定します。

タグに一貫性を持たせることも大切です。たとえばキャラクターLoRAを作りたい場合に、長髪と短髪の差分を一度に作ろうとすると、出力が不安定になってしまいます。

そのようなLoRAを作りたい場合は、 long hairの画像を集めたものと、short hair の画像を選んだものとの2つのLoRAに分けることで高品質なLoRAとなります。

画像枚数・エポック数の目安と調整法

画像枚数としては、キャラクター特化LoRAでは30〜50枚、絵柄を再現するLoRAでは100〜200枚程度が目安になります。

学習の際に設定するエポック数は1〜10回程度に設定して、画像の枚数が少ない場合はフォルダ名の先頭に付ける10の部分を15にするなどして補完します。

毎エポックごとに保存することで、LoRAが現在どの程度特徴を学んでいるかなどが分かるため、ピークとなる学習段階を見つけやすくなります。

失敗しない学習率&ステップ設定

学習率を上げすぎると、特徴を過学習してしまって品質のいいLoRAになりません。学習率は0.00005〜0.0001程度に設定しておくのが無難です。

warmup(徐々に学習率を上げていく方法)やtotal_steps(全体でどれくらいの回数学習するか)を調整しながら、徐々に学習を進めると安定します。

また、学習途中のデータを中間保存しておくことで、過学習やエラー時にも復旧が可能です。

完成したLoRAの活用法:Stable Diffusionで反映するには?

作成したLoRAは、既存のLoRAと同様に、Stable Diffusionのプロンプトで呼び出すだけで使えます。

Promptへの適用とweight値の調整例

使い方は簡単で、<lora:ファイル名:強度> という形でプロンプトに記述します。例:<lora:my_character:0.8>

LoRAの強度でどの程度画像にLoRAが反映されるかが決まります。

一般的には、0.5〜0.8だと自然な反映がされ、1.0以上だとLoRAの特徴が強調されます。

あまり小さい強度だとLoRAの影響は少なく、大きすぎる強度だと画像が破綻します。まず0.7あたりから試してみるのが良いでしょう。

A1111 / Web UI への読み込み方

/models/LoraフォルダにLoRAファイルを配置し、GUIを再起動すれば認識されます。

LoRAタブから選択することでプロンプトへ反映でき、GUIベースで操作できるため手入力の必要はありません。

既存のLoRAを使うときと同様に、LoRAフォルダ内に入れてクリックすると反映されます

SD1.5モデル、SDXLモデルでのLoRAの使用と注意点

SD1.5系列のLoRAと、SDXL系列のLoRAには互換性がありません。専用のベースモデル・スクリプトで学習させる必要があります。

プロンプトの記法やファイル構成も異なるため、必ずSDXL対応のものかどうかを確認してください

基本的にはベースモデルの選定の際にSD1.5系列のモデルを選び、下記の画像の赤枠部分のSDXLのチェックを外せば学習できます。逆に、このチェックマークを外してもSDXL系列のモデルを選んでいると学習できません。

プリセットについては使わなくても問題はありませんが、SD1.5と先頭についているものを選べばプリセットをロードできます。

SD1.5のLoRAを作る際は、下のSDXL含めすべてのチェックボックスを外してください

よくある質問とトラブル対処法

LoRA作成中には、学習が止まる・出力崩壊・色ずれなどのトラブルが頻出します。

学習中に止まる/保存エラーになる原因

最も多いのはVRAM不足またはディスク容量不足です。また、保存先のパス設定ミスや権限エラーも原因になり得ます。

まずLoRAを作成する際は、少ない枚数、少ないRepeat数で、1エポック目が終わった際に一度保存をしてみましょう。その際に出てくるログで、エラー原因は特定できます。

いきなり落ちる場合は、VRAM不足かディスク容量不足なので、他のプログラムをすべて閉じた状態で学習を行うかディスク容量を空けてください。

保存先パスの設定ミスは、Kohya’s GUIで選びなおせば問題ありません。

権限エラーが起きる際は、Anaconda prompt側にpermission errorと出ることで判断できます。該当するフォルダを作り直してください。

崩壊・色ずれなどを防ぐTips

原因は学習率が高すぎる、画像の一貫性が欠如している、キャプションが過剰であるのいずれかです。

学習率はデフォルトでは0.0001になっていますが、もっと下げることで安定することもあります。

キャプションについては最低限のキャプションをつけるようにしましょう。

例えば今回の例に用いた画像群では、blonde hair, heterochromia, blue eye, red eye, side ponytailのみをキャプションにしています。

また、画像の一貫性についてですが、例えば「金髪キャラを作りたいのに影の入り方で金髪の色味が違う」「髪型によって見えなくなる部分があるが学習枚数が少ない」などの場合、LoRAの学習がうまくいきにくいため、明るさなどを調整しましょう。

キャラクターLoRAではそのような部分が問題となりますが、作りたいLoRAによって画像の選び方は異なります。水彩風LoRAなどでは、鉛筆やアニメ塗りなどの絵がノイズになってしまうので、同じ画風の絵を選びましょう。

LoRAを配布する場合のマナーとライセンス

LoRAを配布する際は、元画像の著作権やライセンスに注意が必要です。

自分が生成した画像で作成したLoRAでも、もともとのライセンスに「このモデルを使った生成物を配布する場合にはクレジット表記が必要」など書いてある場合があるため、それに従いましょう。特に二次創作LoRAは元作品の規約を必ず確認してください。

配布にはCivitaiなどの共有サイトを活用するといいでしょう。使用条件・学習元の明記・サンプル画像の添付を忘れずに行ってください。

まとめ

今回は、Kohya’s GUIを使ってLoRAを作成する方法をご紹介しました。

必要なツールの準備から、画像やキャプションの用意、学習設定、出力までの一連の流れを丁寧に解説しました。初めてでも手順をひとつずつ踏めば、問題なくLoRAを作成できます。

LoRAの学習と聞くと「難しそう」「高性能な環境が必要そう」と感じるかもしれませんが、実際には30枚程度の画像と適切な設定があれば、個人のPCでも十分に高品質なLoRAを作ることが可能です。

自分だけのキャラクターやスタイルを形にして、Stable Diffusionの世界をさらに広げていきましょう。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次