peft: 它是什麼、解決什麼問題以及為什麼它正受到關注
peft: 它是什麼、解決什麼問題以及為什麼它正受到關注
解決什麼問題
由於大型預訓練模型規模龐大,進行全量微調(full fine-tuning)在運算和儲存方面的成本通常過於昂貴。PEFT 提供了一種方法,可以在不需要更新模型中每一個參數的情況下,將這些模型適應於特定任務。
如何運作
PEFT 並非進行全量微調,而是實作了僅更新少量額外參數(adapters)的方法,同時保持基礎模型凍結。這大幅降低了記憶體和儲存需求。它可以與量化(quantization)技術結合使用,進一步降低模型數據的精度,使得在消費級硬體上訓練大型模型成為可能。
對象是誰
想要在有限的硬體資源下微調大型語言模型(LLMs)或擴散模型(如 Stable Diffusion)的開發者和研究人員,或是需要高效管理多個特定任務的 adapters 的開發者。
重點摘要
- 海量資源節省:減少 GPU 記憶體使用量和儲存需求(例如:一個 12B 參數的模型可以在 80GB GPU 上進行訓練,而全量微調則會失敗)。
- 生態系統整合:與 Hugging Face 的
Transformers,Diffusers,Accelerate, 和TRL無縫銜接。 - 小型檢查點(Checkpoints):僅儲存訓練後的 adapter weights,使得檢查點的大小僅為幾 MB 而非 GB。
- 廣泛支持:支持各種 PEFT 方法,包括 LoRA, IA3, 和 soft prompts。
Sources
- undefinedhuggingface/peft