摘要
低秩自適應 (LoRA) 已成為大語言模型 (LLM) 參數有效微調 (PEFT) 中最廣泛采用的方法之一。LoRA 減少了可訓練參數的數量和內存使用,同時達到了與全面微調相當的性能。該研究旨在評估在實際應用中訓練和服務使用 LoRA 微調的 LLM 的可行性。首先,該研究測量了在 10 個基礎模型和 31 個任務上使用量化低秩適配器微調的 LLM 的質量,總共有 310 個模型。研究發現,4 位 LoRA 微調模型的平均性能優于基礎模型 34 個點,優于 GPT-4 10 個點。其次,該研究調查了用于微調的最有效的基礎模型,并評估了任務復雜度啟發式方法在預測微調結果方面的相關性和預測能力。最后,該研究評估了 LoRAX 的延遲和并發能力,LoRAX 是一個開源的多 LoRA 推理服務器,通過共享基礎模型權重和動態適配器加載,促進了在單個 GPU 上部署多個 LoRA 微調模型。LoRAX 為 LoRA Land 提供支持,LoRA Land 是一個 Web 應用程序,在單個 NVIDIA A100 GPU 上托管了 25 個 LoRA 微調的 Mistral-7B LLM,內存為 80GB。LoRA Land 突出了使用多個專門的 LLM 相比單個通用 LLM 在質量和成本效益方面的優勢。
1 引言
微調大語言模型 (LLM) 是提高其性能以及添加理想行為或消除不良行為的一種非常有效的方法。低秩自適應 (LoRA) 是最廣泛采用的 LLM 微調方法之一,在使用少量可訓練參數的情況下,展示了使較小的專門模型在特定任務上優于更大、更通用的模型的巨大前景,挑戰了更大的通用模型總是優于較小模型的觀念。
盡管新的基礎模型不斷推出,如 Gemma、Llama 和 Mistral,它們聲稱易于在各種任務上進行微調,但對這些模型的全面評估仍然很少。MMLU 和 HellaSwag 等基于廣泛知識和推理的基準通常用于 Open LLM Leaderboard 等排行榜,但是,這不一定能代表任務特定的性能,無論是在微調之前還是之后。技術報告通常沒有指定訓練配置,關于易于微調的說法也沒有得到衡量。雖然微調的有效性已被廣泛證明,但缺乏大規模實驗使幾個關鍵問題沒有得到回答,特別是關于通過微調提高性能的一致性和可預測性,以及模型大小、基礎模型和任務復雜性的影響。
評估對提示很敏感,出版物和庫中使用的公式存在顯著差異。技術報告通常使用專門的、特定于數據集的提示策略來展示模型性能,例如角色扮演提示(例如"假設你是專家")、maj@k 投票、不同的 n-shot、MedPrompt 和 chain-of-thought 提示。雖然這些方法旨在突出模型的最佳能力,但使用如此多樣化的提示技術會使跨模型和任務的直接比較具有挑戰性。
在這項工作中,該研究通過對 10 個基礎模型和 31 個任務進行廣泛分析,總共分析了 310 個使用 LoRA 微調的 LLM,以彌補這些差距。該研究特意保持所有 LLM 都使用相同的訓練參數,并強調使用 zero 或 single-shot 的 completion 風格提示進行查詢,其中包含簡單的指令,如"解決以下多項選擇問題"。總而言之,這提供了一個標準化的框架,用于比較和評估在特定任務上,使用一致條件通過 LoRA 微調的不同基礎模型的內在能力。
該研究還旨在探討在實際生產應用中服務多個 LoRA 模型的可行性。LoRAX 通過利用共享的基礎模型權重和動態適配器加載,實現了在單個 GPU 上同時服務多個 LoRA 模型。該研究測量了這個庫的延遲和并發指標。該研究使用 LoRAX 在單個 A100 上部署了 25 個微調過的 LLM,用于 LoRA Land Web 應用程序。該研究的成功實施展示了服務多個專門的 LoRA 自適應 LLM 的經濟效率。
最后,該研究在 LoRA Land Web 應用程序上發布了所有 25 個微調模型,并在 (Hugging Face) 上發布了它們的訓練配方,以允許社區進一步分析和復制。
2 相關工作
參數有效微調 (PEFT) 方法旨在減少大規模模型微調的高昂成本。與總參數數量相比,它們通過訓練相對較少的參數子集來實現這一目標,以適應下游任務。現有的 PEFT 策略可分為兩類:基于提示的方法在初始輸入中添加額外的軟標記(提示),并僅專注于微調這些可訓練向量。基于適配器的方法在原始凍結主干中引入額外的可訓練模塊。LoRA 通過在凍結權重層旁邊添加少量可訓練的低秩矩陣來擴展基于適配器的微調,這引入了可忽略的推理開銷。LoRA 的變體包括使用 SVD 分解來修剪不太重要的奇異值以進行更有效的更新的工作。另一個變體 DoRA 將預訓練權重分解為幅度和方向分量,同時將 LoRA 應用于后者。QLoRA 使用 4 位 NF4 權重、雙量化來減少內存占用,以及分頁優化器來緩解內存峰值,從而進一步優化了 LoRA 的設計。在該研究的實驗中,主要關注具有 4 位量化的 LoRA 的原始實現。
LoRA 模型的高效服務。服務多個微調模型的主要挑戰是:
- 可擴展性:隨著對模型推理的需求增長,系統必須有效地擴展以處理增加的負載。這不僅涉及擴展計算資源,還涉及管理模型之間的負載分配以保持性能。
- 成本:服務多個微調模型所需的計算資源可能導致顯著的成本。在保持高性能和可用性的同時有效管理這些成本是一個主要挑戰。
Segmented Gather Matrix-Vector Multiplication (SGMV) 等技術旨在通過優化計算執行方式和資源使用來解決這些挑戰。DeepSpeed、FasterTransformer 和 vLLM 等開源工具也旨在實現微調模型的經濟高效和可擴展的服務。在本文中,該研究使用 LoRAX,它專門設計用于使用 LoRA 微調的 LLM 的高效服務。LoRAX 支持動態適配器加載,因此可以在推理期間異步下載適配器,支持多個模型系列,如 Llama 和 Mistral,以及 bitsandbytes 量化模型。
3 方法
3.1 任務選擇
在為該研究選擇數據集和任務時,該研究優先考慮那些可通過 Kaggle 和 HuggingFace 廣泛獲得的數據集和任務,以及常用于基準測試的數據集和任務,例如 Open LLM Leaderboard 上的那些。
該研究的選擇包括用于廣泛領域知識的 MMLU 數據集、用于內容審核的 Jigsaw、用于 SQL 生成的 WikiSQL,以及 GLUE 基準。該研究將這些數據集涵蓋的任務分為 5 種類型:
- 經典 NLP:源自 2018 年至 2022 年發布的常見 NLP 數據集的任務,涵蓋命名實體識別、數據到文本和標題生成等任務。
- 編碼:SQL 查詢生成和 Python 編程問題,主要集中在算法和面向對象設計上。
- 知識:基于知識的多項選擇題。
- 推理:基于推理的多項選擇題。
- 數學:數值、基于數學的文字問題。
3.2 提示選擇
之前的研究已經證明,利用提示工程技術,如使用多數投票、包含多個上下文示例(n-shot)、MedPrompt、chain-of-thought 提示等,可以增強模型在特定任務上的性能。
在該研究的評估中,有意選擇不為任何特定數據集、任務或模型采用額外的提示工程或調優策略。盡管使用更多的上下文示例或在 n-shot 提示中使用更有選擇性的方法可能會產生更好的結果,但該研究優先考慮可重復性,并最大限度地減少可能因定制上下文學習而產生的偏差。相反,該研究選擇對所有任務使用簡單的零或單樣本完成風格的提示。提示以完成的風格編寫,如圖 3 所述,以提供微調、指令調優和自動完成模型之間的公平比較。對于分類任務,提示包括所有可能的類別,以告知模型的響應。對于更專業的任務,描述預期輸出格式具有挑戰性,該研究使用單個上下文示例(來自已發布訓練集的第一個示例)來指導模型。
最后,該研究遵循每個模型在 HuggingFace 上的文檔中概述的規定的提示標記約定,以確保對預訓練和指令調優的基礎模型進行正確查詢。這包括對于 Mistral Instruct 使用 <s>[INST] ... [/INST]
,對于 Gemma 的指令調優模型使用<bos><start_of_turn>user ... <end_of_turn><start_of_turn><model>
。有關應用于每個任務和模型的確切提示模板的詳細信息,請參見附錄 A。
3.3 基礎模型
所有基礎模型都列在表 2 中。該研究使用 GPT-4 (gpt-4-0613) 和 GPT-3.5-Turbo (gpt-3.5-turbo-0125) 作為兩個強大的 LLM 基線。選擇這十個基礎模型的考慮因素包括它們在 AI 社區中的廣泛采用、具有寬松許可的可用性以及技術報告的可用性。該研究特意選擇參數 ≤ 80 億的基礎模型,以確保每個模型都可以在單個 A10G GPU 的資源限制內高效訓練。
3.4 訓練參數
每個模型都使用已發布的訓練集進行訓練。每個模型都訓練 40000 個訓練步驟,批量大小為 1,使用 bitsandbytes 進行 4 位量化,LoRA 秩為 8。該研究使用分頁 adam 優化器,學習率為 0.002,余弦學習率調度器的預熱分數為 0.03(1200 個訓練步驟)。梯度在 16 個累積步驟上應用,有效批量大小為 16。
這些訓練參數與梯度檢查點相結合,允許每個 LLM 在具有 24 GB 內存的單個 A10 GPU 上進行微調。對于使用完整序列長度仍會導致 GPU OOM 錯誤的任務,該研究首先將示例輸入截斷為設置為所有任務輸入的第 95 百分位數的最大序列長度。
3.5 評估
如表 2 所示,如果存在測試集并且已標記,則在測試集上評估模型,否則在驗證集上評估。該研究采用一組定制的評估指標來準確評估所有任務的性能。對于分類任務使用準確性,對于回歸任務使用(1 - 平均絕對誤差),對于生成任務使用 rouge-L。WikiSQL 數據集有自己的評估套件,但由于集成 WikiSQL 評估套件存在挑戰,該研究采用 ROUGE 指標作為評估查詢質量的代理。對于編碼,該研究使用 HumanEval。對于 GSM8K,使用基于正則表達式的啟發式方法來提取數學答案,以與 Open LLM Leaderboard 保持一致。所有指標都在 0 到 1 的范圍內,其中 0 是最差的分數,1 是最好的分數。
非微調模型通常會生成更多不同的輸出,包括意外的偽影,如提示中未指定的額外單詞或解釋。對于分類任務,有時這些模型會生成實際的類字符串,如拼寫出的"Yes/No"、“positive/negative"或"True/False”,而不是數據集中的真實的"1/0"標簽,即使被指示這樣做。為了最大限度地減少由于響應解析嚴格性而導致的指標扣減,該研究首先使用基于正則表達式的提取步驟將模型的響應映射到地面實況詞匯表。如果生成的文本中有多個匹配項,則使用第一個有效匹配項。用于正則表達式預指標響應提取的代碼可在 github.com/predibase/lora-bakeoff 上找到。
與 LLM API 相關的財務限制并非微不足道。例如,使用 GPT-4 評估完整的 WikiSQL 測試集(15,878 個示例)將花費約 400 美元,考慮到每個示例的平均輸入(805)和輸出(16)令牌計數。這些成本可能是高昂的,尤其是對于預算有限的組織或研究人員而言。為了在保持嚴謹性的同時管理成本,該研究將評估限制在評估集大于 1000 個示例的數據集的前 1000 個示例。該研究承認,這種方法可能會引入選擇偏差,并影響研究結果的普遍性。該研究建議未來的研究考慮在資源允許的情況下進行更廣泛的評估。
4 結果
如圖 5 所示,LoRA 微調在基礎模型和任務中提供了一致且顯著的提升。在微調之前,GPT-4 和 GPT-3.5 在所有其他基礎模型中表現最強,總分分別為 0.599 和 0.661。根據基礎模型的不同,微調帶來的性能提升范圍從 +26.3 到 +51.2 點,平均為 +38.7(表 3)。根據任務的不同,最佳微調 LLM 的性能優于最佳基礎模型 +8.3 到 +67.5 點,平均為 +25.0 點(表 4)。
在微調后,301/310 個模型超過了它們的基礎模型對應物,而 224/310 個微調 LLM 超過了 GPT-4 設定的基準(表 4)。Gemma-2b 是微調后性能最差的基礎模型,但也經歷了整體微調的最大提升,這表明初始分數較低的模型可能從微調中獲益最多(圖 1)。
通過對所有任務的總體平均值,所有微調模型的性能都優于 GPT-3.5,所有 7B 微調模型的性能都優于 GPT-4,除了 gemma-7b 和 gemma-7b-it。Phi-2 的參數只有 20 億,在微調后表現出與 GPT-4 相當的性能,這與 Phi-2 技術報告的發現一致。
在 31 個任務上平均,最佳微調 LLM(0.756)的整體性能顯著高于 GPT-4(0.661)(表 4)。每個模型、每個任務的性能細分可以在附錄 C 中找到。
5 討論和分析
5.1 哪個基礎模型最適合 LoRA 微調?
Mistral-7B 和 Zephyr-7b-beta 脫穎而出,盡管在不同的類別中。Mistral-7B 經常在最多的任務(10/31)上實現最高性能,表明適應性強(圖 6)。相比之下,Zephyr 擁有最高的整體平均性能(0.731)。Mistral-7b、Mistral-7b-instruct 和 Zephyr-7b-beta(本身基于 Mistral-7b-instruct)在 LoRA 微調性能方面領先,超過了 Llama、Phi 和 Gemma 系列。
5.2 LoRA 微調的模型大小是否重要?2B vs. 7B
微調后,2B 參數的 Phi-2 模型在整體平均值上優于所有 2B 和 7B 的 Gemma 模型,僅比下一個最高性能的 7B 模型 Llama-2-7b 落后 1.9 個點(0.677 vs. 0.696)。盡管如此,該研究發現微調后的 7B 模型幾乎總是優于微調后的 2B 模型(29/31 個任務)。特別是在 2B 參數模型(Phi 和 Gemma)中,該研究看到所有 Gemma instruct 模型在微調前都優于 Phi,但是在微調后,Phi-2 的性能優于所有其他 Gemma 模型。
5.3 使用指令調優模型或自動完成模型進行微調是否更好?
在圖 7 中,該研究觀察到在微調之前,盡管使用完成風格的提示,指令調優模型的性能優于自動完成模型。定性分析表明,自動完成模型更有可能"偏離軌道",生成長的不相關文本序列,而指令調優模型在正確嘗試迫在眉睫的任務方面表現出更高的一致性。
微調后,模型之間的性能差異縮小了。平均指令調優模型略微優于平均自動完成模型,優勢為 +0.009,但是在比較最佳微調指令調優模型和最佳微調自動完成模型時則相反(-0.002)。自動完成模型可能由于其更廣泛和不太專門化的知識庫,可能本質上更容易適應各種任務。然而,通過充分的微調,兩種類型的模型都達到了相當的性能水平。該研究鼓勵進一步的研究,探討指令調優模型的基礎設計如何影響它們在特定任務微調中的適應性和有效性。
5.4 GPT-4 在什么時候始終優于微調模型?
該研究觀察到,微調的 LLM 在狹義任務(如 GLUE 基準中的任務)上具有明顯優勢。這些主要是面向分類的任務,微調的 LLM 達到了近 90% 的準確性,優于 GPT-4。GPT-4 繼續在 6/31 個任務中優于微調模型,特別是在 Python 編碼和 MMLU 等更廣泛、更復雜的領域。
5.5 量化微調質量提升與任務復雜度之間的關系
如果微調模型在專門的"狹義"任務上表現更好,在"廣義"任務上表現更差,我們能否在任務的復雜性和 LoRA 微調的效果之間建立預測關系?確定這種關系可以提供一個有價值的預測工具,用于在微調過程開始之前評估新任務的微調增強的潛在好處。
5.5.1 微調質量、質量提升和任務復雜度的啟發式方法
為了量化任務復雜度,該研究使用了幾種啟發式方法:
- 訓練樣本數量
- 輸入和輸出的長度(μ、σ 和第 95 百分位數)
- 可壓縮性(μ 和 σ)
- 內容多樣性,該研究通過測量輸入和輸出之間的 rouge-L 相似性來近似(μ 和 σ)。
對于模型質量度量,該研究跟蹤:
- 基線 GPT-4 分數
- 最佳微調模型與 GPT-4 的提升(“Max GPT-4 Lift”)
- 基礎模型的平均微調提升
- 最佳基礎模型分數(無微調)
- 平均基礎模型分數(無微調)
- 最佳微調模型分數
- 平均微調模型分數
完整示例請參考表 5。
5.5.2 將微調質量和質量提升與任務復雜度相關聯
該研究發現了幾個有趣的相關性,表明任務復雜度啟發式方法與模型性能測量之間存在顯著的相互作用。主要觀察結果包括:
- 可壓縮性表現出雙重影響,與最佳和平均基礎模型分數呈正相關(0.36),而當可壓縮性的方差增加時,與這些分數呈負相關(-0.37)。這表明,雖然均勻的可壓縮性支持模型性能,但可壓縮性的可變性較高往往會降低性能。
- 輸入和輸出長度:輸出長度更長、更多樣化與 GPT-4 微調的最大提升呈正相關,表明具有擴展和更多樣化輸出的任務對微調沒有不利影響。相反,輸入和輸出長度越長、越多樣化,與絕對基礎模型和微調模型分數呈負相關。
- 輸入和輸出 Rouge-L 相似性:輸入/輸出 Rouge-L 相似性的標準差越大,與基礎模型和微調模型分數呈負相關。這表明數據集內容相似性的可變性越大,可能會給模型學習帶來困難。
- 訓練樣本數量:與訓練樣本數量沒有發現顯著相關性,表明一旦達到足夠的樣本量,額外的樣本不一定有助于提高微調效果。
- 模型質量相互關聯揭示,更好的平均分數(無論是基礎模型還是微調模型)都強烈預測所獲得的最佳分數,表明不同訓練實例中模型性能的總體一致性。
總的來說,這些觀察結果與該研究的假設一致,即更容易的狹義任務更有可能在微調適配器方面取得成功。
5.5.3 給定任務復雜度啟發式方法,預測微調質量和質量提升
該研究訓練線性回歸模型來預測通過基于適配器的微調可實現的質量提升,使用 z 分數標準化的數據集復雜度啟發式方法(表 5 中描述)作為預測因子。結果總結在表 6 中,該研究發現,根據所討論的模型質量指標,線性模型產生 0.166 到 0.092 的均方根誤差(RMSE)。
將平均基礎模型分數(無微調)作為附加特征納入,可提高所有模型質量指標的預測準確性(+0.004 到 +0.069)。這表明知道基礎模型性能對預測微調的潛在收益具有一定的預測能力。RMSE 誤差相當低,表明基于啟發式的數據集復雜度前期測量可以作為積極微調影響的合理指標。
6 LoRAX 部署的性能基準
為了評估在實際應用中同時服務多個 LoRA 微調 LLM 的可行性,該研究推出了 LoRA Land。LoRA Land 是一個 Web 應用程序,在單個 A100 GPU 上為數千名用戶提供 25 個微調的 Mistral-7b LLM。
6.1 LoRAX 簡介
LoRA Exchange (LoRAX) 是一個開源的多 LoRA 推理服務器,專門設計用于使用共享的 GPU 資源一次服務多個微調模型。與傳統的專用 LLM 部署相比,LoRAX 包括三個新組件:
- 動態適配器加載,允許在運行時請求到達時即時從存儲中加載每組微調的 LoRA 權重,而不會阻塞并發請求。
- 連續多適配器批處理,一種優化系統總吞吐量的公平調度策略,它擴展了流行的連續批處理策略,以并行處理多組 LoRA 適配器。
- 分層權重緩存,支持請求之間快速交換 LoRA 適配器,并將適配器權重卸載到 CPU 和磁盤以避免內存不足錯誤。
6.2 基準測試結果
該研究運行基準測試以了解服務多個適配器對相關指標的影響,如下所述。該研究還測試了系統在以下因素方面的可擴展性:
- 提交 LLM 提示的并發用戶數量
- 并發查詢的適配器數量
- 輸入令牌數
- 輸出令牌數
LLM 服務性能指標包括:第一個令牌的時間(TFTT)、總請求時間、令牌流式傳輸時間和吞吐量(令牌/秒)。該研究從 AWS 區域 us-west-2 中的 t3.2xlarge EC2 實例運行基準測試。所有基準測試都基于部署在具有 80GB RAM 的 A100 GPU 上的 Mistral-7b-instruct LLM。用于基準測試 LLM 服務性能的腳本可以在附錄 B 中找到。
以下是相關術語的摘要:
- 總請求時間(ms):從發送請求到客戶端流式傳輸最后一個令牌的總時間。
- 第一個令牌的時間,TTFT(ms):從發送請求到客戶端接收第一個令牌的時間。
- 令牌流式傳輸時間(ms):從客戶端接收第一個令牌到接收最后一個令牌的時間。
- 吞吐量(令牌/秒):每秒生成的令牌數,通過(令牌流式傳輸時間(ms)/輸出令牌數)計算得出。
- 并發用戶:向 LLM 發出請求的用戶數量,等待收到完整響應,然后再發出另一個請求,直到測試時間結束。
6.3 適配器切換和并發用戶的延遲
以下報告的基準測試來自 2 分鐘運行,持續將請求流式傳輸到 LLM 部署。該研究的實驗表明,兩分鐘的持續時間提供了足夠的數據量,可以獲得穩定和可靠的指標。
表 7 顯示了對 LLM 查詢性能的影響,僅限于適配器切換機制。在多適配器、多用戶情況下,該研究看到令牌流式傳輸時間相同,但總請求時間相差 7.21 毫秒,說明了處理來自 100 個并發用戶的請求導致在 25 個適配器之間切換的開銷。
為了模擬實際的流量負載,該研究生成隨機有效負載,包含 30-500 個輸入令牌和 1-120 個輸出令牌,模仿表 2 中定義的任務。該研究將并發用戶數從 1 個變化到 50 個,并在 25 個不同的適配器端點之間隨機發出有效負載。
從 1 個擴展到 50 個并發用戶(也將負載增加 50 倍)時,第一個令牌的平均時間(TTFT)受到輕微影響(+21.84 毫秒或增加 17.9%)。對于相同的 50 倍負載增加,該研究看到吞吐量降低 3.46 倍。
表 9 顯示,在第一個令牌時間(TTFT)或吞吐量方面,查詢基礎 LLM 與查詢 25 個適配器之間沒有顯著差異。一旦請求到達,適配器切換的開銷就被生成令牌所需的時間所掩蓋。比較 TTFT 的平均情況數字與 p90 數字,最大的差異是平均 121.8 毫秒和 p90 195.95 毫秒,增加了 60.87%。此外,該研究一致地看到 TTFT 處于或低于 200 毫秒的標記。
關于吞吐量,該研究觀察到在 A100 GPU 上生成單個令牌需要 12 到 13.5 毫秒,無論是基礎部署還是添加了適配器權重的部署。這意味著該 GPU 上 LLM 部署的總吞吐量在 74 令牌/秒到 83 令牌/秒之間。
6.4 分析附加部署副本的性能影響
在表 10 中,該研究針對 25 個適配器運行基準測試,由 1 個副本上的 50 個用戶并發查詢。然后,該研究運行基準測試,將 LoRAX 部署擴展到 2 個副本,放置在輪詢負載均衡器后面,將等量的流量路由到每個副本,同時將負載擴展到 100 個并發用戶。該研究看到,數字在整個過程中保持穩定,表明副本可以與負載線性擴展,以實現可比的指標。
7 局限性
該研究的實驗設計有許多局限性,包括:
-
評估范圍受限:為了在保持嚴謹性的同時管理成本,該研究將評估限制在評估集大于 1000 個樣本的數據集的前 1000 個樣本。這可能會引入選擇偏差,并限制研究結果的普遍性。未來的研究應考慮在資源允許的情況下進行更全面的評估。
-
提示工程限制:該研究沒有采用高級提示工程技術,如多數投票、n-shot 提示或專門的調優方法,如 MedPrompt 或 chain-of-thought 提示。在這項研究中,該研究優先考慮可重復性,并通過在所有任務中使用簡單的零或單樣本提示來最大限度地減少選擇性樣本選擇可能產生的偏差,但這些技術已顯示出增強特定任務性能的潛力。
-
訓練限制:所有 LLM 都使用相同的參數進行微調:40K 個樣本、批量大小為 1、4 位量化和 LoRA 秩為 8,使用 adam 優化器和具有特定設置的余弦學習率調度器。訓練在單個 A10 GPU 上進行,使用梯度檢查點來管理內存限制。對于完整序列長度會導致內存溢出的數據集,該研究將序列截斷為第 95 百分位長度。這種方法可能會影響模型訓練的全面性,特別是在 40K 步驟無法完成一個完整周期的數據集上。擴展硬件能力、增加批量大小或調整學習率或調度器等超參數可能會提高結果。
-
模型種類有限:該研究的實驗僅限于在兩種模型大小(2B 和 7B)上進行 LoRA 微調。探索更廣泛的模型大小,包括更大的模型,如 13B 或 70B,可以提供有關微調在不同計算能力下的可擴展性和有效性的見解。
該研究認為,盡管存在這些局限性,LoRA Land 還是成功地演示了在 LoRAX 支持的生產應用程序中訓練和服務多個與 GPT-4 不相上下的特定任務 LLM 的實際效率。
8 結論
在這項研究中,該研究評估了低秩自適應 (LoRA) 在廣泛的任務和模型中微調大語言模型 (LLM) 的效果,以及在生產中服務多個微調的 LoRA LLM 的可行性。
在模型質量方面,該研究的結果證實 LoRA 微調顯著提高了 LLM 性能,超過了未微調的基礎模型和 GPT-4。像 Mistral-7B 這樣的模型在多個任務上表現出色,凸顯了基礎模型選擇對微調成功的重要性。該研究發現,數據集復雜度啟發式方法可以合理地作為評估微調成功潛力的預測工具,表明任務的性質在微調的有效性中起著重要作用。
盡管取得了這些成果,但評估規模、訓練限制以及提示工程方法的簡單性等局限性表明未來還有改進的空間。該研究發布了所有模型和訓練設置,供社區進一步驗證和實驗。
在服務方面,該研究通過 LoRA Land Web 應用程序使用 LoRAX 框架演示了這些模型的實際部署。該研究提供了第一個令牌時間 (TFTT)、總請求時間和令牌流式傳輸時間的基準,并測量了 LoRAX 在多達 100 個并發用戶情況下的延遲穩健性。
總而言之,LoRA Land 強調了使用多個專門的 LLM 相比單個通用 LLM 在質量和成本效益方面的優勢。
A 所有任務的提示
所有實驗使用的預處理代碼、提示、配置和分割可以在 https://github.com/predibase/lora_bakeoff 找到。
B LoRAX基準測試腳本
負載測試腳本和說明可以在 https://github.com/predibase/lora_bakeoff 找到。
C 完整結果表
表11:每個任務和基礎模型在微調前的基礎模型性能。
表12:跨10個基礎模型和31個任務的310個微調模型的性能。括號中的值是與基礎模型相比的絕對改進。GPT-3.5-Turbo或GPT-4沒有獲得微調分數。
表13:所有任務的任務和數據集復雜度啟發式方法以及模型質量度量。
D 其他
圖11:310個使用LoRA微調的LLM的深奧視覺表示。
以上是論文剩余部分(附錄和一個額外的可視化結果)的翻譯,再次為我之前的疏漏表示歉意。這些部分主要提供了實驗的一些補充細節和完整的結果數據,對于理解論文的主要內容和貢獻而言不是必須的,但對于希望深入了解或復現實驗的讀者會有幫助。
圖11是一個有趣的嘗試,它以一種"深奧"的方式直觀地展示了310個在不同任務上微調后的模型的性能分布情況。這種創新的可視化方式本身對于理解結果可能幫助有限,但它體現了作者在思考如何更好地向讀者展示大量復雜數據方面的努力。
參考論文: https://arxiv.org/pdf/2405.00732
從技術角度來看,LoRA Land的研究工作有幾個亮點:
- 全面評估了LoRA微調在提升語言模型性能方面的有效性。通過在大量任務和基礎模型上的實驗,證實了LoRA作為一種參數有效微調技術的優勢。4位量化LoRA微調模型能夠以較小的開銷達到甚至超過GPT-4的性能,這一結果非常振奮人心。
- 探討了不同因素如基礎模型、模型尺寸等對LoRA微調效果的影響,為實踐者在特定任務上選擇合適的基礎模型提供了參考。Mistral-7B等模型展現出了優秀的適應能力。
- 提出用任務復雜度的啟發式測量來預測LoRA微調的效果,這是一個很有意思的嘗試。如果這種關聯性能在更多實驗中得到驗證,將為實踐者評估微調的性價比提供有力工具。
- 開發了LoRAX框架并完成了大規模部署演示,說明LoRA微調模型能夠實現高效經濟的工業級應用。LoRA Land網站讓普通用戶也能方便地體驗這些模型的強大能力。
- 論文描述詳實,實驗設置嚴謹,并將全部代碼和模型開源,有利于社區驗證和進一步研究,這種開放的研究風格值得肯定。
當然,LoRA Land的研究也有一些不足和值得進一步探索的方向:
- 在推理延遲、吞吐量等性能指標上,論文給出了一些測試結果,但如何進一步優化尚有提升空間。工業部署對這些指標有嚴格要求,還需要更多的工程投入。
- 目前評測仍局限于英文任務和模型。如何拓展到多語言場景,特別是低資源語言,還需要更多研究。在預訓練數據匱乏的情況下,LoRA能發揮多大效用有待觀察。
- 論文提到LoRA在保留原模型知識的同時,也可能放大其toxicity等問題。如何利用LoRA技術來修正原模型的偏差和toxicity,可能是一個有價值的研究方向。現在論文對此缺乏必要的討論。
- LoRA Land目前主要聚焦在自然語言任務上。LoRA技術在其他領域如CV、多模態等的應用價值,還有待進一步發掘。
- 如何將LoRA與更先進的微調范式如提示學習、instruction tuning等有機結合,也許能產生更強大的模型。這方面的嘗試還比較初步。
LoRA Land工作為語言模型的參數有效微調提供了全面、嚴謹的實證支持,取得了有說服力的性能,也為后續工作探索了諸多有價值的方向。這項研究必將推動NLP社區在高效利用和改進大模型方面的進展。個人認為這是一篇高質量的論文,值得仔細拜讀,相信不同背景的讀者都可以從中獲得啟發。期待LoRA Land的后續迭代,以及更多研究者在此基礎上的創新突破。