LoRA (Low-Rank Adaptation) 是一種高效、節省資源的微調(Fine-tuning)技術,在視覺語言模型 (Vision-Language Models, VLM) 的應用中非常重要。它屬於參數高效微調 (Parameter-Efficient Fine-Tuning, PEFT) 方法的一種,目的是在不需要重新訓練整個大型模型的情況下,讓模型學會新任務或新資料特性。
對於像 CLIP、LLaVA、PaliGemma 這類VLM,完整 fine-tuning 會遇到的問題包括:參數量非常大(數十億以上);記憶體需求高,訓練時間長,成本高;原模型權重可能受授權限制,無法改寫;不同任務需要不同版本模型,不方便維護。LoRA 的出現就是為了解決這些問題,只訓練少量附加參數(adapter),保留原模型權重不變。
對於 VLM 這種需要處理視覺(如圖片編碼器)和語言(如大型語言模型)的複雜模型來說,LoRA 的優勢更為突出:
在 VLM 上應用 LoRA 時,主要的設計選擇是如何將適配器注入模型的哪一部分: