X

WAN2.2 TI2V 5BのLoRA学習が捗る方法

WAN2.2 TI2V 5Bで生成をいくつかやってみて、LoRAでも学習させるかとmusubi-tunerを動かしてみたがエラーが出まくり無理だった。7/29

いずれは対応してくれるだろうと放置していたら

WAN2.2 TI2V 5BのLoRA学習の動画がおススメに出てきたので観ると、

AI Toolkit がWAN2.2の5BのLoRA学習に対応しているということでやってみた。

使ったのはレンタルGPUでRTX5090だ。

学習したのは512×900 24フレーム 8FPSの動画15ファイルだ。

結論から言えばこれloss値の上下はmusubiに比べてギャンブル性が高いデフォルト設定だが明らかにmusubiより早く学習できる。


Ostris AI-ToolkitとMusubi-tunerでは学習の特性が異なります。

違いの理由
1. 学習アルゴリズムの違い
  • Musubi-tuner: より保守的で安定したアプローチ
  • Ostris AI-Toolkit: より柔軟だが変動しやすい
2. デフォルト設定の違い
yaml
# Ostris AI-Toolkit(より動的)
learning_rate: 1e-4
optimizer: "adamw"
scheduler: "cosine_with_restarts"  # 変動要因

# Musubi-tuner(より安定)
learning_rate: 5e-5  # より低め
optimizer: "adamw8bit"
scheduler: "constant_with_warmup"  # 安定
3. バッチ処理の違い
  • Ostris: より積極的なバッチング
  • Musubi: より慎重なバッチサイズ管理

というわけでギャンブル性の高いOstris AI-Toolkitで学習させてみることにした。

詳しい解説は上記の動画を観よう。

まずは普通にpipでインストールする。

ローカルで動画生成をしている方なら記載のマニュアル通りにやればなんとかなる。

起動も何事もなくできた。

ブラウザでport8675につなげばいい。

するとこんな画面になるので最初にdatasetsで学習用動画を入れてTrainning Jobで設定して実行という流れになる。

まずはdatasetsに用意した学習用動画をアップロードする。

動画とファイル名の一致するtxtをキャプションで用意してアップロードすると綺麗に並んでチェックできる。FluxGymみたいな感じで楽でいい。

ただ動画の人はキャプションなしでトリガーワードだけセットしていた。

キャプション(学習で覚えさせるための動画の説明)作成するのは地味に面倒なのでトリガーワードだけでいいなら楽でいい。

ちなみにキャプション作成するときはトリガーワードを入れ、モーションの説明をしてFlorence2Modelで画像の説明文を作成して放り込んでいる。

ここまで出来たらTraining New JOBで設定をしていく。

赤枠を変更した。

training nameはLoraのファイル名のプリフィックスになるので任意でいい。

torigger wordはLoRAを呼び出すときのワード。

一度でも使ったことがあれば知っているはずだ。

ModelはもちろんWAN2.2 5Bを選択する。

Timestampはsigmoidを選んでいたのでその通りにした。

Undord Text encoderはオンにしていたので真似た。

下の方にスクロールする

datasetは作成した名前が表示されているのでそれを使えばいい。

いくつか作っていたらプルダウンで選べるようになっている。

そして学習時の解像度を選ぶ。

今回は512,768,1024を選んだが小さければVRAMの使用量が減り画質の悪いLoRAとなり大きいとVRAM消費が多く精度の高いLoRAになる。

次に学習した動画のサイズを選ぶ。

musubiでは普通に学習できた512×910だったが、この学習ソフトではエラーになるので512×900でやり直している。

あとはFluxgym同様に学習の区切りでそのLoRAを使って生成をしてチェックできるので、そのためのサンプル画像やプロンプトを設定しておく。

こうすることによって学習進捗度が視覚でチェックできる。

なお、サンプルそのままにしておくと全てのサンプルプロンプトを実行して学習時間が無駄に延びるので、2-3個作ったらあとはxで消そう。

設定が終わったらセーブして、右上のプレイアイコンを押せば必要なモデルをダウンロードして学習がはじまる。

結果はCheckpoint欄にLoRAができていくのでそれをダウンロードすればいい。

この設定で20GBくらい使っていたのでmusubiに比べてかなり小さいVRAMでも学習できそう。モデルサイズが異なるので一概に比較できないがWAN2.1 14Bでmusubiで同じ動画の学習では40GBを超えていた。

最後まで試してはいないが、512×512 24フレーム15ファイルくらいなら12GBのグラボでもいけそう。

そしてloss値とサンプル結果をチェックして1750ステップのLoRAまで学習させて1500あたりで十分使い物になるLoRAになったのでRTX5090なら1時間以内とかなり早く学習できるが前述の通りmusubiに比べてloss値の変動が大きくてギャンブル性が高い。

安定のmusubiかギャンブルのOstrisだ。

おーら: