Last Updated on 2024-08-12 by Clay
在使用 ComfyUI 生成圖片時,我們得借助各式各樣模型的能力,最終才能兜出一個完整的工作流;換句話說,這些所謂『各式各樣的模型』,加總在一起,才是所謂的 Stable Diffusion。而今天,我要介紹可以去哪裡下載到這些模型。
Stable Diffusion 模型介紹
再進一步展開細說,Stable Diffusion 可以被視為 3 + 1 個模型的組合:
- Stable Diffusion Checkpoints (UNet 模型):
- UNet 是 Stable Diffusion 的核心模型,用於圖像生成
- 我們可以從 HuggingFace Model Hub 或是 Civitai 下載這類的模型
- VAE (Variational Autoencoder) 模型
- 用於圖像生成過程中的變分自動編碼器模型,有助於增強圖像質量
- 需要將 VAE 模型文件放在
ComfyUI/models/vae
目錄中 - 可以參考我之前寫的 [Machine Learning] Variational AutoEncoder (VAE) 筆記
- CLIP 模型
- 是一種 embedding model,可以將文字敘述映射到跟對應的圖片相似的向量空間
- 用於文本和圖像之間的對應
- 相關研究可以參考:https://openai.com/index/clip/
- 其他擴充模型和擴充模組(可選)
- LoRA 模型:LoRA 模型可以根據需要添加,調整模型生成圖像的風格
- 擴充模組:這類資源可以從 GitHub 上的各種項目中獲得,例如 awesome-comfyui 等
但我們首先先關注 Stable Diffusion Checkpoint 就好,這個中文常被翻成檢查點,不過你可以想成是模型本體就好。
而這個 Checkpoint 的本體,其實 Stable Diffusion 又分成很多版本,大部分不同版本之間後面能使用的 LoRA 模型是不同的,因為架構就長得不一樣,而 LoRA 模型則勢必得根據某種固定的模型架構下去微調。
在這裡,我暫時推薦大家使用 SD 1.5 版本,因為我自己習慣使用的比較多 LoRA 模型也是 SD 1.5 的版本。Checkpoint 跟 LoRA 之間的關係其實正如下圖所示:
最下面的 X 可以想像成我們的輸入,我們的輸入 X 通過模型的權重 W 後計算出了 h 的輸出,這是本來的過程;而加上 LoRA 之後,就等於我們的輸入 X 除了通過模型本來的權重 W 之外,而外通過了 LoRA 的 AB 兩塊權重矩陣,計算出的結果再和本來模型的輸出相加,得到不同的 h。
推理(生成圖片)的過程不變,只是被添加了其他資訊。
而不同的 LoRA 模型都是針對不同的目的與風格下去微調的,之後我們可能會再介紹一些,不過現在先拉回來講模型下載吧!
模型下載
首先,我們先去 Stable Diffusion 模型下載最大宗 Civitai 平台吧,這裡有超多的模型可供下載,包你花上好幾個月都玩不完!因為模型推出的速度比你下載還要快!
接下來我們下載一個不同的 Checkpoint 模型、當然,之後你也可以下載 LoRA 模型來改變模型生成的風格。這裡我先推薦一個 2D Gyaru Mix 的模型,它的畫風很乾淨,生成二次元動畫角色效果不錯,不會有網路上許多人嫌棄的『AI繪圖油膩感』。
點進想要的模型頁面後,我們可以瀏覽模型的資訊,確認是我們想要的架構(SD 1.5),看看作者的說明,License 是不是有限制或是需要特定的 Prompt... 之類的。
確認都沒有問題後,我們就可以把模型下載到 ComfyUI/models/checkpoints/
裡頭。
接著我們再次回到瀏覽器開著的 ComfyUI 界面,記得按下右側工作版的 Refresh,好讓系統讀得到最新的模型;接著我們讀入之前準備好的工作流:
接著只需要改變一個地方:Load Checkpoint 卡片中的 ckpt_name。將其改為我們下載好想要嘗試的新模型。
效果是不是差了很多呢?
大家可以任意嘗試看看不同的 Checkpoint(基礎模型),下一回我們再來紀錄該如何使用 LoRA 添加風格、該怎麼把 LoRA 加入現有的工作流當中!
References
- Civitai
- Tensor.art - 另外一個 AI 模型分享平台
- HuggingFace Model Hub