這是我目前訓練 Lora 的流程概念筆記,訓練的過程其實大概就煮飯一樣,現在電子鍋很方便,就跟訓練器一樣,只是準備不周的話,飯會不會熟就是另一回事了。
訓練資料集
首先你需要明確的知道你想要訓練的「目標」是什麼,這樣才能準備資料。無論你訓練的目標是什麼,盡量多元的資料集是必須的。
1. 如果只訓練一個概念( Concept ),那麼請盡量刪除或抹去與這個概念會產生衝突的資料。
2. 訓練多個概念,可以透過特定的標籤( Tag )來解決,這樣會需要更多的訓練時間。
3. 如果你使用 ARB ( Aspect Ratio Bucket) 的訓練方式,可以不裁切資料集圖片(
單純介紹一下 Kohya_ss GUI 的操作界面,雖然每次版本升級之後都有些微差異,但大抵上還是可以通用。我這邊僅介紹關於 Lora 的部分,其他介面上的東西勞煩大家自行研究。
說在最前面的,在 Lora 訓練當中,各種優化器(Optimizer)都有自己專屬的超參數(Hyperparameter)。對於模型訓練而言,超參數的影響並不會非常巨大,所以,在你決定調整超參數之前,請先確保你的模型已經足夠好了。不然花在這上面的時間,很可能會是浪費掉的。
更新了 Kohya_ss 之後,有些地方的參數跟 GUI 其實不太一樣,這邊單純記錄一下,以免以後覺得哪裡怪怪的。
Kohya_ss 版本
目前的穩定版本是 v21.5.11 所以以下的紀錄都是針對這個版本來做調整。
另外我有針對正規化資料集而修改程式碼,我先說在前面。
訓練計算的改變
首先,訓練的 Log 都會有這個計算資料出現,
第一個訓練資料集的數量應該沒有懸念,就是你設定多少,他就會寫多少。由上面的圖片可以知道我是有 2,000 步的訓練資料集。接著,正規化資料集的數量有
本次記錄都會是一些參考資料,如果對於訓練有興趣的人可以自己去看看。基本上網路上能找到的資料有九成以上是針對二次元的訓練,所以如果是對這方面有興趣的人,這些資源是不錯的閱讀方向。