メインコンテンツへスキップ
見出し画像

【雑記】転生したらForgeで追加されたTurbo系Samplerについても比較してみた件。

    ◆はじめに

    こんにちは。
    今回はStable Diffusion向けに新たに公開されたGUI「stable-diffusion-webui-forge」で追加されているTurbo系のSamplerについて、出力される画像を比較してみたいと思います。


    ちなみにタイトル打つときに思ったのですが、「件」ってパっと変換されなくてモヤモヤしません?
    「けん」って打つと「剣」やら「県」やら出てきて、もう「まともに変換されなくて文章が打てなーーーい!!」(Ken Watanabeもご立腹)

    なので「くだん」って打つことにしているのですが、これはこれで「九段」が真っ先に出てきます。プロ棋士しか使わなくないですか?九段。


    ぜひ、みなさん「件」を打つときのおすすめの変換方法を教えてください。
    (何の話?)

    ◆Samplerの検証

    □前提条件

    今回は、以前検証したときの条件を極力使おうと思います。
    他のSamplerについて比較した記事はこちら⇊

    GPU:RTX A-6000
    model
    :DefmixXL-v0.9.safetensors [4f65423364]
    SD VAE:SDXL_vae.safetensors [63aeecb90f]
    clip skip:2
    Positive Prompt:
     (cute girl:1.0), (clear skins:1.0), (simple background:1.0),  (__features/hairlength__:1.0),
     (__features/hair-color__ __features/hair-female__:1.0),  (__clothes/dress_style__:1.0), (half body:1.0)
    Negative Prompt:
     (low quality, worst quality:1.1), (beautiful, cute:1.2)
    Sampling steps:14
    Width:768
    Height:1024
    CFG Scale:5.5
    Seed:1731832030~1731832038

    About Settings

    条件に使用している数値やプロンプトの説明は前の記事でつらつらと書いているので、今回は省略してサクッと行きたいと思います。
    変更点は、Forgeを使っていること、modelとpromptが少し変化していることです。


    ●DPM++ 2M Karras (基準)

    Steps: 14, Sampler: DPM++ 2M Karras, CFG scale: 5.5, Seed: 1731832030,
    Size: 768x1024, Model hash: 4f65423364, Model: DefmixXL-v0.9.safetensors,
    VAE hash: 63aeecb90f, VAE: SDXL_vae.safetensors,
    Clip skip: 2, Version: f0.0.6-latest-39-g1ecbff15

    Time taken: 48.9 sec. (WebUI) → 43.3 sec.
    画像
    DPM++ 2M Karras


    ●DDPM

    Steps: 14, Sampler: DDPM, CFG scale: 5.5, Seed: 1731832030,
    Size: 768x1024, Model hash: 4f65423364, Model: DefmixXL-v0.9.safetensors,
    VAE hash: 63aeecb90f, VAE: SDXL_vae.safetensors,
    Clip skip: 2, Version: f0.0.6-latest-39-g1ecbff15

    Time taken: 45.9 sec.
    画像
    DDPM


    ●DDPM Karras

    Steps: 14, Sampler: DDPM Karras, CFG scale: 5.5, Seed: 1731832031,
    Size: 768x1024, Model hash: 4f65423364, Model: DefmixXL-v0.9.safetensors,
    VAE hash: 63aeecb90f, VAE: SDXL_vae.safetensors,
    Clip skip: 2, Version: f0.0.6-latest-39-g1ecbff15

    Time taken: 45.1 sec.
    画像
    DDPM Karras


    ●Euler A Turbo

    Steps: 14, Sampler: Euler A Turbo, CFG scale: 5.5, Seed: 1731832030,
    Size: 768x1024, Model hash: 4f65423364, Model: DefmixXL-v0.9.safetensors,
    VAE hash: 63aeecb90f, VAE: SDXL_vae.safetensors,
    Clip skip: 2, Version: f0.0.6-latest-39-g1ecbff15

    Time taken: 43.6 sec.
    画像
    Euler A Turbo


    ●DPM++ 2M Turbo

    Steps: 14, Sampler: DPM++ 2M Turbo, CFG scale: 5.5, Seed: 1731832030,
    Size: 768x1024, Model hash: 4f65423364, Model: DefmixXL-v0.9.safetensors,
    VAE hash: 63aeecb90f, VAE: SDXL_vae.safetensors,
    Clip skip: 2, Version: f0.0.6-latest-39-g1ecbff15

    Time taken: 38.3 sec.
    画像
    DPM++ 2M Turbo


    ●DPM++ 2M SDE Turbo

    Steps: 14, Sampler: DPM++ 2M SDE Turbo, CFG scale: 5.5,
    Seed: 1731832030, Size: 768x1024,
    Model hash: 4f65423364, Model: DefmixXL-v0.9.safetensors,
    VAE hash: 63aeecb90f, VAE: SDXL_vae.safetensors,
    Clip skip: 2, Version: f0.0.6-latest-39-g1ecbff15

    Time taken: 1 min. 20.9 sec.
    画像
    DPM++ 2M SDE Turbo


    ●LCM Karras

    Steps: 14, Sampler: LCM Karras, CFG scale: 5.5, Seed: 1731832030,
    Size: 768x1024, Model hash: 4f65423364, Model: DefmixXL-v0.9.safetensors,
    VAE hash: 63aeecb90f, VAE: SDXL_vae.safetensors,
    Clip skip: 2, Version: f0.0.6-latest-39-g1ecbff15

    Time taken: 37.0 sec.
    画像
    LCM Karras


    ◆考察

    まず、1年以上前から広く使われているであろう「DPM++ 2M Karras」を比較の基準としてみたいと思います。

    DPM++ 2M Karrasだけに着目してみると、Dynamic Promptのtoken分だけ以前より処理に時間がかかるはずなのですが、Forgeに変えて88%の生成時間になっており、生成は少し早くなっているのかな?と思います。


    DDPMについてはかなり昔、一時期だけWebUIに実装されてすぐにプルダウンから無くなった覚えがあります。
    DDPM自体はDDIMの元になっている拡散モデルのはずなので、他のGUIでは実装されていそうですが、クラウド環境構築の面倒くささからComfyUIなど試したことがないので分かりません笑

    出力画像を見てみると、DDPM Karrasもそうですが、例えば2枚目の赤髪の女の子。
    "embroidered lace midi dress with cap sleeves"というpromptがwildcardsで採用されていて、実際"cap sleeve"だけではなく"cap"の影響を受けてしまっているのですが、"cap"に対する理解がDPM++ 2M Karrasより少し薄い気がします。もしかすると、単語に対する理解が少し弱いのかもしれません。
    (6枚目の髪の毛ツンツンになっているのも違和感がありますね。)


    今回の主役、Turbo系についてです。
    Turboということで生成時間が早くなるのかと思い「Euler a」と「Euler
    A Turbo」を比較してみると、

    "Time taken: 42.5 sec (Euler a) → 43.6 sec. (Euler A Turbo)"


    あれ?

    不思議に思い、「DPM++ 2M」と「DPM++ 2M SDE」も比較してみると…

    "Time taken: 37.3 sec. (DPM++ 2M) → 38.3 sec. (Turbo)"
    "
    Time taken: 43.9 sec. (DPM++ 2M SDE) → 1 min. 20.9 sec. (Turbo)"


    やはり、時間が短くなるものではないのでしょうか。
    確かに、DPM++ 2M SDE Turboは時間が長くなった分だけ出力画像もきちんとしているのですが、DPM++ 2M SDEではノイズだらけの画像でした。

    画像
    同条件で"DPM++ 2M SDE"にて生成したもの


    そこでTurboモデルが公開されているサイトを見てみると、このような文章を発見しました。

    You can run this model in Automatic1111 like a normal XL model, however not all samplers work with it. I've found DPM++ SDE is the best output performance in the 3 - 5 range, while DPM2 looks really good in the 6 - 10 step range if you're willing to wait just a bit longer. The LCM sampler and Euler A produce almost identical output, which is usable at low steps, but really lacking in detail vs. the other options

    【引用】https://civitai.com/models/215418/turbovisionxl-super-fast-xl-based-on-new-sdxl-turbo-3-5-step-quality-output-at-high-resolutions


    Step数が少なくてもある程度出力が安定するけれど、Step数が大きくなってくると、同系統Samplerに比べて詳細さに欠けてくるということみたいです。(LCMとEuler aは顕著なようです。)


    ◆まとめ

    新たに追加されたSamplerについて比較してみました。

    Turbo系モデルに少し期待していたのですが、思ったよりも扱いが難しそうだと感じました。
    試しに3-5 Stepsで試してみましたが、あまり安定した画像が出ず、結局少し少ないStepで出せるかな?くらいの感じでした。

    私の扱い方が間違っている可能性が非常に高そうですが、まだまだこれからの技術なのかもしれませんね。今後に期待です!


    また、こんな感じで気が向いたら記事にしたいと思います。
    それでは、𐍅𐌰𐌻𐍂𐍉𐌼𐌰~


    (ちなみに"𐍅𐌰𐌻𐍂𐍉𐌼𐌰"は「さようなら」という意味で、GPT-3.5君に未知の言語を作ってもらいました。意外とこういうこともできるんですね。)


     
     
    AIにイラストを描かせています。 普段はPromptの深堀りや、新技術の検証などを行っています。 Noteには備忘録ついでの雑記を掲載していきます。

    あなたへのおすすめ