Stable Diffusion 讓使用者只要有 4G VRAM 以上的顯示卡,都能在本地機器上使用 AI 繪圖,但顯示卡如果不夠高階,圖片產生速度就會受影響,因此一直有人在研究如何縮短圖片產生所耗費的時間。Latent Consistency Models (LCM) 是一款基於 Stable Diffusion 模型所調整出來的新模型,能夠以更少的步數產生圖片,還有人以此製作出 Stable Diffusion V1.5 跟 Stable Diffusion XL (SDXL) 能用的 LoRA 模型,以下筆者將示範如何使用 LCM LoRA + LCM Sampler 來加速圖片產生。
LCM Lora 簡易使用教學
設定 LCM LoRA 跟 LCM Sampler
首先下載對應 Stable Diffusion 版本的 LCM LoRA 模型,下載 Stable Diffusion V1.5 對應 LCM LoRA, 下載 SDXL 對應 LCM LoRA。由於檔名相同,如果 SD 1.5 和 SDXL 兩個模型都會使用,可以把 LoRA 檔名加上 SD15 跟 SDXL 方便辨識。下載後找到 Stable Diffusion WebUI 所在資料夾,依序開啟 models - Lora 資料夾,再把 LoRA 模型放到裡面。
接著到 sd-webui-lcm-sampler GitHub 頁面,點選 Download raw file 下載 lcm-sampler.py。
開啟 Stable Diffusion WebUI 所在資料夾,找到 scripts 資料夾,把剛剛下載的 lcm-sampler.py 放到這裡。
開啟 Stable Diffusion WebUI,點選下方的 Lora 分頁,選取剛剛加入的 LCM LoRA。筆者測試使用的 Stable Diffusion WebUI 版本是 v1.6.0,版本不同畫面可能有所差異。
回到 Generation 分頁,Sampling method 選擇 LCM Test,把 Sampling steps 改為 4 (或 4-8 之間的數值),然後 CFG Scale 輸入 1 (或 1-2 之間的數值)。
LCM LoRA 性能測試
筆者測試採用的硬體規格如下:
處理器 | AMD Ryzen 5 5600X (關閉 PBO) |
---|---|
主機板 | ASUS PRIME B550M-K/CSM |
記憶體 | XPG SPECTRIX D60G DDR4 RGB 3000 8GB x2 (OC 3200) |
顯示卡 | ZOTAC GAMING GeForce GTX 1650 Low Profile |
儲存 | ADATA Legend 710 |
使用 SD V1.5 模型,在 Sampling steps 20、Sampling method DPM++ 2M Karras、CFG Scale 7 預設值下產生 512x512 的圖,提示詞 (Prompt) 使用「card template, card template, card game art frame, bright masterpiece artstation. 8 k, sharp high quality artwork in style of jose daniel cabrera pena and greg rutkowski, concept art by tooth wu, blizzard warcraft artwork, hearthstone card game artwork」,未使用 LCM LoRA + LCM Sampler 前耗時 1 分 29.5 秒。
載入 LCM LoRA 跟 LCM Sampler,Sampling steps 設 4、CFG Scale 設 1,只要 22 秒。
筆者測試 LCM loRA 除了一般的 Stable Diffusion WebUI,也能用在 AMD Radeon 顯示卡用的 Stable Diffusion WebUI DirectML 版本上 (因使用 RX 6400 所以只驗證 SD v1.5 模型),若覺得出圖太慢不妨試試看。