編輯:小舟、澤南
「原駝」大模型輸出的內(nèi)容和 ChatGPT 比,人類也無法區(qū)分誰好誰壞。
用微調(diào)的方法,現(xiàn)在羊駝模型也可以打 ChatGPT 了,這不是隨便說說,有測試結(jié)果為證。
最近,來自華盛頓大學(xué)的 QLoRA 成為了 AI 領(lǐng)域的熱門,很多人把它形容為里程碑級、改變規(guī)則的技術(shù)。
【資料圖】
新方法訓(xùn)練出的模型在評測基準(zhǔn)上可以做到 ChatGPT 99% 的能力,而且 33B 的版本只需要在單塊 24GB GPU 上進行微調(diào),65B 的版本只需要 46GB 的 GPU。
現(xiàn)在用一塊 RTX 4090,就能做 ChatGPT 一樣的事,這樣的結(jié)果讓人高呼不敢相信:
具體來說,QLoRA 使用 4 位量化來壓縮預(yù)訓(xùn)練的語言模型。然后凍結(jié) LM 參數(shù),并將相對少量的可訓(xùn)練參數(shù)以 Low-Rank Adapters 的形式添加到模型中。模型體量大幅壓縮,推理效果幾乎沒有受到影響。
對于大型語言模型(LLM)來說,微調(diào)(Finetuning)是提高性能、減少錯誤輸出的有效方式。但眾所周知,微調(diào)大模型是一個成本比較高的工作,舉例來說,LLaMA 65B 參數(shù)模型的常規(guī) 16 位微調(diào)需要超過 780 GB 的 GPU 內(nèi)存。
來自華盛頓大學(xué)的研究者首次證明,我們也可以在不降低任何性能的情況下微調(diào)量化的 4 位模型,其新方法 QLoRA 使用一種新的高精度技術(shù)將預(yù)訓(xùn)練模型量化為 4 位,然后添加一小組可學(xué)習(xí)的低秩適配器權(quán)重,這些權(quán)重通過量化權(quán)重的反向傳播梯度進行調(diào)整。
論文《QLORA: Efficient Finetuning of Quantized LLMs》:
論文鏈接:/abs/
GitHub:/artidoro/qlora
作者開源了代碼庫和 CUDA 內(nèi)核,并已將新方法集成到了 Hugging Face transformer 堆棧中。QLoRA 發(fā)布了一系列適用于 7/13/33/65B 的版本,在 8 種不同的指令跟隨數(shù)據(jù)集上進行了訓(xùn)練,總共有 32 種不同的開源微調(diào)模型。
與 16 位完全微調(diào)的基準(zhǔn)相比,QLoRA 將微調(diào) 65B 參數(shù)模型的平均內(nèi)存需求從大于 780GB 的 GPU 降低到小于 48GB,同時也不降低運行時或預(yù)測性能。這標(biāo)志著 LLM 微調(diào)的可訪問性發(fā)生了重大轉(zhuǎn)變:現(xiàn)在最大的公開可用模型也可以在單塊 GPU 上進行微調(diào)了。
使用 QLORA,研究人員訓(xùn)練了 Guanaco(原駝)系列模型,第二好的模型在 Vicuna 基準(zhǔn)測試中達(dá)到了 ChatGPT 性能水平的 %,同時在單個消費級 GPU 上訓(xùn)練時間不到 12 小時,如果在 24 小時內(nèi)使用單塊專業(yè) GPU,最大的模型能達(dá)到 %,基本上可以說縮小了在 Vicuna 基準(zhǔn)測試上與 ChatGPT 的差距。
另外在部署時,最小的 Guanaco 模型(7B 參數(shù))僅需要 5 GB 內(nèi)存,并且在 Vicuna 基準(zhǔn)測試中比 26 GB Alpaca 模型性能高出 20 個百分點以上。
表 1. 模型之間競爭的 Elo 評級,以 GPT-4 為標(biāo)桿,GPT4 之后 Guanaco 33B 和 65B 獲勝次數(shù)最多,而 Guanaco 13B 的得分比 Bard 好。
QLoRA 引入了多項創(chuàng)新,目標(biāo)是在不犧牲性能的情況下減少內(nèi)存使用,其中包括:
4 位的 NormalFloat,這是一種信息理論上最優(yōu)的正態(tài)分布數(shù)據(jù)量化數(shù)據(jù)類型,可產(chǎn)生比 4 位整數(shù)和 4 位浮點數(shù)更好的經(jīng)驗結(jié)果。
Double Quantization,一種對量化常數(shù)進行量化的方法,每個參數(shù)平均節(jié)省約 位(65B 型號約 3GB)。
Paged Optimizers,使用英偉達(dá)統(tǒng)一內(nèi)存來避免在處理具有較長序列長度的 mini-batch 時出現(xiàn)的梯度 check point 內(nèi)存尖峰。
這些貢獻(xiàn)被結(jié)合到了一個更好調(diào)整的 LoRA 方法中,該方法在每個網(wǎng)絡(luò)層都包含適配器,從而避免了之前工作中出現(xiàn)的幾乎所有準(zhǔn)確性權(quán)衡。
QLoRA 的效率讓我們能夠在模型規(guī)模上對指令微調(diào)和聊天機器人性能進行深入研究,此前由于內(nèi)存開銷的限制,使用常規(guī)微調(diào)是不可能的。
因此,作者在多個指令調(diào)優(yōu)數(shù)據(jù)集、模型架構(gòu)和 80M 到 65B 參數(shù)大小之間訓(xùn)練了 1000 多個模型。
除了展示 QLoRA 恢復(fù) 16 位性能和訓(xùn)練最先進的聊天機器人 Guanaco 的能力之外,該研究還分析了訓(xùn)練模型的趨勢。首先,作者發(fā)現(xiàn)數(shù)據(jù)質(zhì)量遠(yuǎn)比數(shù)據(jù)集大小重要。例如 9k 樣本數(shù)據(jù)集 (OASST1) 在聊天機器人性能方面優(yōu)于 450k 樣本數(shù)據(jù)集(FLAN v2,二次采樣),即使兩者都旨在支持泛化后的指令。
其次,強大的大規(guī)模多任務(wù)語言理解 (MMLU) 基準(zhǔn)性能并不意味著強大的 Vicuna 聊天機器人基準(zhǔn)性能,反之亦然 —— 換句話說,數(shù)據(jù)集適用性比給定任務(wù)的大小更重要。
圖 1:不同的微調(diào)方法及其內(nèi)存要求。QLoRA 通過將 transformer 模型量化為 4 位精度并使用分頁優(yōu)化器來處理內(nèi)存峰值提升了性能。
QLoRA 與標(biāo)準(zhǔn)微調(diào)
QLoRA 是否可以像全模型微調(diào)一樣執(zhí)行呢?默認(rèn) LoRA 超參數(shù)與 16 位性能不匹配,當(dāng)使用將 LoRA 應(yīng)用于查詢及值注意投影矩陣的標(biāo)準(zhǔn)做法時,我們無法復(fù)制大型基礎(chǔ)模型的完整微調(diào)性能。如圖 2 所示,在 Alpaca 上進行 LLaMA 7B 微調(diào),最關(guān)鍵的 LoRA 超參數(shù)是總共使用了多少個 LoRA adapter,并且所有線性 transformer 塊層上的 LoRA 都需要匹配完整的微調(diào)性能。其他 LoRA 超參數(shù),例如投影維度 r 則不影響性能。
圖 2. LLaMA 數(shù)據(jù)集上 LLaMA 7B 模型的 RougeL,每個點代表使用不同隨機種子的運行。
4 位 NormalFloat 產(chǎn)生了比 4 位浮點更好的性能。雖然 4 位 NormalFloat (NF4) 數(shù)據(jù)類型在信息理論上是最優(yōu)的,但這里仍需要確定此屬性是否轉(zhuǎn)化成為了經(jīng)驗優(yōu)勢。在圖 3 和表 2 中,我們看到 NF4 比 FP4 和 Int4 顯著提高了性能,并且雙量化在不降低性能的情況下減少了內(nèi)存占用。
表 3:在 GLUE 和 Super-NaturalInstructions 上比較 16 位 BrainFloat (BF16)、8 位整數(shù) (Int8)、4 位浮點數(shù) (FP4) 和 4 位 NormalFloat (NF4) 的實驗。QLoRA 復(fù)制 16 位 LoRA 和 fullfinetuning。
該研究的實驗結(jié)果一致表明,具有 NF4 數(shù)據(jù)類型的 4 位 QLoRA 在具有完善的評估設(shè)置的學(xué)術(shù)基準(zhǔn)上與 16 位完全微調(diào)和 16 位 LoRA 微調(diào)性能相匹配,而且 NF4 比 FP4 更有效,并且雙量化不會降低性能。綜合起來,這形成了令人信服的證據(jù),證明 4 位 QLoRA 調(diào)整可靠地產(chǎn)生與 16 位方法匹配的結(jié)果。
與之前關(guān)于量化的工作 [13] 一致,QLoRA 的 MMLU 和 Elo 結(jié)果表明,在給定的微調(diào)和推理資源預(yù)算下,增加基本模型中的參數(shù)數(shù)量同時降低其精度是有益的。這凸顯了 QLoRA 帶來的效率優(yōu)勢。該研究在實驗中發(fā)現(xiàn),相比于全參數(shù)微調(diào)(full-finetuning),使用 4 位微調(diào)的方法性能并沒有下降,這就引出了 QLoRA 調(diào)優(yōu)中性能 - 精度的權(quán)衡問題,這將是未來的研究方向。
用 QLoRA 改進對話機器人模型
在該研究發(fā)現(xiàn) 4 位 QLoRA 在規(guī)模、任務(wù)和數(shù)據(jù)集方面與 16 位性能相當(dāng)以后,該研究對指令微調(diào)進行了深入研究,并評估了指令微調(diào)開源模型的性能。
具體來說,該研究在具有挑戰(zhàn)性的自然語言理解基準(zhǔn) MMLU 上進行了評估,并開發(fā)了用于真實世界聊天機器人性能評估的新方法。在 MMLU 上評估的結(jié)果如下表 4 所示
基于 Chiang et al. [10] 提出的評估協(xié)議,該研究使用 GPT-4 來評估不同系統(tǒng)相比于 ChatGPT ( Turbo)的 Vicuna 基準(zhǔn)測試結(jié)果。這被該研究稱為自動化評估方法。
Guanaco:GPT-4 之后性能最好的模型
通過自動化評估和人工評估,該研究發(fā)現(xiàn)在 OASST1 的變體上微調(diào)的頂級 QLORA 調(diào)優(yōu)模型 Guanaco 65B 是性能最佳的開源聊天機器人模型,其性能可與 ChatGPT 媲美。與 GPT-4 相比,Guanaco 65B 和 33B 的預(yù)期獲勝概率為 30%,該結(jié)果基于人類注釋者系統(tǒng)級成對比較得出的 Elo 等級分(Elo rating),這也是迄今為止報告的最高水平。
該研究還進行了與 ChatGPT 對比的 Vicuna 基準(zhǔn)測試,結(jié)果如下表 6 所示:
該研究發(fā)現(xiàn) Guanaco 65B 是 GPT-4 之后性能最好的模型,可以實現(xiàn) ChatGPT % 的性能水平。Guanaco 33B 的參數(shù)比 Vicuna 13B 模型要多,但其權(quán)重僅使用 4 位精度,因此內(nèi)存使用效率更高,內(nèi)存占用更少(21 GB VS 26 GB)。此外,Guanaco 7B 可輕松安裝在 5 GB 內(nèi)存的智能手機上。
總體而言,GPT-4 和人工注釋者的系統(tǒng)級判斷是適度一致的,因此基于模型的評估是人類評估的一種可靠替代方案。
在定性分析方面,如下表 7 所示,該研究發(fā)現(xiàn)與人類評分相比,GPT-4 為其自己的輸出給出了更高的分?jǐn)?shù)(Elo 為 1348 vs 1176)。未來該研究會進一步檢查自動評估系統(tǒng)中是否存在潛在偏差,并提出可能的緩解策略。
?THE END
轉(zhuǎn)載請聯(lián)系本公眾號獲得授權(quán)
投稿或?qū)で髨蟮溃篶ontent@