大家好,我是 Jack。 AI 領(lǐng)域的技術(shù),真是隔一段時(shí)間就有一個(gè)新突破! 全民都能訓(xùn)練大模型的時(shí)代,指日可待了! LoRA在講解新突破之前,先簡單科普下 LoRA。 LoRA,英文全稱 Low-Rank Adaptation of Large Language Models,直譯為大語言模型的低階適應(yīng),這是微軟的研究人員為了解決大語言模型微調(diào)而開發(fā)的一項(xiàng)技術(shù)。 后來,LoRA 不僅被應(yīng)用于大語言模型,還適配應(yīng)用到了 Stable Diffusion。 LoRA 的使用,大幅節(jié)省了微調(diào)的成本。比如 GPT-3 有 1750 億參數(shù),為了讓它能干特定領(lǐng)域的活兒,需要做微調(diào),但是如果直接對 GPT-3 做微調(diào),成本太高太麻煩了。 LoRA 的做法是,凍結(jié)預(yù)訓(xùn)練好的模型權(quán)重參數(shù),然后在每個(gè) Transformer 塊里注入可訓(xùn)練的層,由于不需要對模型的權(quán)重參數(shù)重新計(jì)算梯度,這樣就大大減少了需要訓(xùn)練的計(jì)算量。 LoRA 就好比是一個(gè)插件,可以幫助我們低成本的定制各種效果。 今天的主角,則是在 LoRA 基礎(chǔ)上再進(jìn)一步,加上了深度的量化過程,名為 QLoRA。 QLoRAQLoRA 其實(shí)是核心就是在 LoRA 的技術(shù)加上深度的量化過程。核心優(yōu)化思想包括以下三點(diǎn):
只能說,太厲害了,這 GPU 的的成本大大大大縮減。EleutherAI/pythia-12b 推理只需 12G, finetune 也只需 23G. 單個(gè) 3090 就能搞定了。 QLoRA 技術(shù)讓 65B 參數(shù)訓(xùn)練從 780G 降到 48G,再結(jié)合一些新的優(yōu)化器,比如 Sophia,可以讓模型訓(xùn)練 adma 提速 2 倍。 兩者一結(jié)合,咱們也能訓(xùn)練大模型的日子,指日可待了!
有位某乎網(wǎng)友,對 QLoRA 進(jìn)行了實(shí)測。 我們知道 120 億參數(shù)量的 pythia-12b,想要運(yùn)行起來,需要至少 48G 顯存,但是使用 QLoRA 之后,只需要 12.8G 顯存。 以下是實(shí)測記錄: 1、環(huán)境準(zhǔn)備 git clone https://github.com/artidoro/qlora.git 2、推理就是直接 跑sh scripts/generate.sh。這里建議先下載好模型和數(shù)據(jù)。避免老斷帶來的心情煩躁。網(wǎng)絡(luò)好的下載順暢的可跳過此部分。 EleutherAI/pythia-12b(需要24G存儲(chǔ))模型介紹: EleutherAI 是一個(gè)非營利性的人工智能研究實(shí)驗(yàn)室,專注于大型模型的可解釋性和對齊性。pythia 是 EleutherAI 為了促進(jìn) LLM 的研究開源的一系列 LLM(70M, 160M, 410M, 1B, 1.4B, 2.8B, 6.9B, and 12B)。
3、前面的環(huán)境和數(shù)據(jù)都沒問題了,運(yùn)行scripts/generate.sh。 顯存大?。篍leutherAI/pythia-12b 推理只需要顯存12.8G. 好強(qiáng),我跑的第一個(gè)10B以上模型. 使用 QLoRA 在 3090 顯卡上跑 12B 模型的 finetune。 以上內(nèi)容整理自: 52AI:https://zhuanlan.zhihu.com/p/632398047 奉孝翼德:https://zhuanlan.zhihu.com/p/610031713 總結(jié)QLoRA 的出現(xiàn)進(jìn)一步節(jié)省了訓(xùn)練成本,再結(jié)合能夠指導(dǎo)網(wǎng)絡(luò)更快收斂的優(yōu)化器,訓(xùn)練成本大幅降低。 全民都能訓(xùn)大模型的時(shí)代,指日可待,就像現(xiàn)在訓(xùn)練分類、檢測、分割網(wǎng)絡(luò)一樣。 好了,今天就聊這么多吧,我是 Jack,我們下期見! |
|