今日、Waifu Diffsion(WD)のバージョン1.3の学習が完了して、モデルが公開された。
正式リリースは10/8で、Haru氏はそれまでにドキュメントを用意するらしい。
WD1.3のモデルは4種類用意されている。
どうして4つもあるのか?どれがどうなんだ?という話がある。
まず、一番ファイルサイズがでかい(14.6GB)full-opt.ckptは、ファインチューニングの追加学習する際に有用なオプティマイザというデータが残してあるらしい。 次に、full版(7.7GB)は、オプティマイザは削除されてるが、EMAというデータは残ってる。Dreamboothで学習したい時はこれを使えばいいようだ。
いずれにせよ、画像生成するだけならこれらのデータは不要だ。生成するだけならfloat16版やfloat32版を使えばいい。 で、float16とfloat32では、何が違うかというと、浮動小数点の精度が違うわけだが、理論上は精度の差によって生成品質に差が出る可能性はあるけど、事実上ほぼ差は無い…という事らしい。 そのくせ、float32はfloat16よりVRAM消費が増えてしまうらしい。 じゃあ何でわざわざfloat16とfloat32版の二つを用意してるんだ?という話だが、よく分からない。Haru氏が書いているというドキュメントで説明されるかもしれない。
まあ、ディスコとかで聞いた話の上ではこんな感じらしい。
要するに、画像生成だけなら一番サイズが小さいfloat16版を使っとけばいいようだ。
…しかし、それは本当だろうか?ウワサで聞きかじったレベルの話でしか無いと言えばそうだ。
というわけで、本当にその辺の話が真実かどうか、この際なので検証してみよう。
使用する環境は、GoogleColabでWebUIを動かして画像生成する。ちなみにfull-opt版はランタイムタイプがハイメモリじゃないと、ファイルサイズがデカすぎて標準ランタイムではメモリ不足で読み込めないので注意。
4種類のモデルを使って、チルノ、古明地こいし、美樹さやかさんをそれぞれ描かせてみた。↓
cirno 1girl bangs barefoot blue_bow blue_dress blue_eyes blue_ahir bow collared_shirt dress feet frog full_body hair_bow ice ice_wings index_finger_raised neck_ribbon red_ribbon ribbon shirt short_hair short_sleeves solo.Negative prompt: blunt bangs, (((cropped))), disfigured, mutated, bad anatomy, extra fingers, mutated hands, ((mutation)), ((deformed)), ((ugly)), ((blurry)), ((opaque)), ((bad anatomy)), (bad proportions), (extra limbs), malformed, gross, disgusting, out of frame, missing limbs, ((text)), low res.Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 2, Size: 512x768, Model hash: 4470c325