LoRA学習ツールはsd-scriptやai-toolkitなど色々あります。
今回はRunpodとの連携が便利な「Fizgig」というツールを紹介します。
今回作成するLoRAは、MOSS-Image用のLoRAです。
MOSS-Imageの導入と使い方は以下の記事で見れます。
本記事では、Fizgigを使いローカルで学習する方法とRunpodと連携して学習する方法を解説していきます。
また、Runpodの登録は以下から出来ます。

上記のリンクから登録することで、以下の特典を受け取ることが出来ます。

Fizgigを使う理由
まず、LoRA学習でお馴染みのsd-scriptsが既にあるのに、なぜ新しい学習ツールを使うのか。
学習に使用するツールにはいくつかの選択肢がありますが、Fizgigには他にはない機能があります。
それは、ローカルで学習している途中に、Runpodでの学習に切り替えるという機能です。
学習中にゲームなど他の作業を行いたくなったり、天気が悪くなり停電の可能性が出てきた時に学習をRunpodへ渡し継続することが出来ます。
これがFizgigを使用する理由の1つです。
また、この記事ではRunpodへの切り替えなども一緒に説明していきます。
ちなみに、Fizgigで対応しているモデルはMOSS-Imageの他に26/10/26時点で、Klein 9B、MiniMax H3、Krea 2、Qwen Image 2.1、SDXL、Anima、Z-Image Turbo、ACE-Step 1.5 XL、Flux 3 Image Kleinがあります。主要モデルにはほぼほぼ対応していますね。
Fizgigの導入と起動時の注意
まずはFizgigを導入していきます。以下のFizgigのリポジトリへアクセスします。
次に、リポジトリの説明欄に記載されているインストール方法を確認し、使用している環境に合わせた方法でインストールしましょう。
この記事ではWindowsを前提として説明していきます。
インストールが終わったら後は起動するだけです。「Launch Fizgig.bat」 または 「Launch Fizgig in browser.bat」 をクリックしてFizgigを起動します。
スポンサーリンク
学習用画像とモデルの設定
Fizgigを起動したら、学習で使用するモデルなどのパスを設定していきます。
起動したら、画面左側のメニュー一覧から「Preferences」を開きます。

基本的にはデフォルトでOKですが、フォルダパスを指定すると便利な箇所や、絶対に指定が必要なところだけ説明していきます。
まずはこの2つです。

・Training data folder
この項目では、学習用画像を保存してあるフォルダが入ったフォルダを指定します。
学習毎にフォルダを選択することも出来るのでここでの設定は必須ではありませんが、ここで設定しておくと、学習時のデータ選択画面で指定したフォルダに入っているサブフォルダ(画像の入っているフォルダ)が一覧で表示されるようになります。
しかし、サブフォルダのサブフォルダ、いわゆる孫フォルダまでは表示されないので、画風用とキャラ用でフォルダを分けている場合は機能しません。
・LoRA output folder
学習済みのLoRAファイルのデフォルトの保存場所です。学習時にも指定出来ますが、そこで指定しなかった場合、ここで設定されているフォルダへ保存されます。
次は学習用のモデルを設定していきます。
下の方へスクロールしていくと、いくつかのモデル名が記載されています。

今回はMOSS-Image用のLoRAを作成するので、MOSS-Imageのタブを開いて以下のようにそれぞれ指定していきます。

既にモデルを持っているのなら、右側の「Choose」ボタンからモデルが保存されているパスを選択し、持っていないなら「Download」ボタンからダウンロードページを開き、ダウンロードします。
MOSS-Imageには「Base」と「SFT」の2つのモデルがあり、基本的にはBaseモデルを学習用とし、SFTモデルを生成用で使います。しかし、SFTモデルで学習した方が良い結果になったという情報もあるので、どちらが正解というものではないようです。
ここで1つ注意点なのですが、恐らく途中から学習をRunpodに移す場合、各モデルは「Download」ボタンで開けるページからダウンロード出来るものしか対応していないようです。私の環境では、それ以外のモデルを選択するとエラーでRunpodに移行できませんでした。
例えば、vaeは「flux2-vae.safetensors」 と 「flux2-vae_small.safetensors」 の2つがありますが、「Download」ボタンからは 「flux2-vae_small.safetensors」 のページしか開けないので、smallと付いたvaeを使用するようにしてください。
Runpodと連携する
FizgigからRunpodを使用する為には、RunpodのAPIキーが必要になります。
Runpodへログインしたら、左側のメニュー一覧から 「Credentials」 をクリックします。

表示されたページでAPIキーを作成します。
「API Keys」 タブの 「+ Create API Key」 ボタンをクリックしてAPIキーの設定を行います。

「API Key options」はデフォルト”ALL”となっているので、設定する箇所は「Name」だけでOKです。
「Name」このAPIキーの名前なので自由に決めてください。

APIキーの名前を決めたら、右下の 「Create」 ボタンをクリックします。
これでAPIキーの作成が完了しました。
この画面を閉じてしまうとAPIキーを確認出来なくなってしまうので、忘れずにコピーしておきましょう。

また、APIキーは他人に教えないようにしましょう。
それでは、APIキーをコピーしたらFizgigに戻ります。
Fizgigへ戻ったら、左側のメニュー一覧から 「Pods」 をクリックします。

次に 「RunPod API key (optional)」 へ先ほどコピーしたAPIキーを貼り付けて、「Save」 ボタンをクリックします。

これでFizgigとRunpodの連携ができるようになりました。
スポンサーリンク
FizgigからPodを立ち上げる
APIキーの登録が済んだら、今度はPodを立ち上げます。Podを簡単に説明するとクラウドGPUの事です。CPUのPodもあるので厳密に言うと違いますが、LoRA学習目的ならGPUは必須なのでPod=クラウドGPUという解釈でも良いでしょう。
Fizgigは引き続き「Pods」メニューの画面を見ていきます。
先ほどAPIキーを登録した「RunPod API key (optional)」から少し下へスクロールすると「Rent a pod」という項目があります。

この欄に使用出来るGPUが一覧表示されているので、使いたいGPUの「Deploy」ボタンを押します。
Deployボタンを押すと、ブラウザでRunpodが開きます。
この時、GPUやテンプレートは既に選択されています。

変更を加える部分はストレージです。
下へスクロールすると「Storage」と書かれた欄があるので、その欄の「+Add volume」をクリックします。

クリックしたらストレージ容量などを設定していきます。

ストレージの種類は「Volume disk」、容量は300GBが公式の推奨設定です。
「Global volume」には対応していないようです。
種類と容量を設定したら、「Add volume disk」をクリックして確定します。
これでPodの設定は完了したので、後は立ち上げるだけです。
設定の最終確認をしたら、「Deploy Pod」ボタンを押します。

GPUに空きがない場合は「Deploy when available」という表記になります。

このボタンをクリックしておくことで、GPUに空きが出来たら自動で立ち上げが始まります。
立ち上がり後のセットアップに数分かかるので、終わるまで待ちます。

以下のような表示になればセットアップ完了です。

Runpod用のFizgigやファイルマネージャーを開く時に必要なパスワードを確認しておきましょう。
まず「Logs」タブを開きます。
次に「Container」をクリックし、表示されているパスワードを確認します。

パスワードを確認したら「Connect」タブへ戻り、Runpod用のFizgigを開き先ほどのパスワードでログイン出来るか試しておきましょう。
また、ファイルマネージャーのIDは “admin” となっています。

Podの立ち上がり後、Fizgigの画面に戻り「Pod」欄の「Your pods」に立ち上げたPodが表示されていればOKです。

これでPodの立ち上げは完了です。
ローカルPCのFizgigからRunpodのFizgigへデータを送って学習する方法
まずは、ローカルのFizgigから学習設定を行い、最初からRunpodで学習を始めるやり方を解説します。
Runpod用のFizgigに切り替える
それではまず、ローカルで立ち上げているFizgigからRunpodのFizgigへアクセスします。
「Pod」の「Your pods」に表示されている立ち上げ済みのPodから、「Open」ボタンを押します。

すると、画面がRunpod用のFizgigへ切り替わります。

ここでパスワードを求められるので、先ほど確認したパスワードを入力してログインします。
また、画面上部に表示されている「Switch to this computer」をクリックすることで、ローカルのFizgigへ切り替えられます。
学習用画像をRunpod用Fizgigへ転送する
次に、メニュー一覧から「Start」を選択し、「From this computer」欄に表示されている学習に使用する画像フォルダの「Send to this pod」をクリックします。

もし、このボタンから学習データをPodへ送れなかった場合、その下の「Upload a training folder」から学習画像の入ったフォルダを選択してください。
転送が完了すると、「Your training data」欄に転送した学習データが表示されます。
使用するデータをクリックして選択しておきましょう。

これで学習データの転送は完了です。
学習用モデルの設定
次にPod用に学習モデルを設定していきます。先ほど設定したモデルはローカル用のものなので、Podには反映されていません。
「Preferences」を開き、「Download models for me」ボタンから各モデルをダウンロードしていきます。

ダウンロードが終わったら自動で割り当てられますが、もし違うモデルが割り当てられていたら「Choose…」ボタンで変更できます。

生成されるサンプル画像の設定
学習中に生成されるサンプル画像用のプロンプトなどを設定します。
メニュー一覧から「Samples」をクリックすると設定が行えます。

プロンプトや生成サイズなど、各項目を設定してください。
学習を開始する
後は学習用の値などを設定し学習を開始するだけです。
メニュー一覧から「Training」を選択し各項目の値を決めたら、下の方へスクロールし「Run」の「Start Training」をクリックすることで学習を開始できます。

保存されたLoRAファイルは「Checkpoints」欄の「Download」ボタンからダウンロードすることが出来ます。

生成されたサンプル画像はメニュー一覧の「Samples」から「Previews so far」から確認出来ます。

これで、ローカルPCから設定を行い、Runpodで学習をする手順の解説を終わります。
スポンサーリンク
ローカルの学習をRunpodへ引き継ぐ方法
次に、ローカルからRunpodへ引き継いで学習を継続する方法を解説していきます。
モデル設定やPodの設定などは最初に行っているので割愛します。
また、Runpodへ引き継ぎを行わなければローカル学習になるので、ローカル学習の手順もこの項目を参考にしてください。
学習用画像の設定
メニュー一覧から「Start」を選択し、「Training folder」の「Choose…」ボタンをクリックし、学習用画像の入ったフォルダを選択します。

フォルダを選択したら、その下の「Your training data」欄の「Reload」ボタンを押すことで、学習用画像が表示されます。ここで選択されているデータが学習に使用されます。

引き継ぎ先のPodを設定する
次に、引き継ぎ先のPodを設定していきます。
メニュー一覧から「Helpers」を開き、「Add a Helper」から使用するPodの「Add as a helper」ボタンをクリックします。

そうすると「Your helpers」欄に指定したPodが表示されます。

ここにPodが表示されていれば設定完了です。
サンプル画像の設定
学習中に生成されるサンプル画像の設定を行います。
メニュー一覧から「Samples」を開き、各種設定を行います。

ローカルの学習をRunpodへ引き継ぐ
それでは、ローカルで学習中にRunpodへ引き継ぎ継続するまでの手順を解説していきます。
まずはローカルで学習を始めます。
メニュー一覧から「Training」を選び、「Run」の「Start Training」から学習を開始させます。

学習を開始させ少し待つと学習が始まり「Move to…」ボタンを押せるようになるので、このボタンをクリックします。

次に、どのPodで学習を引き継ぐかを選択し、「At the end of this epoch」ボタンをクリックします。

現在学習中のエポックが終わったら、選択したPodへの引き継ぎが開始されます。
引き継ぎが開始されるとPodへデータの送信が始まります。

問題なくデータの送信が終わるとRunpodで学習が開始されます。
また、Runpodで学習中にサンプル画像のプロンプトを変更する場合は、RunpodのFizgigを開きプロンプトを変更してください。
ローカルで変更してもRunpodのFizgigには反映されません。
学習をローカルへ戻す
最後に、Podで学習している内容をローカルへ戻すやり方です。
「Bring it back」ボタンをクリックします。

これでローカルへ戻して学習を継続することが出来ます。
この時、「Delete the pod once it’s all here」 がONになっていると、ローカルへデータを戻した後Podが削除されます。削除したくない場合はトグルをOFFにしましょう。
Podの停止と削除方法
Podは起動している間は利用料が掛かるので使用していない時は停止させましょう。また、停止している状態でもストレージの維持費が掛かります。ストレージ維持費を掛けたくない場合はPodを削除しましょう。
それでは、Podの停止方法と削除方法を解説します。
Podの停止方法

Podの停止は、Pod起動時に表示される画面から「Stop」ボタンを押すと止められます。
途中でこの画面を閉じてしまっていても、Runpodトップ画面の左側のメニュー一覧から「Pods」をクリックするとPod一覧を開けるので、そこから終了出来ます。
Podの削除方法

Podの削除はPod停止後に表示される「Terminate」ボタンで行えます。
最後に
LoRAの学習ツールは色々ありますが、Fizgigはアップデートによる機能追加も頻繁に行われており、Runpodとの連携も強いのでお勧めの学習ツールと言えますね!
それでは!





コメント