生成画像のクオリティをさらに向上させたいと思いませんか?
そこで注目すべきなのが「LoRA」です。LoRAは、Stable Diffusionなどの大規模言語モデルに、特定のスタイルやキャラクター、オブジェクトなどを効率的に学習させることができる技術です。少ないデータ量と計算リソースで、モデルの表現力を飛躍的に高めることが可能になります。
こんにちわ、AICU media編集部です。
「ComfyUI マスターガイド」第24回目になります。
本記事では、LoRAの仕組みから、ComfyUIでの具体的な活用方法、そして応用例まで、LoRAを最大限に活用するためのノウハウを詳細に解説します。LoRAをマスターして、画像生成の可能性をさらに広げましょう!
前回はこちら
[ComfyMaster23] 特別編: 画像の髪型を自由自在に変えてみよう! #ComfyUI
1. LoRAとは
LoRA(Low-Rank Adaptation)は、ファイチューニング特定のタスクやスタイルにモデルを適応させるために使用されます。LoRAは、モデルのパラメータを効率的に調整し、少ないデータで特定の出力を得ることを目的としています。
LoRAの主な目的は、既存の大規模なAIモデルを特定のニーズに合わせて微調整することです。画像生成においては、LoRAを使用することで特定のスタイルやキャラクターを学習させることができます。これにより、ユーザーは自分の好みに合った画像生成が可能になります。
LoRAは、モデルの重みを低ランクで調整する手法であり、計算資源を節約しつつ高い性能を維持します。具体的には、元のモデルの重み行列を低ランク近似し、新たなパラメータを追加することで学習を行います。この方法は、従来のファインチューニングよりも少ないデータと計算リソースで済むため、多くのユーザーにとって実用的です。
LoRAのメリット
- 軽量: LoRAのファイルサイズは小さく、ダウンロードや共有が容易です。通常のファインチューニング済みモデルと比較して、数十MBから数百MB程度です。
- 効率的: 計算コストが低いため、GPUのメモリ消費量を抑えながらファインチューニングできます。また、学習時間も短縮できます。
- 柔軟性: 複数のLoRAを組み合わせることで、様々なスタイルや特徴を表現できます。例えば、キャラクターのLoRAとスタイルのLoRAを組み合わせることで、特定のキャラクターを特定のスタイルで描くことができます。
- 元のモデルへの影響なし: LoRAは元のモデルのパラメータを変更しないため、他のタスクへの影響を心配する必要がありません。LoRAを適用しない場合は、元のモデルと同じように動作します。
- 微調整が可能: LoRAの強度は、strength パラメータで調整できます。これにより、LoRAの効果を細かく制御することができます。
LoRAの具体例
- スタイルの適用: 特定のアートスタイルやキャラクターの特徴を学習させることができます。例えば、「LineAniRedmond」や「Pixel Art XL」といったスタイル用LoRAモデルが存在します。
- エフェクトの追加: 画像生成にエフェクトを追加するためにも使用されます。「Dissolve Style」や「GlowNeon XL」などのモデルがあります。
- 補正機能: 生成された画像に対してディテールや質感を向上させるためにも利用されます。「Detail Tweaker XL」などのモデルがあります。
- キャラクターの安定化: 特定のキャラクターやテーマに基づいた画像生成も可能です。ユーザーが用意したデータセットから学習したLoRAモデルは、そのキャラクター特有の特徴を維持した画像を生成します。例えば、「Deltamon Official version1.0」や「ガンマミィ・ジェネレーター」がそれに当たります。
2. LoRAの探し方
SDXL用のLoRAは、様々なサイトで公開されています。代表的なサイトとしては、以下のようなものがあります。
- Civitai: 最大規模のStable Diffusionモデル共有サイトです。ユーザーフレンドリーなインターフェースと豊富な検索機能を備えています。各LoRAには、サンプル画像、使用方法、レビューなどが掲載されています。
- Hugging Face: 機械学習モデルの共有プラットフォームです。SDXLを含む様々なAIモデルのLoRAが公開されています。モデルカードには、LoRAの詳細情報、使用方法、ライセンスなどが記載されています。
これらのサイトでは、キャラクター、スタイル、オブジェクト、衣装、背景など、様々なテーマのLoRAが公開されています。キーワード検索やタグ検索で、自分の好みのLoRAを見つけることができます。
https://note.com/aicu/n/n02de834e3d5c
https://corp.aicu.ai/ja/event20240516
https://corp.aicu.ai/ja/vroid-studio-lora
3. LoRAのインストール
LoRAのインストールは、LoRAファイルをダウンロードし、「ComfyUI/models/loras」フォルダに格納するだけです。今回は、「Dissolve Style」をインストールし、ComfyUIで使用してみます。
このLoRAは、画像生成時にディゾルブ(溶解)効果(画像に溶解のような効果)を追加するためのモデルです。
まず、以下のページにアクセスします。
https://civitai.com/models/245889/dissolve-style-lora-15sdxl
開いたページから、ダウンロードボタンを押下します。
Google Colabの場合、Googleドライブ上の「ComfyUI/models/loras」フォルダにダウンロードしたファイルを格納してください。
これでLoRAのインストールは完了です。
4. LoRAの使い方
LoRAには、適用すれば即時に発現するものと、プロンプトにトリガーワードを入力することで発現するものがあります。例えば、前述した「Detail Tweaker XL」のような補正系のLoRAの多くは、適用するだけで発現するものです。一方で、「Dissolve Style」は、「ral-dissolve」というトリガーワードをポジティブプロンプトに入力することで効果を発揮します。多くのLoRAは、LoRAの説明ページにその内容が記載されています。LoRAを使用する際は、LoRAの説明をよく読んでから始めましょう。
5. ワークフローの構築
ComfyUIでのLoRAの使用は簡単です。標準ワークフローに標準ノードを1つ追加するだけで使用できます。以下が最終的なワークフローになります。赤枠のノードが標準ワークフローからの変更点になります。
ワークフローは文末よりダウンロードください。
今回追加したノードは、「Load LoRA」ノードです。Load CheckpointノードとCLIP Text Encode (Prompt)ノード、KSamplerノードの間に挿入します。各ウィジェットの用途は以下の通りです。
- lora_name: 「ComfyUI/models/loras」フォルダ内のLoRAから適用するLoRAを選択します。
- strength_model: モデルへのLoRAの影響力を設定します。値を高くすると、生成される画像がLoRAのトレーニング画像に似たスタイルを取り入れる傾向があります。
- strength_clip: CLIPモデルへのLoRAの影響力を設定します。値を高くすると、プロンプト内の特定のキーワードやトリガーワードがLoRAのトレーニングデータから抽出されやすくなります。
接続は以下の通りです。
- Load CheckpointノードのMODEL/CLIP出力をLoad LoRAノードのmodel/clip入力に接続
- Load LoRAノードのMODEL出力をKSamplerノードのmodel入力に説続
- Load LoRAノードのCLIP出力を2つのCLIP Text Encode (Prompt)ノードのclip入力に説続
最後にポジティブプロンプトの調整です。今回のLoRAを使用するには、「ral-dissolve」をポジティブプロンプトに追加する必要があります。標準ワークフローで使われているプロンプトの先頭に「ral-dissolve」を追加しました。最終的なプロンプトは以下になります。
ral-dissolve, beautiful scenery nature glass bottle landscape, , purple galaxy bottle,
6. ワークフローの実行
それでは、ワークフローを実行してみましょう。まず、LoRAを適用しないで実行します。生成された画像は以下になります。
次にLoad LoRAのstrength_modelとstrength_clipを1.0にして生成します。画像に変化が見られましたが、ディゾルブには遠い感じがします。
strength_modelを1.1にしてみます。これでディゾルブ効果が見られるようになりました。
strength_clipも1.1にしてみます。strength_modelのみが1.1の時と変わりがありませんでした。プロンプトの効果は十分に効いているということでしょう。
strength_modelを1.0に戻し、strength_clipを0.1ずつ増加させたところ、1.4でディゾルブ効果が見られました。CLIPの強度の影響度は、モデルの強度よりも弱いようです。
最後にstrength_modelとstrength_clipの両方とも1.5に設定し、生成を実行しました。かなり強くディゾルブ効果が出ていることが確認できます。
以下がLoRAなしとLoRAあり(strength_modelとstrength_clipが1.5)の比較画像です。LoRAを使用することで、好みの効果を追加できることが確認できました。
他にも多くのLoRAが存在するので、ぜひご自分の好みのLoRAを探してみてください!
X(Twitter)@AICUai もフォローよろしくお願いいたします!
画像生成AI「ComfyUI」マスターPlan
画像生成AI「Stable Diffusion」特に「ComfyUI」を中心としたプロ向け映像制作・次世代の画像生成を学びたい方に向けたプランです。最新・実用的な記事を優先して、ゼロから学ぶ「ComfyUI」マガジンからまとめて購読できます。 メンバーシップ掲示板を使った質問も歓迎です。
- メンバー限定の会員証が発行されます
- 活動期間に応じたバッジを表示
- メンバー限定掲示板を閲覧できます
- メンバー特典記事を閲覧できます
- メンバー特典マガジンを閲覧できます
- 動画資料やworkflowといった資料への優先アクセスも予定
ゼロから学ぶ「ComfyUI」マガジン
https://note.com/aicu/m/md2f2e57c0f3c
マガジン単体の販売は1件あたり500円を予定しております。
2件以上読むのであればメンバーシップ参加のほうがお得です!というのもメンバーシップ参加者にはもれなく「AICU Creator Union」へのDiscordリンクをお伝えし、メンバーオンリー掲示板の利用が可能になります。
画像生成AIなんでも質問コーナー|AICU: AI Creators Union生成AIクリエイターユニオン『AICU: AI Creators Union』は、「つくる人をつくる」をビジョンに活動するnote.com
もちろん、初月は無料でお試しいただけます!
毎日新鮮で確かな情報が配信されるAICUメンバーシップ。
退会率はとても低く、みなさまにご満足いただいております。
✨️オトクなメンバーシップについての詳細はこちら
この記事の続きはこちらから https://note.com/aicu/n/ndb4d0ed583d7
Originally published at https://note.com on Oct 16, 2024.