[メンバー限定記事]Google Colabでつくる初心者向けLoRA最短設定 #SD黄色本
この記事は、Google Colabでつくる初心者向けLoRA最短設定を #SD黄色本 のアップデートとしてお送りします。
SD黄色本 第6章「LoRAを作って使ってみよう」で紹介していたLinaqruf版のKohya Trainerがメンテナンス終了→アーカイブとなり、うまく動作しない状況が続いていました。
AICU media編集部では、移行先として複数のLoRA Trainerを検討しています。
① Stability Matrixに収録されている「kohya_ss」
② Google Colab で動作するGUI版「Kohya_ss」
③ Lora Trainer by Hollowstrawberry
④ Linaqruf版をベースにAICUがメンテナンスしつづける
今回は、③のHollowstrawberry版を使って「初心者に向けてローカルGPUを使わずにできるだけ短い設定でLoRAをつくる体験をする」に挑戦してみます。
今回は学習時に要求されるメモリと画像を生成した際のコントロールのしやすさを考慮し、1.5 モデル用の LoRA を制作します。
データセットを用意する
LoRA は何枚かの画像の特徴を学習することによって作られます。そのため、共通の要素を持った画像を複数枚用意することが必要です。この学習元の画像群のことを「データセット」と呼びます。
今回は絵全体の雰囲気を学習し、画風を再現した LoRA を制作するので、AICU のパートナークリエイターである「9食委員さんから許諾された15枚のイラストをデータセットとして使用します。
画風を再現すると言っても、画風という言葉は具体的な特徴を指していないので、今回は目標通りの LoRA が制作できたかどうかを確認するために再現したい特徴をあらかじめピックアップしておきましょう。
注意:学習元画像に関して、日本の法律では他人が著作権を持つ画像を 「AIの学習に用いること」は可能ですが、その学習結果による「モデルやLoRAそのもの」や「LoRA を使って生成した画像」にはそれらの製作者が責任を持つ必要性が存在します。そのため、「他人が創作した画像」を無許可で学習対象として使用することや出処不明の画像を使用し、インターネット等に公開したり流通させることは個人であっても著作権侵害、商標権侵害として罰される可能性があります。また商用利用する場合はライセンスの解決が必要であり、レピューテーション(reputation;風評被害)などの責任を負う可能性があるため、SD黄色本では「推奨しない行為」としています。またフリー素材サイト等から画像をダウンロードして使用する際も、必ず利用規約を読み、学習・生成・商用利用・再配布などの問題が無いことを確認し、理解してから使用しましょう。
そのためAICU media編集部ではトレーニング用のデータセットを用意してあります。SD黄色本の読者は問題なく実験をすることができます。
データセットの解像度と正規化
学習させるデータの整理についても解説しておきます。今回行う LoRA の学習はSD1.5系のため、解像度としては 512×512 px が最適になります。SDXL系の場合は 1024×1024 px の画像を学習するため、あらかじめ画像のサイズを調整しておく必要があります。Photoshop などの画像エディタで 1024×1024px にトリミング、縮小または不足部分は塗り足ししておきます。このようにデータを一定ルールに合わせて整理することを正規化と呼びます。また今回は学習画像を増やすために、画像を複製し左右反転したものも追加し、30枚に増やしました。
一般的にLoRAによる作風の学習をする際は、30枚〜50枚の画像を学習させると品質を安定させられるといわれています(新技術もあり諸説あります)。枚数が不足する場合はトリミングしたり、鏡像を作るなどして増やすことも有効です。また学習する画像に作者の都合で偏りがある場合もあります。たとえば「左向きの顔が多い」など、生成するLoRAに反映させたくない偏りが生じていると、それも特徴の1つとして学習されてしまうことがあります。その場合は左右反転したコピーを追加しておくことが有効です。
サンプルデータセットの入手方法については後ほど紹介します。
Google Colaboratoryを使ったLoRA生成
データセットの準備が整ったらGoogle Colaboratory を用いてLoRA学習を行っていきましょう。
アップロードができたら、以下のColab notebook を開きます。
ここから先は
応援してくださる皆様へ!💖 いただいたサポートは、より良いコンテンツ制作、ライターさんの謝礼に役立てさせていただきます!