微調大型語言模型(LLMs)對於希望為特定任務自訂 AI 並提升用戶體驗的企業而言,變得愈加重要。然而,微調所需的計算資源和財務支出往往限制了資源緊張企業的可及性。
為了應對這些挑戰,研究人員開發了算法,顯著降低了微調 LLM 相關的成本。最新的創新之一是 S-LoRA,這是一個由史丹福大學與加州大學伯克利分校聯合開發的項目。
解鎖具成本效益的 AI
S-LoRA 使組織能以極大降低的成本部署微調過的 LLM,讓他們能在單一圖形處理單元(GPU)上運行數百或數千個模型。這一突破為許多以前因成本或資源需求過高而無法應用的 LLM 開辟了新天地。
理解低秩適應
傳統的 LLM 微調方法是重訓已訓練模型,調整所有參數以符合特定任務。由於 LLM 通常擁有數十億個參數,這種方法對計算資源造成了很大壓力。
參數高效微調(PEFT)技術,如低秩適應(LoRA),提供了一種替代方案,通過有選擇地調整模型參數的最小子集來實現。由微軟開發的 LoRA 在保持與全面微調相當的準確度的同時,顯著減少了可訓練參數的數量,從而降低記憶體和計算需求。
由於 LoRA 的有效性,許多適配器已被創建並廣泛應用於已訓練的 LLM 和擴散模型。微調後,用戶可以選擇將 LoRA 權重與基礎模型合併,也可以將其維持為獨立組件,這使得多個占用最小記憶體的 LoRA 適配器成為可能。
S-LoRA 的多樣應用
S-LoRA 的潛在應用範圍廣泛,涵蓋從內容創建到客戶服務等領域。例如,一個部落格平台可以利用這項技術提供微調過的 LLM,能夠以作者獨特的風格生成內容,而不需承擔高昂的成本。
克服技術挑戰
儘管在單一基礎 LLM 上部署多個 LoRA 模型的吸引力巨大,但仍存在幾項技術挑戰。其中,記憶體管理是主要關注點,因為 GPU 的記憶體容量有限,限制了可與基礎模型一起加載的適配器數量。穩健的記憶體管理系統對於流暢運作至關重要。
此外,LLM 伺服器利用批量處理提升吞吐量,能同時處理多個請求。然而,由於 LoRA 適配器大小的變化及其與基礎模型的分開計算,可能會導致瓶頸。
S-LoRA 透過動態記憶體管理來解決這些問題,根據需要高效地在 GPU 和 RAM 之間切換 LoRA 適配器。其創新的「統一頁面」機制確保了查詢模型緩存和適配器權重的有效處理,使伺服器能夠在不發生記憶體碎片的情況下處理數百或數千個批量請求。
此外,S-LoRA 還整合了最先進的「張量並行性」系統,確保了與多個 GPU 上大型變壓器模型的兼容性。這些進步使得 S-LoRA 能夠在單一 GPU 或多個 GPU 上支持多個 LoRA 適配器。
同時服務數千個模型
研究人員使用來自 Meta 的開源 Llama 模型的各種版本,並在不同的 GPU 配置中對 S-LoRA 進行評估。結果顯示,S-LoRA 在擴展時能高效維持吞吐量和記憶體效率。
在與領先的參數高效微調庫 Hugging Face PEFT 的基準測試中,S-LoRA 實現了高達 30 倍的吞吐量提升。與支持基本 LoRA 的高吞吐量服務系統 vLLM 相比,S-LoRA 對吞吐量進行了四倍的增強,並顯著提高了可平行服務的適配器數量。
S-LoRA 的一個突出特徵是其在幾乎不增加計算開銷的情況下,同時服務 2,000 個適配器。正如史丹福大學的博士生及論文聯合作者 Ying Sheng 所說:「服務提供商可以利用相同的基礎模型,為每個用戶自訂適配器,這些適配器可以使用用戶特定數據進行微調。」
S-LoRA 的設計還支持上下文學習,使得用戶在享受個性化適配器的同時,可以納入近期數據,以增強 LLM 的回應。Sheng 指出:「這種方法相比於傳統的上下文提示,可能更有效且具成本效益。」
目前,S-LoRA 的代碼已在 GitHub 上開放,研究人員計劃將其整合進受歡迎的 LLM 服務框架中,使企業能輕鬆在其應用中採用 S-LoRA。