微調與適配
LoRA(低秩適配,low-rank adaptation)
LoRA 是目前最受歡迎的便宜微調方式。它的洞見是:模型為了新任務所需要的更新,在一個精確的意義上是「簡單」的——可以用兩個又小又瘦的矩陣來捕捉,而不必動用一個龐大的稠密矩陣。於是你把原始權重凍結,只學那個精巧的更新量。
對一個權重矩陣 W,LoRA 學兩個小矩陣 A 和 B,把改變量表示成它們的乘積 BA,而這個乘積是低秩的。訓練時只更新 A 和 B,W 維持凍結。這兩個矩陣加起來只佔 W 參數的極小一部分,所以你要訓練與儲存的東西少得多。推論時,你可以把 BA 折回 W 裡(不增加任何成本),或讓它獨立存放以便在任務間隨時熱切換。
因為每個 LoRA 只有幾 MB,你可以為一個基礎模型備好許多個,按需載入對的那一個。它是實務上客製化開源模型的主力工具。
W' = W + BA,\quad B\in\mathbb{R}^{d\times r},\ A\in\mathbb{R}^{r\times k},\ r\ll d,k
只訓練低秩乘積 BA;秩 r 很小(常為 8 到 64),所以 A 與 B 所含的數字遠少於 W。
又称
另见