天天看點

徹底搞定ComfyUI中的采樣器和排程器

作者:閃念基因

什麼是采樣器

衆所周知,當我們使用Stable Diffusion時,它首先會建立一張充滿噪聲的原始圖像,之後逐漸去除圖像中的噪聲。這個過程就像是雕刻:原始噪聲圖就像是雕刻的原料,去噪的過程就像是用雕刻刀去除廢料,最後生成的圖檔就像是雕刻成型的作品。這個去噪的過程,就被稱為采樣。

選擇何種采樣器進行去噪,就好比是選擇何種雕刻刀進行雕刻。采樣器就是用來負責控制去噪的具體操作。

采樣器的一個重要名額是收斂性。當采樣器達到一個階段,繼續進行更多步驟不會再改善結果時,我們就認為圖像已經達到了收斂狀态。

有些采樣器能夠迅速收斂,非常适用于快速驗證創意和想法。而其他一些采樣器可能需要更長的時間或更多的步驟才能收斂,但它們通常能夠提供更高品質的結果。還有一些采樣器由于沒有設定極限,是以永遠不會收斂,這樣就為創新和創造性提供了更多空間。

什麼是排程器

如果說采樣器是用來負責控制去噪的具體操作,那麼排程器則是負責調控去噪的程度,決定每一步去除多少噪聲,以確定整個過程既高效又精準。

繼續沿用雕刻的比喻,在雕刻的初期,使用較大的力度快速敲掉大塊的部分是有益的,這樣可以加快雕刻的整體進展。而在雕刻的最後階段,我們需要極其細緻和謹慎地處理,以便精确雕琢出細節,防止雕塑出現破損。是以選擇合适的排程器也很重要。

采樣器詳解

接下來我們根據ComfyUI中采樣器的順序,對常用的采樣器進行詳細介紹:

euler

最簡單的采樣器,在采樣過程中不添加随機噪聲,通過噪聲計劃告訴采樣器,每個步驟中應該有多少噪聲。并使用歐拉方法減少恰當數量的噪聲。以比對噪聲計劃,直到最後一步為0 為止。

euler_ancestral (簡寫成euler a)

祖先采樣器的一種,類似于euler。其特點是在每一個新的處理步驟中,它們會添加之前步驟中産生的随機變量。可以想象成在每個步驟清除噪聲之後,又會有一部分先前的噪聲被重新引入。由于每一步都會增加新的随機噪聲,帶有這一特性的采樣器永遠不會達到收斂狀态。

heum

heum是對euler更精确的改進,但是需要在每個步驟中預測兩次噪聲,是以速度比euler慢2倍。

dpm_2

dpm_2可以被視為dpm的更新版,相當于“版本2”。它在原有模型的基礎上做了進一步的改良和優化。

dpm_2_ancestral (簡寫成dpm_2 a)

祖先采樣器的一種,使用dpm_2方法,此采樣器永遠不會達到收斂狀态。

lms

lms采樣速度與euler相同。

dpmpp_2s_ancestral(簡寫成dpm++ 2s a)

dpm++是dpm的另一個更新版。dpm++使用結合确定性和機率方法的混合方法進行采樣和後續的降噪。“2”表示它們是二階模型,“s”代表單步驟,“a”表示是祖先采樣器的一種,此采樣器永遠不會收斂。

dpmpp_sde(簡寫成dpm++ sde)

dpm++的SDE變體,它永遠不會收斂,是以即便步數增高,它也不能提供更高的品質,而是提供更多的變化,就像祖先的采樣器一樣。

dpmpp_2m(簡寫成dpm++ 2m)

類似于dpm++ 2s,"m"代表多步驟(Multi step)。這種方法在每一步進行多次計算,并且會考慮到之前步驟中擷取的資訊,進而實作更精确、更高品質的收斂,但相應地也需要更長的時間。

dpmpp_2m_sde(簡寫成dpm++ 2m sde)

dpmpp_2m的SDE變體,它永遠不會收斂,是以即便步數增高,它也不能提供更高的品質,而是提供更多的變化,就像祖先的采樣器一樣。

ddim

ddim是最先被提出的擴散模型采樣器之一。它的核心想法是每一步的圖檔可以通過添加以下三個東西來近似:最終的圖檔,圖像方向指向目前步驟的圖像和随機噪聲。可是在抵達最後一步之前我們怎麼知道最終的圖檔呢?ddim采樣器是使用去噪圖檔來對最終圖檔進行估計。

uni_pc

最新添加的采樣器,應該是目前最快最新的采樣方法,10步内實作高品質圖像。

如何選擇采樣器

沒有最好的采樣器,隻有最适合的采樣器。

  • • 如果想要穩定可重制的圖像,請避免選擇任何祖先采樣器(名字以a或sde結尾的)
  • • 如果想要簡單的圖,建議選擇euler,heun(可以減少步驟以節省時間)
  • • 如果想快速生成品質不錯的圖檔,建議選擇dpmpp_2m (20 -30步) 、uni_pc(15-25步)
  • • 如果想要每次生成不一樣的圖像,可以選擇不收斂的祖先采樣器(名字裡面帶a或sde)

對比測試

建立一個XY圖表,橫坐标是步數,從第5步開始,間隔四步,總共8個數值;縱坐标是上面介紹的各種采樣器。

徹底搞定ComfyUI中的采樣器和排程器

從上圖中不難發現如下規律:

  • • 名字以a或sde結尾的,确實不會收斂,每一步疊代圖像都會發生變化
  • • euler,heun和ddim采樣器在第9步就已經出圖,對于簡單圖來說,确實是又好又快。
  • • dpmpp_2m和uni_pc采樣器在第14步出圖,其中dpmpp_2m在第18步開始收斂,效果很好。
  • • 不要被dpm_adaptive采樣器騙了,雖然第5步就已經收斂,但是該采樣器速度特别慢。後續我又單獨進行了測試,實際第2步就已經收斂,但是速度很慢。
  • • lms采樣器表現最差。

作者:碼人老高

來源-微信公衆号:AI全棧之路

出處:https://mp.weixin.qq.com/s/MhErwK2ReRkRBWg733U6tw