0元實(shí)現(xiàn)LoRA訓(xùn)練自由:無限免費(fèi)V100白嫖攻略

最近做了一個(gè)AI繪畫的硬件性能分析視頻(BV1EL411v7LE),這當(dāng)中使用了從百度AI Studio那兒白嫖的V100和A100。目前百度AI Studio只需要每天登陸運(yùn)行項(xiàng)目就送8點(diǎn)算力卡,V100 16G每小時(shí)消耗0.5算力卡,在百度AI Studio中白嫖顯卡是目前最劃算的LoRA訓(xùn)練方式,因?yàn)樗某杀揪褪?。
但是,百度AI Studio只允許運(yùn)行paddlepaddle,不允許運(yùn)行pytorch,這讓許多小伙伴頭皮發(fā)麻,因?yàn)樽约鹤畛S玫膚ebui整合包需要pytorch模型才能運(yùn)行,而paddle的lora訓(xùn)練腳本只能輸出pdparams,只能被paddle讀取,不兼容pytorch。
因此,我在ppdiffusers的LoRA訓(xùn)練腳本的基礎(chǔ)上,修改了模型保存階段的代碼,用pytorch safetensors保存LoRA模型,大家可以點(diǎn)擊這個(gè)鏈接嘗試:https://aistudio.baidu.com/aistudio/projectdetail/6047468
首先,點(diǎn)開上面的鏈接,在右上角注冊(cè)/登陸一個(gè)AI Studio賬號(hào)

然后,再次點(diǎn)開上面的鏈接,點(diǎn)擊啟動(dòng)環(huán)境

如果你沒有算力卡,先選擇CPU,啟動(dòng)環(huán)境之后再回到剛才的頁面點(diǎn)擊停止關(guān)掉,系統(tǒng)會(huì)在你啟動(dòng)環(huán)境之后自動(dòng)送你8點(diǎn)算力卡

進(jìn)入環(huán)境之后,在train_data文件夾內(nèi),放上你需要訓(xùn)練的圖片,如果你沒有裁切也沒關(guān)系,腳本會(huì)進(jìn)行自動(dòng)縮放,默認(rèn)會(huì)縮放到512*512

在準(zhǔn)備好圖片之后,就可以著手安裝環(huán)境了,BML Codelab默認(rèn)是沒有ppdiffusers的,這里我們需要打開項(xiàng)目目錄下的main.ipynb進(jìn)行安裝,點(diǎn)擊播放按鈕運(yùn)行代碼安裝,安裝之后記得點(diǎn)擊重啟內(nèi)核

重啟內(nèi)核后還是在main.ipynb內(nèi),繼續(xù)往下翻,是運(yùn)行腳本的代碼,腳本后面的參數(shù)看鏈接(https://github.com/PaddlePaddle/PaddleNLP/tree/develop/ppdiffusers/examples/dreambooth)內(nèi)的說明,這里幫大家填寫好了默認(rèn)的參數(shù)。模型可以使用huggingface和Civitai社區(qū)的,這里示例是chilloutmix,如果使用自己的模型,記得要先轉(zhuǎn)換成diffuser格式再上傳。訓(xùn)練好的LoRA模型會(huì)在lora_outputs目錄里。

除了模型名稱之外,還有兩個(gè)重要的參數(shù)你是一定會(huì)需要修改的,那就是prompt。在這里我們使用百度的示例,自己實(shí)際訓(xùn)練的時(shí)候,以讓模型認(rèn)識(shí)新角色為例,可以把這兩個(gè)prompt中的sks dog全部改成新角色的名稱。

如果你是下載的模型,可以看看這一段,通過work目錄保存下載的模型,這樣就不用每次都打開了,公開項(xiàng)目不能接受那么大的文件體積,所以就沒有了,大家自己運(yùn)行的時(shí)候可以用這個(gè)。

最后是看看訓(xùn)練好的LoRA的效果,讀取剛才訓(xùn)練好的safetensors,特別注意在AI Studio中只能使用ppdiffusers,好在ppdiffusers支持加載pytorch模型,因此我們依舊可以在這里預(yù)覽模型效果。

Enjoy it!
