亚洲精品一区二区国产精华液,亚洲欧美中文日韩v在线观看,亚洲综合人成网免费视频,亚洲精品色婷婷在线影院,一区二区三区在线 | 网站

首頁  >  教程  >  文章
2023-11-17 13:17

Stable Diffusion LoRA模型訓(xùn)練教程(新手篇)|LoRA訓(xùn)練個人經(jīng)驗總結(jié)與復(fù)盤

上周初次嘗試了訓(xùn)練LoRA模型,周末兩天的時間一直在遇到問題摸索解決問題,修改完善模型,測試模型當(dāng)中度過,好在問題都一一解決,也在LiblibAI上首發(fā)了我的處女作。???

本篇文章僅整理歸納我的LoRA訓(xùn)練思路及步驟,以及自己遇到的問題和解決方案的復(fù)盤整理。希望對新手煉丹師們有所啟發(fā)和幫助。

圖片

圖片

一,Lora是什么?

LoRA是Low-Rank Adaptation的縮寫,最早在2021年論文《LoRA: Low-Rank Adaptation of Large Language Models》中提出。是一種大語言模型低秩適配器,簡單來說就是它可以降低模型可訓(xùn)練參數(shù),使其盡量不損失模型表現(xiàn)的大模型微調(diào)方法。

在此之前,StableDiffusion只能通過使用Dreambooth的方法訓(xùn)練大模型,如果對大模型的效果不滿意,那么就只能從頭開始,重新訓(xùn)練,但是大模型的訓(xùn)練要求高,算力要求大,速度慢。自從LoRA被引入StableDiffusion后,大大降低了訓(xùn)練門檻,并擴寬了產(chǎn)出模型的適用范圍。這就使得我們這些對AI繪畫感興趣的非專業(yè)人員,也可以在家用電腦上嘗試訓(xùn)練自己的LoRA模型。

LoRA的出圖原理和理論知識在網(wǎng)上已經(jīng)有很多,在此不做贅述,感興趣的小伙伴可自行查找。

圖片

圖片

二,Lora訓(xùn)練前的準(zhǔn)備

LoRA訓(xùn)練對顯卡有一定要求,同時需要安裝一些方便訓(xùn)練的軟件。

首先,對電腦配置的要求主要來自顯卡,需要顯卡有足夠的顯存,其他配置不太差就可以。顯卡的選擇中顯存是第一要素,SD1.5版本的底模6G顯存勉強可用,8G顯存就可以比較流暢的生成圖片和煉制LoRA,12G可以流暢的使用Dreambooth微調(diào)大模型。我的Mac本直接Pass,Win的配置也不是特別高,所以煉丹速度比較慢,但是勉強可以用。

然后,就是推薦下載幾個后續(xù)方便訓(xùn)練的軟件,幫助新手小白降低訓(xùn)練難度,提升煉丹效率。

圖片

其他LoRA訓(xùn)練丹爐,我已經(jīng)下載還未使用,感興趣的小伙伴也可以自行下載試用。

圖片

圖片

圖片

三,Lora訓(xùn)練具體步驟

1. 確定目的

在訓(xùn)練LoRA模型之前,我們需要首先明確自己需要訓(xùn)練什么類型的LoRA,有的博主將模型分成了幾個大類:人物角色、畫風(fēng)/風(fēng)格、概念、服飾、物體/特定元素等。

我只簡單的劃分為兩類:具象類和泛化類,具象類如:一個物體、一種姿勢、一種服裝、一個人物、某個特定元素等都可以劃歸為具象類。泛化類如:某種場景、某種藝術(shù)風(fēng)格、色彩風(fēng)格等。

圖片

前期明確目的的訓(xùn)練能更好的確定要找素材的數(shù)量及選擇的大模型類型,為后面的具體訓(xùn)練打好基礎(chǔ)。

2. 收集素材

?? 「大模型的選擇」和「圖片質(zhì)量」都是收集素材的關(guān)鍵!

收集素材階段,我們?nèi)匀话凑盏谝徊街械挠?xùn)練目的,分為具象類和泛化類。

具象類LoRA:數(shù)量:在具象訓(xùn)練中并不是素材越多越好,一般建議20張左右即可;素材要求:不同角度,不同背景,不同姿勢,不同服飾,清晰無遮擋的圖片

?? 如果同質(zhì)化的素材太多,容易造成權(quán)重的偏移。

泛化類LoRA:數(shù)量:在泛化類訓(xùn)練中需要素材多一些,建議50張以上

?? 這種情況不需要特別在意同質(zhì)化,但也切勿非常接近的素材占比過高。

圖片

3. 處理素材

從這一步起,我們會使用到上文提到的軟件。處理素材主要包括統(tǒng)一素材尺寸、生成標(biāo)簽和優(yōu)化標(biāo)簽。

圖片

a、統(tǒng)一素材尺寸

可以使用修改圖片工具對圖片尺寸進(jìn)行批量處理,至少保證一邊為512px,但必須是64的倍數(shù)。橫豎圖可放一起訓(xùn)練。也可以使用美圖秀秀或者PS自行裁剪。

圖片

b、生成標(biāo)簽

我使用的是秋葉大佬提供的StableDiffusionWebUI,啟動SD-訓(xùn)練-圖像預(yù)處理。

圖片

在你的隨便一個盤,建2個文件夾,我簡單的命名為1和2(1文件夾放你收集好的圖片素材即為「源目錄」。2文件夾不需要管,等到SD自動打標(biāo)完,會將打標(biāo)文件和你的圖片自動存放在2文件夾內(nèi),即為「目標(biāo)目錄」),調(diào)整寬度和高度與你的素材尺寸保持一致。

復(fù)制文件夾1和2的地址,分別粘貼到源目錄和目標(biāo)目錄的位置。

圖片

有兩種生成標(biāo)簽的方式:BLIP即自然語言標(biāo)簽,比如“1個女孩在草地上開心的跳舞”;Deepbooru即詞組標(biāo)簽(常用),比如“1個女孩,草地,跳舞,大笑”。一般選擇使用Deepbooru生成標(biāo)簽。

當(dāng)SD界面右側(cè)出現(xiàn)Preprocessing finished,就表示SD已經(jīng)幫你自動打標(biāo)好了。

圖片

圖片

打開剛才建的2文件夾,就可以看到圖片和自動生成的標(biāo)簽了。txt文本中的就是SD自動打好的標(biāo)簽。

圖片

c、優(yōu)化標(biāo)簽

第一次訓(xùn)練時我沒有優(yōu)化標(biāo)簽直接訓(xùn)練LoRA,最后的LoRA效果不是很理想,第二遍訓(xùn)練又新增了素材數(shù)量,同時優(yōu)化了標(biāo)簽。

優(yōu)化標(biāo)簽一般有兩種方式:1)保留全部,不做刪減,用此方法比較方便,但是需要用精準(zhǔn)的關(guān)鍵詞,才能還原想要的效果;2)刪除部分特征標(biāo)簽,我使用的是此方法。

批量修改關(guān)鍵詞的工具BooruDatasetTagManager,很多大佬推薦過,界面比較原始,好用的點是可以批量增刪改查關(guān)鍵詞,并且可以通過調(diào)整關(guān)鍵詞位置來調(diào)整權(quán)重。當(dāng)然你也可以使用VsCode,或者直接用txt調(diào)整都可以。

下載完后,直接雙擊exe文件運行,就會出現(xiàn)此界面。界面分為三個區(qū)域,分別是「數(shù)據(jù)集區(qū)域」「圖片標(biāo)簽區(qū)域」「數(shù)據(jù)集內(nèi)所有標(biāo)簽區(qū)域」。標(biāo)簽相關(guān)的區(qū)域右側(cè)都有操作,可以增加、刪除,翻譯、上下移動標(biāo)簽,常用的就是這幾個功能。

圖片

選中文件-讀取數(shù)據(jù)集目錄可導(dǎo)入數(shù)據(jù)集;選中界面-翻譯標(biāo)簽,可翻譯所有標(biāo)簽,標(biāo)簽可拖動上下移動,更改權(quán)重,最后全部修改完別忘記保存更改。

圖片

數(shù)據(jù)集導(dǎo)入后,就可以開始對照圖片素材對標(biāo)簽進(jìn)行刪改,需要注意的是標(biāo)簽提示詞的前后順序代表著標(biāo)簽的權(quán)重,越靠前的標(biāo)簽權(quán)重也就越大,所以我們可以把想要的效果或風(fēng)格標(biāo)簽放在前面,像背景干凈這類標(biāo)簽盡量靠后。

標(biāo)簽優(yōu)化方法:刪減掉訓(xùn)練風(fēng)格或者需要生成內(nèi)容的相關(guān)詞。比如我要生成「手繪插畫」的LoRA模型,就需要保留圖片素材中手繪插畫風(fēng)格相關(guān)的內(nèi)容作為自帶特征,那么就將與手繪插畫相關(guān)的詞語標(biāo)簽刪除,增加觸發(fā)詞“shouhui或者chahua”。將“shouhui或者chahua”觸發(fā)詞與其風(fēng)格相關(guān)的詞關(guān)聯(lián),當(dāng)你填寫觸發(fā)詞后就會自帶此風(fēng)格。

圖片

4. 調(diào)整參數(shù)/開始訓(xùn)練

至此,準(zhǔn)備工作就完成了,可以開始準(zhǔn)備正式訓(xùn)練LoRA了,我使用的還是秋葉大佬的LoRA訓(xùn)練器SD-Trainer,選擇新手訓(xùn)練模式。

圖片

在新手訓(xùn)練開始之前需要先明確幾個概念:

重復(fù)次數(shù)(Repeat):每一張素材的重復(fù)次數(shù)。

需要在文件夾名以【數(shù)字_名稱】的方式設(shè)定,如訓(xùn)練集chahua重復(fù)次數(shù)10.則文件夾命名為10_chahua。

訓(xùn)練輪數(shù)(Epoch):整個訓(xùn)練集按照重復(fù)次數(shù)訓(xùn)練一次為一輪,10輪就是10*10為每一張訓(xùn)練100次

在操作過程中也同樣要考慮具象類和泛化類不同來調(diào)整參數(shù),具象類需要在每一輪提高次數(shù)以求精準(zhǔn)度;泛化類就降低次數(shù)提高輪數(shù),不需要那么精準(zhǔn),一輪輪去訓(xùn)練。新手訓(xùn)練模式下,我們只需要調(diào)整這幾個參數(shù)即可。

圖片

進(jìn)入新手模式后,需要選擇訓(xùn)練LoRA使用的大模型

圖片

底模文件路徑,選擇你要訓(xùn)練LoRA使用的大模型,直接點擊右側(cè)的小文件夾選擇即可。

訓(xùn)練數(shù)據(jù)集路徑:在選擇這一步之前,需要現(xiàn)在sd/lora-scripts-v1.7.3/train這個文件夾下建一個文件夾,比如我建的叫“chahua”,再打開“chahua”文件夾在里面建一個“數(shù)字_英文名”的文件夾,將之前打標(biāo)好的圖和標(biāo)簽一起復(fù)制到“數(shù)字_英文名”的文件中(如訓(xùn)練chahua重復(fù)次數(shù)16.則文件夾命名為16_chahua。)

圖片

修改分辨率(之前數(shù)據(jù)集的尺寸是多少,這里就用多少)

保存設(shè)置:保存模型的名稱修改成你想要的名稱

圖片

點擊開始訓(xùn)練,就可以在終端看到它正在瘋狂訓(xùn)練中...這個時間會比較久,慢慢等待就好。

圖片

當(dāng)出現(xiàn)“訓(xùn)練完成”字樣后,表明你的LoRA模型已經(jīng)初步完成了訓(xùn)練,我是晚上開著電腦自己跑的,用時9小時……初步訓(xùn)練完LoRA模型,我們就可以對LoRA進(jìn)行測試,來驗證我們的LoRA訓(xùn)練成果,以及了解這個LoRA的最佳參數(shù)。

圖片

在sd/lora-scriipts-v1.7.3/output文件夾中就可以看到我們生成的LoRA模型了,因為我設(shè)置的是2步保存一個Lora模型,16步,所以有8個LoRA的階段稿。(沒有數(shù)字的這個是最后的LoRA)

圖片

5. 測試反饋

通過測試我們可以對比大模型、不同階段LoRA、迭代步數(shù)、采樣方法等生圖效果,從而幫助我們對比生成的模型,選擇更好的LoRA模型。

a、loss圖

每次訓(xùn)練的loss圖都是獨一無二的,loss曲線只是參考,重點要觀察loss逐步降低的狀態(tài),loss越低,擬合度就會越高,過低也有可能會過擬合,需要找到合理值,可以通過loss值來選擇幾個訓(xùn)練好的lora模型進(jìn)行xyz序列圖測試,從而選擇更好的Lora模型。

圖片

b、xyz序列圖

xyz序列圖是一個參考值,能看出不同權(quán)重對LoRA的影響,以及過擬合,欠擬合的程度。需要多生圖去測試加深對模型的判斷。

我是用xyz序列圖進(jìn)行反饋:在使用之前需要先給Stable-Diffusion安裝一個插件AdditionalNetworks,這個插件可以幫助我們測試多個LoRA不同權(quán)重的效果。安裝成功后,會有圖片所示部分。

圖片

雖然在訓(xùn)練模型前已經(jīng)選定了大模型,但我還是會根據(jù)LoRA的類型,選擇不同的大模型進(jìn)行跑圖測試,選擇更多合適的大模型。

在SD的腳本中選擇“xyz圖表”,X軸類型選擇“大模型”,選擇電腦中有的合適的大模型,點擊生成即可。

圖片

圖片

這樣就可以橫向?qū)Ρ龋膫€大模型出圖效果更好,更適合此LoRA。

選定了大模型后,我們可以測試幾個LoRA在多少權(quán)重下生圖效果最好。

首先需要把已經(jīng)訓(xùn)練好的LoRA模型從output文件夾(sd/lora-scriipts-v1.7.3/output)復(fù)制出來,放到文件夾(sd-webui-aki/extensions/sd-webui-additionalnetworks/models/lora)中,刷新后就可以在SD中看到你訓(xùn)練的8個模型。

圖片

選擇xyz圖表,X軸類型選擇附加模型1.X軸值選擇生成的8個LoRA模型;Y軸類型選擇附加模型權(quán)重1.Y軸值可以自行填寫,我是按照從0-1的權(quán)重進(jìn)行對比的。

圖片

通過生成的xyz測試圖,就可以對比看到哪個LoRA模型在多少權(quán)重下生成的效果是最好的。最終就可以選定我們的LoRA模型終稿。

圖片

同樣的,也可以用此方法來測試不同采樣方式哪種效果更好。

圖片

甚至迭代步數(shù)等很多參數(shù)都可以通過xyz的對比進(jìn)行確認(rèn),xyz有非常多的參數(shù)可以對比,感興趣的可以自己跑跑試試。

圖片

至此一整套我自己生成LoRA的方法已經(jīng)匯總整理完畢,沒有實踐之前也感覺困難重重,但是真的做起來,就感覺沒有那么難了,再整理成文章,就又感覺更清晰了一些。下面是我在煉丹中遇到的一些問題和我的解決方法。

圖片

四,問題匯總及解決方案

1. 頁面文件太小,無法完成操作的報錯

圖片

這應(yīng)該是虛擬內(nèi)存不足的情況。win電腦設(shè)置-系統(tǒng)-系統(tǒng)信息-高級系統(tǒng)設(shè)置,系統(tǒng)屬性-高級-性能-設(shè)置-高級-虛擬內(nèi)存-更改,增加虛擬內(nèi)存即可。

圖片

2. Additionalnetworks選擇模型顯示“無”

圖片

這個問題首先需要看看你的LoRA模型是不是放在正確的文件夾中,正確的地址應(yīng)該是sd-webui-aki/extensions/sd-webui-additionalnetworks/models/lora,如果位置正確,仍然報錯,可以嘗試先在Additional Networks中選擇一個LoRA,然后在去xyz軸中刪去不需要的LoRA。

圖片

圖片

圖片

圖片

五,Lora的應(yīng)用

LoRA現(xiàn)在已經(jīng)廣泛應(yīng)用于商業(yè)場景中,將IP形象訓(xùn)練成LoRA就大大節(jié)省了運營去根據(jù)不同活動不同場景結(jié)合IP繪制的時間;在電商領(lǐng)域,可以將衣服訓(xùn)練成LoRA,就不需要請模特,或者拍攝,直接用AI生成模特,使用LoRA給AI模特穿上特定的服飾;很多需要真人出鏡拍攝的場景,也可以使用LoRA模型,讓一切變的簡單可操作。

IP形象LoRA

IP形象LoRA的應(yīng)用可以快速生成符合IP形象的設(shè)計方案,更靈活的應(yīng)用在不同的場景中,IP形象LoRA將整個設(shè)計過程更簡化,讓設(shè)計師能更專注于提升作品的審美價值,提高設(shè)計的多樣性和豐富性,提升設(shè)計效率。

無論是在線上的運營海報、開屏頁、banner等還是在線下的KT版、海報物料等,都可以很好的應(yīng)用。

圖片

電商LoRA

通過LoRA模型訓(xùn)練,可以訓(xùn)練出屬于自己的電商AI模特,讓其穿上指定的服飾,也有很多電商背景LoRA模型,布局、光影、拍攝都不需要了,大大節(jié)省了請模特和拍攝的時間人力物力成本。

圖片

建筑及空間LoRA

訓(xùn)練室內(nèi)或建筑風(fēng)格的LoRA,可以結(jié)合controlnet一起使用,快速根據(jù)客戶實際戶型結(jié)構(gòu)出效果圖,大大提升了效率。

圖片

LoRA的應(yīng)用場景還有很多,也有很多未被探索出的使用場景,大家可以多多嘗試探索,訓(xùn)練自己專屬的LoRA。

圖片

六,總結(jié)

最后,寫了這么多,總結(jié)回顧一下LoRA的訓(xùn)練步驟就這么簡單的五步:

1、收集素材;

2、秋葉大佬SDWebUi打標(biāo)簽;

3、BooruDatasetTagManager改標(biāo)簽;

4、秋葉大佬LoRA訓(xùn)練器訓(xùn)練LoRA;

5、測試訓(xùn)練好的LoRA;

最后的最后,總結(jié)一下煉制LoRA的幾個關(guān)鍵點:

1、素材庫非常重要,在我們收集素材的時候就一定要保證素材的高質(zhì)量高清晰度,這可以使我們的LoRA訓(xùn)練從源頭上保證質(zhì)量。

2、不要迷信別人給的參數(shù),由于你的素材庫、模型訓(xùn)練目的等的不同,不要盲目照抄別人提供的參數(shù),別人的參數(shù)僅可作為參考,包括我在文章中提到的數(shù)據(jù)。

3、多測試,多嘗試。新手期可以先以成功煉出一個LoRA為小目標(biāo),提升自己的信心,然后就可以多嘗試使用專業(yè)版,多了解其他參數(shù)的含義,嘗試具象類和泛化類LoRA模型訓(xùn)練的不同,說不定會有意想不到的效果。

我的手繪扁平插畫風(fēng)格的LoRA已經(jīng)在LiblibAI和堆友上線,歡迎大家下載試用。

liblib地址:https://www.liblib.ai/modelinfo/337d1cfa92024b3c9f010f9983d1241d

堆友地址:https://d.design/model-detail/11dd7d34844f4c2299274187295af0fc

1
查看相關(guān)話題: #ai繪畫 #Stable Diffusion #lora #lora訓(xùn)練

相關(guān)文章