??????
要充分發揮 LLM 的潛力,需要在檢索增強生成 (RAG) 和微調之間選擇正確的技術。
讓我們研究一下何時針對 LLM、較小模型和預訓練模型使用 RAG 而不是微調。我們將介紹:
- LLM 和 RAG 的簡要背景
- RAG 相對于微調 LLM 的優勢
- 何時針對不同模型大小進行微調與 RAG
- 使用 RAG 和微調進行預訓練模型
- RAG 和微調的金融服務示例
- 實際考慮和建議
LLM 和 RAG 的背景
大型語言模型利用一種稱為預訓練的技術,對互聯網、代碼、社交媒體和書籍等海量文本數據集進行訓練。這使它們能夠生成文本、回答問題、翻譯語言等,而無需任何特定于任務的數據。然而,它們的知識仍然有限。
檢索增強生成通過在生成文本之前從數據庫中檢索相關知識作為上下文來增強 LLM。例如,財務顧問 LLM 可以在提出財務建議之前檢索客戶的投資歷史和個人資料。
檢索增強將 LLM 理解語言的能力與領域特定數據庫中的相關知識相結合。與普通 LLM 相比,這使得 RAG 系統更加知識豐富、一致且安全。
RAG 相對于微調 LLM 的優勢
微調通過對特定領域的數據進行訓練,使預訓練的 LLM 適應特定任務。例如,預訓練的 LLM 可以在財務文檔上進行微調,以提高其財務知識。
然而,與檢索增強相比,微調有幾個缺點:
- 遺忘:經過微調的模型經常會遺忘或失去預訓練的能力。例如,經過微調的金融法學碩士 (LLM) 可能不再能很好地處理一般的對話任務。
- 訓練數據依賴性:性能完全依賴于可用訓練數據的數量和質量。收集高質量數據的成本很高。
- 缺乏外部知識:模型只知道訓練數據中的內容,缺乏現實世界的知識。
- 不可定制:對微調模型的更改需要重新訓練,這很昂貴。
相比之下,RAG 系統:
- 由于 LLM 本身沒有修改,因此保留預訓練的能力。
- 使用可定制的外部知識源(如數據庫)來增強 LLM。
- 允許改變知識來源,而無需重新培訓法學碩士。
- 由于 LLM 無需再培訓,因此對數據的要求較低。
因此,RAG系統通常能獲得比微調更好的性能,同時保留更多原始LLM的功能。
何時針對不同大小的模型進行微調與 RAG
微調和 RAG 之間的選擇取決于模型大小:
大型語言模型
對于像 GPT-4 這樣具有數萬億參數的大型模型,RAG 通常比微調更可取:
- 保留預訓練能力:微調可能會忘記需要 GPT-4 規模模型的對話、翻譯、分析等能力。
- 利用外部知識:?GPT-4/Llama-2 缺乏世界知識,而 RAG 通過外部數據庫來增強它。
- 避免災難性的遺忘:微調可能會損害 LLM 的多種能力。
- 靈活的知識來源:?RAG知識源可以改變,無需昂貴的再培訓。
除非微調任務與預訓練非常相似或需要記憶,否則 RAG 更適合 LLM。
中等語言模型
對于像 Llama 2 7B、Falcon 7B、Alpaca 7B 這樣擁有數億個參數的中型模型,RAG 和微調都是可行的選擇:
- 對于嚴重依賴記憶的目標(例如回答問題而不是文檔),可能更傾向于進行微調。
- RAG 可以通過檢索相關知識,為特定領域的生成或分類任務帶來優勢。
在選擇時,評估保留中型 LLM 的全部一般知識是否對您的用例重要。
小語言模型
對于像 Zephyr、Phi2 和 Orca 這樣具有數千到數百萬個參數的小型自定義模型,微調通常比 RAG 更合適:
- 小型模型已經缺乏大型模型的通用能力。
- 通過微調對特定領域的數據進行訓練可以直接灌輸知識。
- 由于他們只接受了最少的預先訓練,因此發生災難性遺忘的風險很小。
- 在需要時可以輕松地使用新數據重新訓練小模型。
除非你特別需要保留知識廣度,否則微調小模型比 RAG 更可取。
使用 RAG 和微調進行預訓練模型
RAG 和微調都是適用于調整預訓練模型的策略——無論是像 BERT、ELMo、RoBERTa 這樣的 LLM 還是更小的自定義模型。
預訓練模型的 RAG
在以下情況下,將 RAG 應用于預訓練模型是有效的:
- 利用常識——該模型具有您希望保留的強大的底層功能,如交談、分析等。
- 盡量減少遺忘——進一步的訓練可能會損害多種多樣的一般能力。
- 利用外部知識——利用檢索到的特定領域知識進行增強是有價值的。
- 靈活的知識——知識需求經常變化,因此可交換的數據庫比再培訓更受歡迎。
例如,RAG 適合大型對話模型,以避免忘記一般的聊天能力,同時用領域知識增強它們。
微調預訓練模型
在以下情況下,微調對于預訓練模型是有利的:
- 專業專注——最終任務在很大程度上依賴于專業知識而不是一般能力。
- 記憶——記憶客戶資料等特定領域的數據至關重要。
- 靜態知識——知識要求相對固定,減少了對可交換數據庫的需求。
- 模型尺寸小——對于較小的模型,微調可以直接注入知識,而不會產生災難性遺忘的風險。
例如,微調對于使用靜態的公司政策和響應來訓練客戶服務聊天機器人是有效的。
應用 RAG 和微調的示例
讓我們考慮一下金融服務用例在一般知識與特定領域知識需求方面的差異——影響 RAG 與微調的選擇。
投資管理與建議
提供定制的投資管理和財務建議既需要強大的一般會話能力,也需要特定領域的知識。
RAG 非常適合這些應用,因為它:
- 利用客戶資料和投資數據增強 GPT-4 等對話模型,以提供個性化建議。
- 檢索市場數據、過去的表現和研究以制定明智的投資策略。
- 使用新的市場信息頻繁更新數據庫,而無需重新訓練底層模型。
微調可能會損害與客戶有效溝通至關重要的一般對話能力。
保險索賠處理
處理保險索賠主要涉及分析文件、提取關鍵信息、根據保單驗證索賠以及生成索賠報告。
根據過去的索賠和政策對 Llama 2 7B、Falcon 7B 等中型模型進行微調,適合以下用例:
- 記住保險政策至關重要——通過微調比使用外部數據庫更好。
- 靜態的政策和索賠數據與快速變化的知識。
- 特定領域的任務側重于形式分析與一般會話能力。
客戶服務聊天機器人
處理金融服務客戶服務的聊天機器人通常需要廣泛的對話能力以及對公司特定的常見問題解答、政策和腳本的了解:
- 采用 RAG 進行一般閑聊和對公司知識進行微調相結合的方法,效果很好。
- 在內部數據集上微調小型聊天機器人模型,以直接嵌入公司知識。
- 在需要時,通過 RAG 檢索適當的常見問題解答、帳戶詳細信息和腳本進行增強。
這在廣泛的對話能力和深厚的公司特定知識之間取得了平衡。
反洗錢文本分析
分析財務文件和客戶數據來檢測洗錢和金融犯罪在很大程度上依賴于學習模式和領域術語:
- 鑒于專業的重點,對 AML 數據上的文本分類模型進行微調是有意義的。
- 對法律、法規、可疑活動模式的靜態了解。
- 一般的會話技巧不太重要。
通過微調直接訓練模型比 RAG 更適合這種專門的文本分析任務。
客戶資料關鍵字提取
從客戶文件和信函中提取資產、財務目標、風險承受能力等相關關鍵詞需要基本的語言理解,而不需要太多的領域知識:
- 現成的 LLM 可以很好地發揮作用,無需進行太多調整。
- 無需記住領域術語或模式。
- 一般語言能力提供了足夠的信號。
- 對于這種通用任務來說,RAG 的優勢微乎其微。
使用現成的模型通常比進行廣泛的微調或 RAG 效果更好。
RAG 和微調的關鍵實際考慮因素
- 獲得 LLM 學位— RAG 需要獲得大型預訓練模型。在內部開發較小的定制模型更容易。
- 數據可用性——微調需要大量特定領域的數據集。RAG 更多地依賴于外部知識來源。
- 知識靈活性——RAG 支持頻繁更新知識,無需重新訓練。微調需要定期重新訓練。
- 訓練基礎設施——RAG 主要指選擇和更新數據源。微調需要 GPU 才能實現高效訓練。
- 推理速度— RAG 檢索步驟增加了推理延遲。微調模型是獨立的,因此可以更快。
- 通用能力——RAG 保留了大型 LLM 的多功能性。微調以通用性換取專業化。
- 混合——許多應用程序使用 RAG 實現某些功能,并對其他功能進行微調。為每個任務選擇最佳方法。
比較 RAG 和 Fine-tuning 的高級觀點:
- 混合 RAG 調整方法— 混合技術并非二元選擇,而是旨在結合兩種方法的優勢。例如,T0 部分微調 LLM 的某些層,同時凍結其他層以保留功能。
- 多階段建模——一種有前途的方法涉及首先使用 RAG 進行檢索,然后使用檢索到的上下文來調節微調模型。這允許靈活地整合外部知識,同時專門化模型的各個部分。
- 動態 RAG 與靜態微調— RAG 允許動態更新知識源而無需重新訓練,而微調則產生靜態專門模型。然而,動態評估和持續學習等技術也旨在在線發展微調模型。
- 縮放定律——微調通常會隨著模型大小而導致性能收益遞減,而縮放 RAG 模型可能會在吸收外部知識后實現更一致的改進。這可以使 RAG 更有效地開發大型模型。
- 超個性化——RAG 通過為每個用戶提供不同的知識來實現??個性化,而無需重新訓練模型。微調需要從頭開始訓練每個用戶的模型,這限制了個性化。但是,像模型無關的元學習這樣的微調方法可能會緩解這種情況。
- 緩解災難性遺忘— RAG 本質上避免了忘記預先訓練的能力。但彈性權重合并、突觸智能和 dropout 調度等新的微調技術也旨在緩解災難性遺忘。
- 設備上部署— 經過微調的模型完全獨立,可實現低延遲設備上部署。加入知識檢索功能使得在設備上全面部署 RAG 更具挑戰性。但是,將檢索到的知識提煉為模型參數等近似方法可能有助于在設備上部署 RAG 系統。
- 理論與實證— 從理論上講,RAG 應該通過結合人類知識來提高微調的樣本效率。但實證結果好壞參半,通常表現出相當的性能。需要進一步研究才能實現 RAG 的理論收益。
探索它們的結合是最大限度發揮每種方法優勢的一條有希望的途徑。
主要建議
根據我們的分析,以下是一些最佳實踐:
- 對于顧問和聊天機器人等面向客戶的應用程序,優先考慮使用 RAG 保留對話功能,而不是進行微調。對于公司特定的必要知識,請謹慎使用微調。
- 對于文檔和文本分析任務,專門的微調模型通常比 RAG 表現更好。但對于投資等快速發展的分析,請考慮使用 RAG。
- 即使構建自定義模型,也能保持對大型、通用 LLM 的訪問權限 — RAG 能夠從他們的通用能力中受益。
- 定期審核微調模型,以檢查與初始訓練數據相比是否存在期望行為的偏差。
- 評估將專門的微調模型與通用對話 RAG 模型相結合的集成方法。
- 為 RAG 仔細選擇外部知識來源——相關性、準確性和道德決定了整體系統的性能。
- 對于客戶數據和文檔,僅檢索必要部分而不是全文,以平衡相關性和隱私。
結論
選擇正確的技術(如 RAG 或微調)對于最大限度地提高 LLM、較小模型和金融服務預訓練系統的性能至關重要。考慮因素很復雜——取決于模型大小、用例重點、基礎設施約束、不斷變化的知識需求等因素。將 RAG 和微調相結合通常是實現對話能力和領域專業知識的最佳方法。隨著 LLM 和增強型 AI 的發展,RAG 將變得更加突出——盡管在最適合的地方仍需要微調來補充。了解這些技術之間細微差別的公司將獲得根據其獨特需求定制的 AI 優勢。