QLoRA 和 4 位元微調
QLoRA 是一種技術,可讓您透過以每個權重僅 4 位元儲存凍結模型來微調單一消費級 GPU 上的大規模語言模型。
概述
It made customizing 65B-parameter models possible on hardware that previously could only handle models a fraction of that size.
深入探討
通常,微調大型模型意味著以 16 位元精度加載每個權重並更新所有權重,這需要大量記憶體。 QLoRA 結合了兩種想法。首先,它凍結預訓練模型並將其量化為 4 位,將記憶體削減約四倍。其次,它使用 LoRA:它不是更新巨大的權重矩陣,而是在它們旁邊注入微小的可訓練低階適配器矩陣,因此只有幾百萬個參數更新。 4 位底座保持固定,而梯度僅流過小適配器。 QLoRA 由 Dettmers 及其同事於 2023 年推出,表明在一個 48GB GPU 上微調 65B 模型可以與完整 16 位元微調的品質相媲美。
技術洞察
QLoRA 引入了三個技巧。 NF4(4 位元 NormalFloat)是一種針對神經權重的鐘形曲線分佈進行最佳化的資料類型,比普通 int4 具有更好的準確性。雙量化會壓縮量化常數本身,從而節省額外的記憶體。分頁優化器使用 GPU-CPU 統一記憶體來吸收長序列期間的峰值,防止記憶體不足崩潰。在前向和後向傳遞過程中,4 位權重被反量化為 16 位,以便進行矩陣乘法,然後被丟棄。
戰略影響
速度與規模
語言工作流程可以在不犧牲一致性的情況下更快地移動。
交通與覆蓋範圍
它擴展了跨語言和溝通方式的訪問。
更明確的決策
團隊可以花更多時間進行判斷,而自動化則可以處理重複。
QLoRA 與 4 位元微調的未來
4 位微調已成為標準做法,現在的研究正在朝著更低的精度方向發展,包括 2 位和 1 位(三進位)表示。 AWQ、GPTQ 和 HQQ 等較新的量化方案進一步提高了準確性,而 QA-LoRA 等技術的目標是即使在合併適配器後也能保持模型的量化。隨著開放重量模型的發展,愛好者可以期待工具能夠在單一遊戲 GPU 上微調 70B 以上的模型,從而成為常規的、民主化的客製化。
現實世界的實施
一家新創公司在單一 48GB GPU 上微調 70B Llama 模型,以自己的品牌聲音建立客戶支援助理,而無需租用伺服器叢集。
一名研究人員使用一台消費級 RTX 4090 一夜之間將開放式模型調整為利基醫療問答資料集。
開發人員為不同的任務創建了數十個小型、可交換的 LoRA 適配器,所有適配器都共享記憶體中載入的一個 4 位元基本模型。
業餘愛好者使用免費的 Colab 級硬體對個人聊天日誌上的模型進行微調,以模仿特定的寫作風格。
風險與防護欄
幻覺的事實可以悄悄地進入報告、支持流程或研究成果。
及時的敏感性可能會在類似的請求中產生不一致的結果。
如果存取控制薄弱,敏感文字資料可能會暴露。
實施路線圖
在推出之前定義輸出格式、語氣和品質標準。
當準確性很重要時,請使用可信任來源進行地面回應。
為高風險輸出保留人工審查檢查點。
追蹤故障模式並定期重新訓練提示或工作流程。
不斷探索
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the QLoRA and 4-Bit Fine-Tuning quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
常見問題
What is QLoRA and 4-Bit Fine-Tuning?
QLoRA 是一種技術,可讓您透過以每個權重僅 4 位元儲存凍結模型來微調單一消費級 GPU 上的大規模語言模型。它使得在硬體上自訂 65B 參數模型成為可能,而以前只能處理該尺寸的一小部分模型。
QLoRA 的「4 位元」部分背後的核心記憶體節省理念是什麼?
QLoRA 以每個值 4 位元儲存凍結的預訓練權重,與 16 位元相比,記憶體減少了大約四倍。
在 QLoRA 微調過程中,哪些參數實際上是透過梯度下降來更新的?
基礎模型被凍結;只有註入的低秩適配器矩陣才會接收梯度更新,這只是參數的一小部分。
QLoRA 背景下的 NF4 是什麼?
NF4(NormalFloat 4 位元)是一種圍繞神經網路權重的鐘形曲線分佈設計的資料類型,其精確度比普通 int4 更高。
QLoRA 中的「分頁優化器」解決什麼問題?
分頁優化器使用 GPU-CPU 統一記憶體來吸收記憶體峰值,防止在長輸入訓練期間出現記憶體不足崩潰。
訓練期間什麼時候將 4 位元權重轉換回更精確度?
對於每個矩陣乘法,4 位元權重都會動態反量化為 16 位元精度,然後丟棄更高精度的副本以節省記憶體。