What is QLoRA?

    結合 4 位元量化和 LoRA 適配器的微調技術,使大型語言模型能在單一消費級 GPU 上微調。

    Definition

    QLoRA(量化低秩適配)是 LoRA 微調方法的擴展,透過將基礎模型權重保持在 4 位元量化格式同時在其上訓練小型全精度 LoRA 適配器層來大幅降低記憶體需求。由 Dettmers 等人在 2023 年提出,QLoRA 使得在單一 48 GB GPU 上微調 650 億參數的模型成為可能——這項任務否則需要多個高階 GPU 加上數百 GB 的組合 VRAM。

    該技術引入了三項關鍵創新:4 位元 NormalFloat(NF4)量化,在資訊理論上對常態分佈的權重是最優的;雙重量化,對量化常數本身進行量化以節省額外記憶體;以及分頁優化器,使用統一的 CPU/GPU 記憶體來優雅地處理訓練高峰。這些創新共同使凍結基礎模型的記憶體佔用比標準 FP16 LoRA 減少了大約 4 倍,而可訓練的適配器權重保持在較高精度以維持梯度品質。

    儘管對基礎權重進行了激進的量化,QLoRA 實現的微調品質與全 16 位元微調驚人地接近。原始論文證明,QLoRA 調優的 33B 模型可以在某些基準上匹配全 16 位元微調的 65B 模型的表現,證明量化與低秩適配的結合不僅僅是一種妥協,而是準確度-計算折衷中的高效前沿。

    Why It Matters

    在 QLoRA 之前,微調大型語言模型是擁有多 GPU 叢集存取權的資金充裕團隊的專屬領域。QLoRA 打破了這一障礙,使得在幾百美元的硬體上微調 7B-70B 模型成為可能。這種民主化對於無法為專用訓練基礎設施證明資本支出合理性的新創公司、研究人員和企業來說具有變革性意義。它還意味著更快的迭代週期:團隊可以在相同的實際時間內嘗試更多的資料集變體和超參數配置。

    How It Works

    QLoRA 首先以 4 位元 NF4 精度載入預訓練基礎模型,這使用針對神經網路權重高斯分佈優化的量化方案將每個權重從 16 位元壓縮到 4 位元。然後在模型的注意力和前饋層中以全 BFloat16 精度注入小型 LoRA 適配器矩陣(通常秩 8-64)。在前向傳遞期間,4 位元基礎權重被即時反量化為 BF16,與 LoRA 適配器輸出組合,結果用於計算損失。梯度僅流經適配器權重,因此優化器狀態很小。分頁優化器在 GPU 記憶體不足時自動將優化器狀態卸載到 CPU RAM,防止訓練高峰期間的記憶體不足崩潰。

    Example Use Case

    一位獨立 AI 研究人員在單一 NVIDIA A100 40 GB GPU 上使用 QLoRA 在自訂指令資料集上微調 Llama 2 70B 模型。4 位元基礎模型佔用約 35 GB 的 VRAM,為 LoRA 適配器和優化器狀態留出足夠空間。經過 8 小時 3 輪訓練後,研究人員產生了一個在其評估基準上比基礎模型高出 18 分的領域特定助手——全部無需租用多節點叢集。

    Key Takeaways

    • QLoRA 結合 4 位元量化和 LoRA 在單一 GPU 上微調超大模型。
    • NF4 量化針對神經網路中的權重分佈進行了優化,最小化資訊損失。
    • 儘管基礎權重的記憶體減少了 4 倍,微調品質接近全 16 位元 LoRA。
    • 分頁優化器透過無縫溢出到 CPU 記憶體來防止 OOM 錯誤。
    • QLoRA 使個人和小型團隊可以微調 70B 以上參數的模型。

    How Ertas Helps

    QLoRA 是 Ertas Studio 中提供的主要微調方法之一。當使用者配置訓練工作時,Ertas 根據所選基礎模型大小和 Ertas Cloud 中可用的 GPU 資源自動決定 QLoRA 是否為最佳策略。平台在背後處理 NF4 量化、適配器注入和分頁優化器配置,讓使用者無需理解底層實作細節即可獲得 QLoRA 的記憶體節省。

    Related Resources

    Ship AI that runs on your users' devices.

    Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.