翻譯Lycoris LoRA的Git頁(yè)面一些說(shuō)明(機(jī)翻)
Lycoris官方git頁(yè)面的簡(jiǎn)單概括翻譯,大意是AI翻譯而來(lái),因?yàn)锳I已經(jīng)足夠優(yōu)秀,只修改一些不太準(zhǔn)的地方,刪除了一些文中的參考鏈接,注:是我加的,因?yàn)槭?,英語(yǔ)廢了,所以一些行話里話,并不清楚,會(huì)直譯。想可能會(huì)對(duì)一些網(wǎng)友有用,雖然AI翻譯真的已經(jīng)很準(zhǔn)確了。
Lora beYond Conventional methods, Other Rank adaptation Implementations for Stable diffusion.
(注釋:Stable diffusion的LoRa超常規(guī)方法,其他自適應(yīng)秩方案。牽強(qiáng)的這么翻譯一下,請(qǐng)諒解??吹某鲎髡吆芟矚g莉可莉絲,簡(jiǎn)寫對(duì)接莉可莉絲??)
用未足夠擬合的不太像的四季和不知道幾次元的將軍代替吧。


故意loss掉很多3D信息,從而改變畫風(fēng)的小清新將軍。上個(gè)文章沒(méi)貼的樣本,補(bǔ)上。
圖像(避免爭(zhēng)執(zhí),官方練的千歲的圖片就不貼了)(以上圖像也是以Hadamard product representation訓(xùn)練的模型生成的)
這是一個(gè)實(shí)現(xiàn)不同算法的項(xiàng)目,以在stable diffusion進(jìn)行或更多的參數(shù)有效微調(diào)。
這個(gè)項(xiàng)目是從LoCon開(kāi)始的。
(注:locon是一個(gè)早期版本,也就是那個(gè)我們需要安裝的,但是又看不見(jiàn)任何界面的插件,不過(guò)最近官方有了新的插件a1111-sd-webui-lycoris用來(lái)支持LyCORIS)
傳統(tǒng)的LoRA
? ? 包括來(lái)自LoCon的Conv層實(shí)現(xiàn)
? ? 推薦設(shè)置
? ? ? ? dim <= 64
? ? ? ? alpha = 1 (或更低,如0.3)
帶有Hadamard Product表示的LoRA(LoHa)
? ? 為聯(lián)合學(xué)習(xí)而設(shè)計(jì),但有一些很酷的特性,比如rank<=dim^2,所以應(yīng)該對(duì)“參數(shù)有效的微調(diào)”有好處。
? ? ? ? 傳統(tǒng)的LoRA是rank<=dim的。
? ? 推薦設(shè)置
? ? ? ? dim <= 32
? ? ? ? alpha = 1 (或更低)
(如果你不了解LoRa,推薦使用小于1的alpha進(jìn)行嘗試,然后對(duì)比常規(guī)下的取值,或許可以加深你對(duì)alpha的理解)
警告:你不應(yīng)該在LoHa中使用dim>64,這對(duì)SD中幾乎所有的層來(lái)說(shuō)都超過(guò)sqrt(original_dim)。
(注:這里很重要,其實(shí)在一般Lora中,一些真人照,dim32也可以有不錯(cuò)的表現(xiàn),當(dāng)然你可設(shè)置超過(guò)128的數(shù)值,這會(huì)讓你學(xué)習(xí)到更復(fù)雜的細(xì)節(jié),步數(shù)一般也就更多了。較低的學(xué)習(xí)率和較多的訓(xùn)練步數(shù),或輔助以正則,一般來(lái)說(shuō)可以達(dá)到更好的效果。細(xì)節(jié)信息可以說(shuō)是無(wú)上限,一般要考慮的是質(zhì)量與步數(shù)之間的平衡,畢竟有些東西無(wú)須還原。較大的參數(shù)可能導(dǎo)致你需要上萬(wàn)步才可以訓(xùn)練一個(gè)真人LoRA。
你應(yīng)該保證你的dim和alpha是128,64這樣有規(guī)律的數(shù)字,如果你對(duì)他們不是很了解,又想改動(dòng)設(shè)置,可以選擇將二者的數(shù)值設(shè)置為相等,如:32,32,此時(shí)觀察你第一epch的樣本圖片,會(huì)很有趣,前提是repeat不是太大)
對(duì)LoHa使用高dim可能會(huì)導(dǎo)致不穩(wěn)定的損失或直接變成NaN。如果你想使用高dim LoHa,請(qǐng)使用降低lr。
(注:請(qǐng)堅(jiān)持在LoHa中使用低dim,過(guò)高的數(shù)值不僅無(wú)用還會(huì)帶來(lái)負(fù)面效果,一般來(lái)說(shuō)LoHa的文件很小的多,但他可能不大適合用來(lái)訓(xùn)練畫風(fēng),當(dāng)然也不是不行,可能效率就會(huì)差很多。)
再次警告:以參數(shù)無(wú)效的方式使用參數(shù)有效的算法不是一個(gè)好主意。
(IA)^3
? ? 參考文獻(xiàn): 少量的參數(shù)效率微調(diào)比上下文學(xué)習(xí)更好、更便宜。
? ? 你可以用開(kāi)發(fā)版軟件包(或從源代碼安裝)嘗試這個(gè)算法,并設(shè)置algo=ia3。
? ? 這個(gè)算法需要更高的lr(大約5e-3~1e-2)。
? ? 這個(gè)算法的學(xué)習(xí)方式很好,但是很難轉(zhuǎn)移(你只能在你訓(xùn)練的模型上得到合理的結(jié)果)。
? ? 這個(gè)算法產(chǎn)生的文件非常?。ù蠹s200~300KB)。
? ? 實(shí)驗(yàn)性的項(xiàng)目
LoKR
? ? 基本上與LoHA的想法相同,但使用克朗克乘積(kronecker product)
? ? 這個(gè)算法相當(dāng)敏感,你可能需要調(diào)整lr。
? ? 這個(gè)算法可以同時(shí)學(xué)習(xí)角色和風(fēng)格,但由于它很?。ㄗ詣?dòng)因子(auto factor),全rank,2.5MB),所以也很難transfer(這里不是很懂術(shù)語(yǔ)翻譯,所以沒(méi)翻譯,見(jiàn)諒)
(auto factor 到底該翻譯成啥合適??)
? ? 這個(gè)算法產(chǎn)生的文件比較?。ㄗ詣?dòng)因子:900~2500KB)。
? ? 使用較小的系數(shù)(factor)會(huì)產(chǎn)生大一些的文件,如果你認(rèn)為2.5MB的全rank不夠好,你也可以調(diào)整它。
DyLoRA
? ? 參考文獻(xiàn) DyLoRA: 使用動(dòng)態(tài)無(wú)搜索低rank適應(yīng)的預(yù)訓(xùn)練模型的參數(shù)效率調(diào)控(Parameter Efficient Tuning of Pre-trained Models using Dynamic Search-Free Low Rank Adaptation)
? ? 基本上是lora的一個(gè)訓(xùn)練技巧。
? ? 每一步,只更新LoRA權(quán)重的一個(gè)行/列。
? ? 假設(shè)當(dāng)我們要更新k行/col時(shí),我們只用0~k行/col來(lái)重建權(quán)重(0<=k<=dim)
? ? 你可以很容易地將DyLoRA的大小調(diào)整到目標(biāo)值,并得到類似甚至比在目標(biāo)dim下訓(xùn)練的LoRA更好的結(jié)果。(而且你不需要用訓(xùn)練大量不同dim值的Lora來(lái)對(duì)比哪個(gè)更好)。
? ? 你應(yīng)該使用大的dim,alpha=dim/4~dim(取1或等同dim值不是很推薦)。
? ? ? ? 例如:dim=128,alpha=64
? ? 由于我們每一步只更新1行/col,你將需要更多的步驟來(lái)獲得合理的結(jié)果。如果你想用很少的步數(shù)來(lái)訓(xùn)練它,你可能需要將block_size(每一步更新多行/列)設(shè)置為更高的值(默認(rèn)=0)。
使用說(shuō)明
你可以直接使用這些訓(xùn)練腳本。
? ? derrian-distro/LoRA_Easy_Training_Scripts
(雖然有easy,其實(shí)挺全的)
? ? Linaqruf/kohya-trainer
(這是一個(gè)系列的colab腳本,包含了精簡(jiǎn)了選項(xiàng)lora訓(xùn)練腳本,LoRA dream method,F(xiàn)ine-Tuning,Native Training,還有一個(gè)Dreambooth腳本,一個(gè)方便你自定義添加各種插件和模型SD WEBUI)(非常推薦這個(gè)系列,每個(gè)腳本都包含了從素材處理到用來(lái)測(cè)試的SD WEBUI,甚至有從圖站批量下載的腳本,替圖透明添加純色背景的功能等……)
? ? bmaltais/kohya_ss
(這個(gè)就不用說(shuō)了,大家都知道)
? ? hollowstrawberry/kohya-colab
(參考了Kohya Traning的精簡(jiǎn)版colab腳本,因?yàn)樽頺ohya-trainer有較多選項(xiàng),同時(shí)采用的是:自定義+類名的方式訓(xùn)練,而不是Tag文件頭部添加激活詞的方式,導(dǎo)致新手無(wú)可適從,不過(guò)新版本已經(jīng)添加。bmaltais/kohya_ss提供一個(gè)比較通用用來(lái)快速訓(xùn)練二次元的預(yù)設(shè),還有一個(gè)不錯(cuò)的文件分類方式,同時(shí)他也有一個(gè)訓(xùn)練集處理工具,很推薦,作者還在c站分享了自己的訓(xùn)練心得,很值得一看)
(如果有需要應(yīng)該把官方的訓(xùn)練)