QLORA: Efficient Finetuning of Quantized LLMs
- QLoRA論文概述
- 前言(省流版本)
- 摘要
- 論文十問
- 實驗
- 實驗1
- 數據集和模型
- 實驗結論
- 實驗2
- 數據集和模型
- 實驗結論
- 局限性
- 模型尺度
- 數據集
- 其他微調方法
QLoRA論文概述
前言(省流版本)
微調需要大量顯存資源。
之前工作的量化大都是在推理而非訓練。
實驗中發現數據的質量比數量重要。
評估采用人類和GPT-4相結合。
提出了三個技術方案實現單個GPU微調65B模型,達到和16位微調任務相同的性能
- 4-bit NormalFloat(NF4)量化:QLORA使用一種新的數據類型NF4,它在信息理論上最適合正態分布的權重,并在實踐中優于4-bit整數和4-bit浮點數。
- 雙量化:QLORA采用雙量化方法,對量化常數進行第二次量化,從而減少每個參數的內存占用。
- 分頁優化器:QLORA引入了分頁優化器,在梯度檢查點時防止內存溢出錯誤。這個方法使用NVIDIA統一內存特性,在CPU和GPU之間自動進行頁面到頁面的傳輸,以便在GPU內存不足時進行無錯誤的GPU處理。優化器狀態分配分頁內存,然后在GPU運行內存不足時自動逐出到CPU RAM,并在優化器更新步驟中重新分頁到GPU內存。
摘要
我們提出了QLORA,這是一種有效的微調方法,它減少了內存使用,足以在單個48GB GPU上微調65B參數模型,同時保留完整的16位微調任務性能。
QLORA通過凍結的4位量化預訓練語言模型將梯度反向傳播到低秩適配器(Low Rank Adapters, LoRA)。我們最好的模型家族,我們命名為Guanaco,在Vicuna基準上優于之前所有公開發布的模型,達到ChatGPT性能水平的99.3%,而只需要在單個GPU上進行24小時的微調。
QLORA引入了許多創新來節省內存而不犧牲性能:(a) 4位NormalFloat (NF4),這是一種新的數據類型,理論上對正態分布權重是最優的;(b)雙量化,通過量化量化常量來減少平均內存占用;?分頁優化器來管理內存峰值。
我們使用QLORA對1000多個模型進行了微調,提供了8個指令數據集、多種模型類型(LLaMA、T5)和常規微調無法運行的模型規模(例如33B和65B參數模型)上的指令跟隨和聊天機器人性能的詳細分析。
我們的結果表明,即使使用比以前的SoTA更小的模型,在小的高質量數據集上進行QLoRA微調也可以得到最先進的結果。我們提供了基于人類和GPT-4評估的聊天機器人性能的詳細分析,表明GPT-4評估是人類評估的廉價和合理的替代方案。
此外,我們發現目前的聊天機器人基準并不值得信賴,無法準確評估聊天機器人的性能水平。一個檸檬分析顯示了與ChatGPT相比,Guanaco失敗的地方。我們發布了所有的模型和代碼,包括用于4位訓練的CUDA內核
論文十問
- 論文試圖解決什么問題?
這篇論文試圖解決大規模語言模型微調(finetuning)所需的巨大GPU內存問題,以使這類模型能在單GPU上進行微調。
- 這是否是一個新的問題?
是的,這是一個新的問題。以前的工作主要集中在推理時的量化,而沒有研究過訓練和微調過程中的量化。
- 這篇文章要驗證一個什么科學假設?
這篇論文的核心科學假設是4比特量化微調可以不損失性能地實現16比特完全微調的效果。
- 有哪些相關研究?如何歸類?誰是這一課題在領域內值得關注的研究員?
相關研究包括語言模型量化、低秩適配器微調等。值得關注的研究員有Tim Dettmers、Luke Zettlemoyer等。
- 論文中提到的解決方案之關鍵是什么?
關鍵的解決方案是提出了4比特NormalFloat數據類型,以及雙量化和分頁優化器等技術。這些技術協同工作,實現了高精度的4比特量化。
- 論文中的實驗是如何設計的?
設計了不同模型結構、數據集和模型規模的比較實驗,通過學術基準測試驗驗證了方法的有效性。
- 用于定量評估的數據集是什么?代碼有沒有開源?
使用的數據集包括GLUE、Super-Natural Instructions等,代碼已在GitHub上開源。
- 論文中的實驗及結果有沒有很好地支持需要驗證的科學假設?
是的,詳細的實驗結果充分驗證了4比特量化微調能夠不損失性能地實現16比特完全微調的效果這個核心科學假設。
- 這篇論文到底有什么貢獻?
這篇論文的主要貢獻是首次證明了4比特量化微調的有效性,并在此基礎上訓練出新狀態的聊天機器人模型。
- 下一步呢?有什么工作可以繼續深入?
后續可繼續研究不同bit精度下的量化微調效果、在更大模型尺寸下的驗證,以及在其他任務上的探索等。
實驗
實驗1
數據集和模型
GLUE、Super-Natural Instructions
RoBERTa-large 、T5
實驗結論
我們的結果一致表明,具有NF4數據類型的4位QLORA在學術基準測試中具有良好的評估設置,與16位全調優和16位LoRA調優性能相匹配。我們還表明NF4比FP4更有效,雙量化不會降低性能。綜合起來,這形成了令人信服的證據,證明4位QLORA調優可靠地產生與16位方法相匹配的結果。
實驗2
數據集和模型
MMLU:這是一個選擇題基準,涵蓋57個任務,包括小學數學、美國歷史、計算機科學、法律等。
Alpaca、FLAN V2
實驗結論
在Alpaca和FLAN v2上對不同數據類型的適配器進行微調后,LLaMA 7-65B模型的平均5次MMLU測試精度。總體而言,具有雙量化(DQ)的NF4與BFloat16性能相當,而FP4始終比兩者落后一個百分點。
局限性
模型尺度
在33B和65B模型尺度上,QLORA可能無法完全匹配16位全微調性能。這主要是由于資源成本巨大
數據集
雖然在MMLU、Vicuna基準和OA基準上進行了評估,但在BigBench、RAFT和HELM等其他基準上沒有進行評估,因此無法確保評估結果推廣到這些基準。
其他微調方法
除了LoRA之外,還有各種各樣的參數有效微調(PEFT)方法沒有參與到評估中。