LoRA(Low-Rank Adaptation)是一種高效的微調技術,設計用於快速適應大型預訓練模型(如GPT、BERT、T5)以完成特定任務,同時大幅減少需要調整的參數數量。它通過在模型的權重矩陣中引入低秩(low-rank)分解,僅學習少量可訓練參數,避免完整微調帶來的龐大計算和記憶體消耗。
LoRA的核心原理:
• 將模型中某個大權重矩陣 的更新表示為兩個低秩矩陣 和 的乘積: 。• 保持原始預訓練模型權重凍結不變,只訓練這兩個低秩矩陣,完成調整。
• 這樣能減少需要訓練的參數數量,同時保有原模型知識,支持快速且資源節省的微調。
主要優點:
• 參數效率:僅調整極少數參數,節約記憶體和計算成本。
• 保留預訓練知識:模型主體權重不變,降低微調風險且易於回退到原模型。
• 易整合:可用於各種 Transformer 類大型模型,且不增加推理延遲。
• 訓練速度快:大大縮短微調時間,適合少量數據或快速迭代。
應用場景:
• 自然語言處理(NLP)中的領域適應或特定任務微調。
• 計算機視覺模型輕量級微調。
• 個性化模型定制以及多任務模型共享。
簡單比喻:
LoRA 就像是在原本龐大的機器內部加裝了一個小巧精緻的調節器,通過調整這個調節器達到改變整體功能的效果,而不需重新打造整個機器。
總結:
LoRA 是一種低秩矩陣分解的高效微調方法,通過少量參數調整完成大模型快速、節省成本的任務定制,已成為大型神經網絡微調的流行技術。