技術
LoRA(低秩適應)
LoRA (Low-Rank Adaptation)
一種高效微調技術,透過訓練小型低秩矩陣來調整大模型,不必更新全部權重。
LoRA(Low-Rank Adaptation,低秩適應)是一種針對大型語言模型與擴散模型的高效微調方法。它不更新基礎模型裡幾十億個參數,而是把原始權重凍結,在特定層之間插入兩個小型可訓練矩陣——也就是「低秩分解」——只訓練這些小矩陣。
這個做法的好處很實際:完整微調一個 Llama-70B 等級的模型需要數百 GB 顯存,輸出的檢查點也非常龐大;而一個 LoRA 適配器可能只有幾 MB 到幾百 MB,單張 GPU 幾小時就能訓練完,推論時還能即插即用。Hugging Face 上大多數社群微調的開源 LLM、以及 Stable Diffusion 上各種畫風與角色模型,背後幾乎都是 LoRA。
直覺上,把一個預訓練模型適配到新任務時,權重的「變化量」其實是低維的,不需要完整秩的更新。LoRA 因此不直接學習龐大的 ΔW,而是把它拆成 ΔW = B·A 兩個瘦長矩陣(常見 rank 為 8、16、32)。一個 4096×4096 的權重矩陣在 rank 8 下只需訓練約 6.5 萬個參數,而不是 1600 萬個。
實務上 LoRA 常與量化結合(QLoRA),讓你能在消費級顯卡上微調很大的模型。多個 LoRA 也可以合併或疊加使用,在 AI 繪圖領域特別常見,例如把角色 LoRA 與畫風 LoRA 一起載入。
延伸閱讀:fine-tuning、PEFT、QLoRA、adapters、Hugging Face PEFT 函式庫。