結果から言えば全く処理速度は変わらなかったわけですが、当然と言えば当然(笑)
量子化でファイルサイズは小さくなったものの、後から分かったのですが、扱ったsafetensorsはcliplとかt5とかvaeとか全て入っているsafetensorsファイルだったものらしく、stable-diffusion.cppで実行時にエラーにはならないものの、モデルファイルのロード時に大量の「 unknown tensor」が表示されました。
そもそも量子化がおそらくBF16とかFP16を前提としているはずなので、FP8でも一旦FP16にしてから量子化しているのではないかなぁ…と言う推測(笑)結局、量子化したQ4_Kの実行速度の差は変わらなかったという話でした。
とは言え、画像が出力されたのでその違いが結構出ていたので残しておこうかと。
面白いのが、元がFP8の Q4_Kのモデルファイルをを使った方がより自然な物に見えました。一方、元のモデルファイルに近い動きを見せると思われるunslothさんのflux1-dev-Q4_K_M.ggufでは背景が不自然に直線的な部分が多く感じました。あと、なんか周りの小物が殺風景というか…。好みかもしれませんけどFP8のモデルの方は結構試行錯誤の末、洗練された形でFP8化された感じがします。
いつもながらシンプルなプロンプトで作成したのでほぼ乱数任せなのですが。
| FP8をQ4_K化 | Q4_K |
|---|---|
中心人物がほぼ同一人物になっている感じなのは面白かったりしますが、小物やら何やらが結構違っています。
まぁ中心人物がかなりコスプレ感満載なのが納得いかなかったりしますが、この辺どうやるんでしょうかねぇ?男性も少し出力してみたんですが、正直年齢とかあんまり気にならなかったんですが、女性だと結構いろいろ違和感を感じる部分が多いです。
ただ、ウーマンとするだけだと乱数任せだと当然のごとく、全く安定しないので、年齢の影響を与える要素として、ガールにしたり、ハイスクールガールとか、そんなキーワードを入れたりしてるのですが、アジア系だと妙に子供っぽくなったり、ヨーロッパ系の白人になるとものすごい大人な感じの人になったりで、あまり安定しないんですよねぇ。
後日もうちょっと処理時間が変わるような方法がとれたらと思います。FP8のsafetensorsファイルからflux1のモデル部分だけ分割できればそのままでもいけそうなんですが…
ちなみに週末に地味にstable-diffusion.cppのリリースが小刻みに行われている様でした。ソースを見てもう少し必要メモリを下げて実行できそうな気がするのと、step毎に出力もさせたいなぁとか思っているのでソースを眺めているのですが、ちょいちょい行番号がずれてて驚きましたw


0 件のコメント:
コメントを投稿