Fw: [AI] 如何訓練LoRA? 猴子都學得會的手把手教學!

作者: wres666 (永恆夢魘)   2023-02-10 05:58:48
※ [本文轉錄自 C_Chat 看板 #1ZvMm1yc ]
作者: wres666 (永恆夢魘) 看板: C_Chat
標題: [AI] 如何訓練LoRA? 猴子都學得會的手把手教學!
時間: Fri Feb 10 05:56:12 2023
先附上預覽圖,幼妲貼貼:
https://truth.bahamut.com.tw/s01/202302/a2c1b53fb942cba44f6ae71c514e82bb.JPG
網頁好讀版:
https://home.gamer.com.tw/creationDetail.php?sn=5657565
前言都是一些廢話,如果只是想知道如何訓練LoRA,可以直接往下跳至分隔線。
*本文只是個人訓練LoRA的經驗分享,因為還沒有人做相關教學,所以寫這篇文章來看看能
不能拋磚引玉,如果有任何問題歡迎大佬補充
在一開始AI繪剛紅的時候,是看西洽有人分享用AI畫大奶維多利亞美女,當時就有跟著教學
把stable diffusion弄來玩玩了,但除了抄抄大奶維多利亞美女的咒文之外,其他自己想畫
的圖並不怎麼樣。後來在西洽看了cybermeow大的文章,覺得能煉出特定角色的模型很實用
,可以拿來畫我推的V,於是跟著YT教學一步步學著怎麼用dreambooth,然而顯存不夠只好
去租3090,還因為國外網站卡在卡刷不過,跑去試用台智雲,搞到台智雲打給我們教授推銷
ww,那時好像只有sd1.3跟wd幾版我忘了,反正用dreambooth fine-tune wd出來的結果不是
很好,雖然還是有搞了張幼妲下蛋。後來novel ai模型洩漏出來以後台智雲的試用期也過了
,加上訓練embedding內建在webui以後太方便,用我這3070 8g的顯卡隨便煉,也就忘了dre
ambooth這件事。
但前陣子漸漸覺得遇到瓶頸,為了複雜的場景prompt下太多,角色的特徵很容易會被抹掉,
原本就不是很準確的特徵在複雜prompt下更難骰出好圖。想起還有比較準確的dreambooth可
以用,想說也許經過幾個月的發展dreambooth能在低顯存的環境下訓練,一開始的確有在re
ddit看到去年十月的文章說dreambooth可以在8g vram顯卡上訓練,但我試了無法,而且近
期的文章也都說要求10g顯存。那本地不能訓練,但我又不想在colab上跑,除了要掛載雲端
硬碟然後還要清空間放模型很煩之外,邪惡的東西也不能在上面訓練,於是dreambooth這件
事又被我放置了。
直到最近聽說有個新技術,LoRA,不僅訓練出來的模型很小對硬碟空間很友善,效果貼近dr
eambooth的同時,重點是,真的能在8g顯存的顯卡上訓練了。LoRA(Low-rank Adaptation)
這個技術到底是什麼呢?我們來看一下原github上的"簡單"解釋:
https://i.imgur.com/FltrSEe.png
簡單來說,不直接微調模型權重,而是訓練一個偏移量作用於於模型上,而且重要的是將這
個高秩的模型權重偏移量拆開,用低維度的矩陣相乘去近似它,因此可以節省空間,而且能
以比dreambooth更快的速度進行微調。
===================================
正題開始,如何訓練LoRA?我知道現在webui的dreambooth插件也可以進行LoRA的訓練,但除
了requirements容易衝突之外,重點是當我選了7.多g的模型要創建dreambooth模型時,直
接CUDA OOM (吐血,第一步都做不了,所以這裡不使用webui插件訓練LoRA。
首先,安裝python 3.10.6與git,相信有裝webui的各位都有了,如果沒有可以去官網抓,
或是用包管理器chocolatey直接安裝。
接著一步一步手把手教學
git clone https://github.com/kohya-ss/sd-scripts.git
將庫clone下來
cd sd-scripts
進入資料夾
python -m venv

Links booklink

Contact Us: admin [ a t ] ucptt.com