Roukin8-character-LoHa/LoCon/FullCkpt ろうきん8

詳細

ファイルをダウンロード

モデル説明

この投稿には、同じデータセットを使用した3つのファインチューニング結果が含まれています:LoHa、LoCon、およびフルチェックポイント(いずれもclip skip 1を使用)。

関連するHugging Faceリポジトリ:https://huggingface.co/alea31415/roukin8-characters-partial(ここにはさらに多数のバージョンが存在します)。

モデルはBPをベースとしてファインチューニングされているため、BPを使用することで以下に示すスタイルを得られます。このモデルをオレンジスタイルで使用する場合は、適切な重み調整を行わないと、オレンジスタイルが損なわれる可能性があります。

LoHa / LoCon とは?

LoHa:ハダマール分解を用いたLora(参考文献:https://arxiv.org/abs/2108.06098

LoCon:残差ブロックに拡張されたLora

詳細については、https://github.com/KohakuBlueleaf/LyCORIS/blob/lycoris/Algo.md をご参照ください。

使い方

WebUIへのインストールには、https://github.com/KohakuBlueleaf/a1111-sd-webui-locon をインストールし、Loraとして使用してください。

なぜLoHaなのか?

以下の比較は非常に説得力があると思われます。

(左:異なる学習ステップ数のLoHa;右:同じ条件のLoCon;同じシード、同じ学習パラメータで学習)

また、5体のキャラクターに加えて、私は複数のスタイルもモデル内に学習させました(これは私がこれまで常にやってきたことでもあります)。

しかし、LoRaやLoConはキャラクターとスタイルをうまく組み合わせることができず(キャラクターはアニメ画像のみで学習)、その能力はLoHaで大幅に向上しています。

2つのファイルのサイズはほぼ同じ(約30MB)です。この際、LoConには (linear_dim, conv_dim) を (16,8)、LoHaには (8,4) と設定しました。しかし、ハダマール積を用いることで、線形層の結果行列のランクは8×8=64、畳み込み層では4×4=16まで大きくなる可能性があります。

(備考)20000ステップのファイルはここに提供されていますが、他のバージョンをご希望の場合はHugging Faceをご確認ください。

フルチェックポイントはどうなのか?

以下の図の通り、依然として最も高性能です。おそらくLoHaに大きな次元や、より優れた畳み込み層の分解を適用し、LoCon/LoHa実装でまだトレーニングされていない少数のレイヤーを再追加すれば、同様の成果が得られるかもしれません。実際に確かめてみましょう。

学習詳細

  • LoCon/LoHa:alpha 1、上記で指定された次元、バッチサイズ8、学習率2e-4、constantスケジューラ、AdamW
  • フルチェックポイント:バッチサイズ8、学習率2.5e-6、cosineスケジューラ、Adam8bit、条件付きドロップアウト0.08

例画像

画像1と4:LoCon、画像2と3:LoHa、画像5と6:フルチェックポイント

データセット

アニメ画像部分のデータセット(3000枚のアニメスクリーンショット)をアップロードしました。現在のフォーマットは、Everydream で multiply.txt と共に使用可能。kohya trainer では以下のスクリプトをご利用ください:https://github.com/cyber-meow/anime_screenshot_pipeline/blob/develop/utilities/flatten_folder.py

python flatten_folder.py --src_dir /path/to/dir

このモデルで生成された画像

画像が見つかりません。