この記事は既に内容の古くなったアーカイブ記事です。特に理由がなければ、こちらの最新バージョンの記事をご覧ください。

こんばんは、スタジオ真榊です。みなさまローカル生成楽しまれてますでしょうか? だいぶ操作にも慣れてきて、いろんなことができるようになったけど、「あの版権キャラがどうしても出せない!」とか、「あのエロシチュがなかなか出ない!」といった壁にぶち当たっている方もいるんじゃないかと思います。

そこで本日は、LoRAという追加学習の仕組みを使って、より幅広い表現をできるようにする方法についてご紹介します。もちろん自分でイチから追加学習を行うことも可能なのですが、今回は入門編ということで、LoRAの導入方法と他のユーザーが生成・配布してくれているファイルをダウンロードし、実際に利用するところまでを解説していきますよ。

LoRAを自分で作る方法については、こちらの記事で紹介しています。

1.LoRAとは

LoRAは「Low-rank Adaptation」の略で、先日紹介した「Textual Inversion」と似たように、学習モデルを外部ファイルを使って微調整する仕組みの一つです。Textual Inversionと同様、追加ファイルをWebUIの特定フォルダに放り込んでおき、「トリガー」となる特定のプロンプトを入力すると効果を発揮する点がよく似ています。

普段使っている学習モデル(.ckpt)をベースに、追加学習した新たなモデルを画像生成時だけマージ(融合)するイメージで、それまでは不可能だった表現をさせられるようになります。例えば、特定のキャラや画風を学ばせたり、構図やシチュエーションを覚えさせたり。自分で学習元の画像を大量に用意して新たに追加学習モデルを作ることもできますし、別のユーザーがウェブ上で配布しているモデルを利用することもできます。

以前解説した「Textual Inversion」との違いはいくつかありますが、Textual Inversionの追加ファイル(.pt)は数十KBとごく軽かったのに対して、LoRAの追加ファイルは数十MB以上あるのが普通ですので、ストレージに余裕があるか一応注意が必要です。(賢木がこれまで収集したLoRAは10GBほどありました)

1.LoRAとは:図版1

ツイッターで投稿したこちらのイラストは、神アニメ「Cyberpunk:Edgerunners」のヒロイン、ルーシーをLoRAを使って再現したもの。彼女を示すdanbooruタグはlucy \(cyberpunk\),cyberpunk edgerunnersですが、当然普通の状態でこれを打ち込んでも…

1.LoRAとは:図版2

こういう謎のサイバーパンク画像が生成されるだけですね。これは、Checkpointがルーシーの容姿と「lucy \(cyberpunk\),cyberpunk edgerunners」という単語のセットを学習していないことが理由です。多くの学習モデルはエヴァのアスカや初音ミクなどを学習しており、再現することができますが、相当有名な版権キャラクターでなければ容姿を正確に再現はできません(せいぜい髪色などが似るくらい)。

原作どおりのキャラ造形を再現するためには、多数のルーシーの画像から彼女の容姿を学習した追加学習モデルを自分で作るか、ウェブ上から入手し、SD WebUIのフォルダに適用するのが手っ取り早いです。

「追加学習ってよく聞くけど難しそうで自分には絶対ムリ!」

「ハイスペックPCやSEなみの知識がないと理解できなさそう!」

という声が聞こえてきそうですが、自分で追加学習ファイルを生成するのは確かに敷居が高いものの、他のユーザーが生成してウェブ上で共有しているファイルを利用するだけなら超簡単です。キャラ再現だけでなく、描き込みの量を増やしたり、目の表現を工夫したりと非常に世界が広がるので、ぜひ試してみてください。

2.WebUIに拡張機能をインストールしよう

2.WebUIに拡張機能をインストールしよう:図版1

…という解説項目が当初あったのですが、stable diffusion webUIのアップデートにより、現在は拡張機能をインストールしなくても、初期状態でLoRAを使用できるようになっています。「stable-diffusion-webui\models\Lora」というフォルダに、ウェブで配布されている拡張子「.safetensors」のLoRAモデルを放り込むことで、Loraを利用することができるようになります。