由於 SDXL 的模型訓練的硬體需求實在很高,所以多半得靠第三方服務,或是自己去弄一台雲端的 GPU 來幫我們訓練。我在本地端用比較低的設定來跑,勉強還能夠訓練比較小型的 SDXL Lora,更高的需求就真的只能靠第三方。
所以這次就記錄一下各組訓練的數據,跟產出的對比。
TensorArt
我在上一篇文章 [TensorArt] Lora 訓練筆記 中,已經有介紹過。詳細的設定我就不在這邊贅述了。然後,官方已經把 Prodigy 優化器修好了,所以這次就用 Prodigy 來訓練。以下是本次訓練的相關參數,
Use Base Model:
對於硬體需求比較高的訓練,利用第三方平台算是一個不錯的選擇。當然,若你是有一些工程背景知識,使用 Colab 或是 Runpod 也是一個選項。但倘若是訓練入門的人,使用 TensorArt 所提供的工具也是不錯。
這是我目前訓練 Lora 的流程概念筆記,訓練的過程其實大概就煮飯一樣,現在電子鍋很方便,就跟訓練器一樣,只是準備不周的話,飯會不會熟就是另一回事了。
訓練資料集
首先你需要明確的知道你想要訓練的「目標」是什麼,這樣才能準備資料。無論你訓練的目標是什麼,盡量多元的資料集是必須的。
1. 如果只訓練一個概念( Concept ),那麼請盡量刪除或抹去與這個概念會產生衝突的資料。
2. 訓練多個概念,可以透過特定的標籤( Tag )來解決,這樣會需要更多的訓練時間。
3. 如果你使用 ARB ( Aspect Ratio Bucket) 的訓練方式,可以不裁切資料集圖片(
單純介紹一下 Kohya_ss GUI 的操作界面,雖然每次版本升級之後都有些微差異,但大抵上還是可以通用。我這邊僅介紹關於 Lora 的部分,其他介面上的東西勞煩大家自行研究。
不久之前在 b 站青龍大的影片中,知道了複印法與差異法融合的概念。原有的複印法是一位 2vXpSwA7 提出,而差異法則是 Kohya-ss 作者所延伸出來的另一個作法。這兩種方法都很有趣,然後就開始實作這個部分。