[IND] 4 分鐘閱讀OraCore 編輯部

PEFT vs 全量微調

PEFT 適合多數大型語言模型微調情境,全量微調則適合需要深度改動模型行為的少數案例。

分享 LinkedIn
PEFT vs 全量微調

PEFT 多數情況是大型語言模型微調的預設選項,全量微調則適合需要更深層模型改動的少數情境。

PEFT 與全量微調之間做選擇,重點不是誰比較新,而是誰更符合你的 GPU 預算、上線方式與準確率目標。這篇是寫給正在決定要不要用 LoRA、QLoRA,還是直接把整個模型權重都打開來訓練的團隊。

一張表看懂

訂閱 AI 趨勢週報

每週精選模型發布、工具應用與深度分析,直送信箱。不定期,不騷擾。

不會寄垃圾信,隨時可取消。

維度PEFT全量微調
13B 模型可訓練參數LoRA r=16 約 2,600 萬,約 0.2%130 億,100%
13B 指令微調峰值 VRAMLoRA 約 56 GB,QLoRA 約 18 GB約 240 GB
單次訓練成本LoRA 約 US$28,QLoRA 約 US$20約 US$190,8×A100 80GB
與全量微調相比的準確率差距LoRA 約 0.2 到 0.8 個百分點,QLoRA 約 1.1 個百分點基準
每個客戶版本的部署體積Adapter 約 50 到 200 MB完整模型檢查點約 26 GB
推論延遲額外開銷合併後 0%,動態掛載約 5% 到 15%0%

PEFT

PEFT 的核心優勢是把「改模型」變成「改一小段可訓練參數」。以 LoRA 來說,它是在凍結原始權重的前提下,加上一個低秩更新矩陣,所以訓練時真正要學的東西很少。對 13B 模型而言,r=16 大約只有 2,600 萬個可訓練參數,這種規模讓單卡微調不再只是理論上可行,而是實務上可操作。

PEFT vs 全量微調

QLoRA 進一步把基礎模型壓到 4-bit 儲存,再在訓練時動態還原並更新 bf16 adapter,讓原本需要大顯存的工作,能在 24 GB 等級的卡上跑起來。這也是為什麼很多團隊把 PEFT 當成預設值,因為它不只省錢,還能把迭代速度、版本管理與多客戶部署一起簡化。

全量微調

全量微調的價值,在於它不是只學「補丁」,而是讓模型整體重新對齊任務。當你要做初始指令調教、擴展到新語言,或是想把模型行為往某個方向大幅推進時,更新全部權重會給你最大的可塑性。這種自由度常常是 PEFT 做不到的,尤其在你追求最後 1 到 2 個百分點的基準分數時。

PEFT vs 全量微調

但代價也最直接。13B 模型若以 fp16 儲存,光權重就已經約 26 GB,還沒算 optimizer states、gradient 與 activations。實際訓練時,記憶體需求很快就會衝到多卡等級,成本、排程與除錯都會一起變重。它適合研究型團隊、基礎模型團隊,或是確定需要深度改寫模型行為的案子,不適合頻繁重訓或要維護很多客製版本的產品環境。

差異不只在準確率

很多人第一眼只看 benchmark,但真正拉開差距的是營運方式。PEFT 的 adapter 通常只有 50 到 200 MB,代表你可以為不同客戶、不同部門各放一份版本,必要時還能熱切換。這種彈性對客服、法務、金融、內部知識助理這類需求很重要,因為它們常常不是要一個最強模型,而是要很多個穩定可控的模型變體。

全量微調則比較像一次把整台機器重新校準。它的部署檔案大,回滾成本高,重新訓練也慢,但如果你的目標是把模型本體改到很深,像是改語言覆蓋、改 token 分佈,或把某些能力真正內化進去,這種做法仍然有它的必要性。換句話說,PEFT 解的是「怎麼快又省地適配」,全量微調解的是「怎麼真的改變模型」。

怎麼選

如果你是產品團隊、應用團隊,或手上有多個客戶版本要維護,先選 PEFT。它最適合那些已經有不錯基礎模型,只想把它調成更懂領域語言、更符合公司流程的讀者。你會得到較低的 GPU 壓力、較快的實驗週期,以及比較容易上線的部署方式。

如果你是研究團隊、模型團隊,或你明確知道自己要改的是模型核心行為,就選全量微調。它比較適合追求極限準確率、要做基礎能力變更,或需要把模型往新語言與新模態推進的讀者。你要能接受更高的算力成本與更複雜的訓練流程。

如果你的首要目標是省錢、快迭代、好部署,PEFT 幾乎是預設答案。只有在你真的需要深度改寫模型,而不是單純套用任務適配時,全量微調才會翻盤。

預設推薦 PEFT,尤其是 LoRA 或 QLoRA;唯一會讓答案改變的情境,是你正在做基礎模型級別的訓練,或需要明顯改動模型本體行為。