chili (@kawaiiprompter) 's Twitter Profile
chili

@kawaiiprompter

AI画像生成を楽しんでいます。いいねしてくれると喜びます!

画像生成のためのWebアプリ
note.com/diff_momot/n/n…

ID: 1563745355216220162

linkhttps://www.aipictors.com/user/?id=228 calendar_today28-08-2022 04:29:02

680 Tweet

1,1K Followers

303 Following

chili (@kawaiiprompter) 's Twitter Profile Photo

次はRegional Prompterを再実装してちゃんと理解して、ステップ数や空間ごとに別のプロンプトやLoraを割り当てられるかを試したい 理想はステップ2くらいで服装や顔の位置が定ったらその周辺だけにプロンプトやLora を割り当てたり、周辺に小道具があるような情報量の多いイラストを作れるようにしたい

chili (@kawaiiprompter) 's Twitter Profile Photo

nota-ai/bk-sdm-v2-tinyのモデルを使って、久しぶりにdiffusersのtrain_text2img.pyから学習環境を調整中 (720, 1280),(960, 1280),(1280, 960),(960, 960),(1280, 720)のサイズの画像で16Batch/A10G(VRAM:23GB)くらい

chili (@kawaiiprompter) 's Twitter Profile Photo

学習速度は190.47枚/分。1GBあたりにすると、8.28枚/分/GB AnimagineXLが1.2m枚10epochをA100(80GB)x2で500時間くらいなので、2.5枚/分/GB VRAMを増やしたときに線形に増えるか問題はあるけど、tiny modelであれば3.3倍はやく学習を進められる

chili (@kawaiiprompter) 's Twitter Profile Photo

vast aiであれば8xA100(80GB)が$6.4で借りられるので、1000GPU時間であれば$800(12万円) 1/10にできれば1.2万円くらいでファインチューニングの検証ができる

chili (@kawaiiprompter) 's Twitter Profile Photo

micro-diffusionであれば512x512の画像サイズであるけどH100x8で2.4days(=460.8GPU時間) ただA100,H100の違いと画像サイズ違いの影響は大きそうだけど仮に2倍としてもゼロベースで1000GPU時間かければ作成できるのは強い

chili (@kawaiiprompter) 's Twitter Profile Photo

どでかいモデルが大正義なのはわかるけど高頻度に学習を回せないので、知見をためる検証のための小さいモデルがほしいというモチベーション

chili (@kawaiiprompter) 's Twitter Profile Photo

nota-ai/bk-sdm-v2-tinyから16バッチx10,000iterくらい計14時間学習してみた 初期がバニラSDv.2.1の蒸留モデルにしてはWD初期を思い出す感じになる 顔が途切れているのは蒸留の学習時と解像度が違うことが影響してそう

nota-ai/bk-sdm-v2-tinyから16バッチx10,000iterくらい計14時間学習してみた
初期がバニラSDv.2.1の蒸留モデルにしてはWD初期を思い出す感じになる
顔が途切れているのは蒸留の学習時と解像度が違うことが影響してそう
chili (@kawaiiprompter) 's Twitter Profile Photo

これまでサボっていたDiTやPixArtやFlowやSD3やmicro diffusionの論文や実装コード読んでようやく最近の環境が分かってきた 次はReflow系の学習コードとかPatch-mixerとか学習の高速化の資料読んで、Tinyモデル作って学習回したい

chili (@kawaiiprompter) 's Twitter Profile Photo

Fluxを学習用に量子化以外の方法で軽量化できないかと低ランク近似や構造のスキップなど試してるけどうまくいかない……

chili (@kawaiiprompter) 's Twitter Profile Photo

flux devのlinear層を512次元に低ランク近似→復元して誤差を計算したもの(縦軸:各要素の最大誤差、横軸:各要素の誤差の中央値) single_transformer_blocksが層数も多いし簡略化するうえでやっかい・・・

flux devのlinear層を512次元に低ランク近似→復元して誤差を計算したもの(縦軸:各要素の最大誤差、横軸:各要素の誤差の中央値)
single_transformer_blocksが層数も多いし簡略化するうえでやっかい・・・
chili (@kawaiiprompter) 's Twitter Profile Photo

生成結果:1枚目オリジナル(23GB)、2枚目すべて512次元に近似(12G)、3枚目前図誤差の大きい3要素はオリジナルそれ以外512次元(15G) ここからファインチューニングしてもうまくいかなそう・・・

生成結果:1枚目オリジナル(23GB)、2枚目すべて512次元に近似(12G)、3枚目前図誤差の大きい3要素はオリジナルそれ以外512次元(15G)
ここからファインチューニングしてもうまくいかなそう・・・
chili (@kawaiiprompter) 's Twitter Profile Photo

ema+full model trainingよりもLora training->mergeの方が学習の発散を防げていいよね 問題としては全構造への適応じゃないということくらい?元の結果からバリアを超えて大きく変えくらいLora自体の自由度があるかどうかや収束性もあるかな

chili (@kawaiiprompter) 's Twitter Profile Photo

pixart sigmaのtext encoderをt5 largeに変更するためlora+caption projectionでxxlに出力が一致するよう学習。こちらは安定してきた 今はt5 largeとclip-h-14をconcatしたモデルでtransformer部分をloraで学習中だけど不安定 patch mixerも実装しておきたいけどこちらも素で安定化させるの難しそう

chili (@kawaiiprompter) 's Twitter Profile Photo

今さらながら、昨日の夜にプロジェクトヘイルメアリーを読み終えたけどめちゃくちゃに良かった これまでに読んできたSFの中でも圧倒的に面白くて、SFの名作って今でも生まれるんだ…という感想 あと一ヶ月くらい中で出てきた計算を追うなどして余韻を楽しみたい