14-44 劍和詩人18 - 你想怎么應用 RAG 與微調

??????

14-44 劍和詩人18 - 你想怎么應用 RAG 與微調

要充分發揮 LLM 的潛力,需要在檢索增強生成 (RAG) 和微調之間選擇正確的技術。

讓我們研究一下何時針對 LLM、較小模型和預訓練模型使用 RAG 而不是微調。我們將介紹:

  • LLM 和 RAG 的簡要背景
  • RAG 相對于微調 LLM 的優勢
  • 何時針對不同模型大小進行微調與 RAG
  • 使用 RAG 和微調進行預訓練模型
  • RAG 和微調的金融服務示例
  • 實際考慮和建議

LLM 和 RAG 的背景

大型語言模型利用一種稱為預訓練的技術,對互聯網、代碼、社交媒體和書籍等海量文本數據集進行訓練。這使它們能夠生成文本、回答問題、翻譯語言等,而無需任何特定于任務的數據。然而,它們的知識仍然有限。

檢索增強生成通過在生成文本之前從數據庫中檢索相關知識作為上下文來增強 LLM。例如,財務顧問 LLM 可以在提出財務建議之前檢索客戶的投資歷史和個人資料。

檢索增強將 LLM 理解語言的能力與領域特定數據庫中的相關知識相結合。與普通 LLM 相比,這使得 RAG 系統更加知識豐富、一致且安全。

14-44 劍和詩人18 - 你想怎么應用 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 效果更好。

14-44 劍和詩人18 - 你想怎么應用 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 優勢。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/41690.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/41690.shtml
英文地址,請注明出處:http://en.pswp.cn/web/41690.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

AI集成工具平臺一站式體驗,零門檻使用國內外主流大模型

目錄 0 寫在前面1 AI藝術大師1.1 繪畫制圖1.2 智能作曲 2 AI科研助理2.1 學術搜索2.2 自動代碼 3 AI智能對話3.1 聊天機器人3.2 模型競技場 4 特別福利 0 寫在前面 人工智能大模型浪潮滾滾,正推動著千行百業的數智化進程。隨著技術演進,2024年被視為是大…

linux修改內核實現禁止被ping

概述 Linux默認允許被ping。其主要決定因素為: 內核參數防火墻(iptables/firewall) 以上的決定因素是與的關系,即需要均滿足。 因此,修改linux禁被ping有以上兩種方法可以實現。 修改內核文件使禁ping 1. 臨時生…

服務預約自動化:智能機器人引領預約新潮流

在數字化時代,服務預約的需求日益增長,智能機器人以其自動化和智能化的特性,正在重塑服務預約的流程。 一、服務預約的現代挑戰 服務預約流程面臨的挑戰包括用戶操作復雜、等待時間長、個性化服務難以滿足等。 二、智能機器人的優勢 智能…

Perl 語言入門:編寫并執行你的第一個腳本

摘要 Perl 是一種高級、通用的、解釋型、動態編程語言,以其強大的文本處理能力而聞名。本文將指導初學者如何編寫和執行他們的第一個 Perl 腳本,包括 Perl 的基本概念、腳本的基本結構、運行 Perl 腳本的方法以及一些簡單的 Perl 語法。 引言 Perl&am…

保健品商城小程序模板源碼

保健品商城小程序模板源碼 簡潔通用的保健品,健康生活,零售商品,電子商務微信小程序前端模板下載。包含:主頁、購物車、客服、個人中心、我的訂單、商品詳情、我的錢包、設置等等。 保健品商城小程序模板源碼

定制化模型煉金術:Mojo模型與自定義訓練循環的動態融合

定制化模型煉金術:Mojo模型與自定義訓練循環的動態融合 在機器學習領域,模型訓練循環是構建智能系統的核心過程。Mojo模型,作為H2O.ai提供的一種模型部署格式,主要用于模型的序列化和預測。雖然Mojo模型本身不支持自定義訓練循環…

web安全基礎名詞概念

本節內容根據小迪安全講解制作 第一天 域名: 1.1什么是域名? 網域名稱(英語:Domain Name,簡稱:Domain),簡稱域名、網域,是由一串用點分隔的字符組成的互聯網上某一臺計算機或計算機組的名稱&a…

celery執行任務報錯ValueError: not enough values to unpack

背景 在做用戶注冊模塊的時候需要對手機號驗證的過程進行優化,目前想到的方式是通過celeryrabbitmq的方式進行異步處理,選擇使用celery是因為使用方便、性能好、可分布式部署。 環境信息 目前使用地win11容器化啟動 rabbitmq:3.13.2 python:3.6.8 cel…

OEACLE怎么實現AES加密解密

在Oracle數據庫中實現AES加密解密,通常會使用Oracle提供的DBMS_CRYPTO包。DBMS_CRYPTO是一個強大的PL/SQL包,用于加密和解密數據,支持多種加密算法,包括AES。以下是實現AES加密解密的具體步驟和示例: 一、確保權限 首…

高薪程序員必修課-JVM創建對象時如何解決多線程內存搶占問題

前言 在JVM中,堆的內存分配過程涉及到線程安全性的保障,具體來說涉及到對象的內存分配時,并不是簡單的搶占式分配,而是通過一些機制來保證線程安全和高效的內存管理。下面解釋一下JVM是如何設計來保證線程安全的: 內存…

Oracle怎么實現RSA加密解密

Oracle數據庫實現RSA加密解密通常需要通過Java編寫的存儲過程來完成,因為Oracle自身并不直接支持RSA加密的原生函數。以下是實現RSA加密解密的大致步驟和考慮因素: 一、準備Java類 編寫Java類: 創建一個Java類(如RSACrypto&…

STA:延遲為什么會有負值?

我正在「拾陸樓」和朋友們討論有趣的話題,你?起來吧? 拾陸樓知識星球入口 相關文章鏈接: STA:串擾延遲分析 STA:CRPR悲觀路徑移除 這個問題就是典型的SI問題,受SI影響,與hold 分析而言data…

AI Native 入門案例教程

環境準備 1. 安裝 AI Native 首先,需要安裝 AI Native。可以通過 pip 安裝: pip install ainative2. 安裝 TensorFlow AI Native 是基于 TensorFlow 的,因此需要安裝 TensorFlow。可以通過 pip 安裝: pip install tensorflow…

Dify v0.6.9源碼部署

一.前置條件 克隆Dify v0.6.9代碼: git clone https://github.com/langgenius/dify.git在啟用業務服務之前,需要先部署 PostgresSQL / Redis / Weaviate(如果本地沒有的話),可以通過以下命令啟動: cd do…

Data-Juicer:阿里巴巴榮譽出品的大模型數據清洗框架

Diffusion Models專欄文章匯總:入門與實戰 前言:如何優雅地進行大規模數據清洗是一門藝術,特別對于大模型,數據的質量是決定模型成功最關鍵的因素之一。阿里巴巴最近開源了一項專門針對大語言模型和視頻生成大模型的數據清洗框架&…

短信群發平臺適用于哪些行業?

短信群發平臺作為一種高效、快速且成本相對較低的通信方式,適用于多個行業。以下是一些主要適用行業的概述: 1. 零售與電商行業 應用場景:零售和電商企業可以利用短信群發進行新品推廣、促銷信息發布、訂單狀態更新、物流跟蹤通知等。 2. 金…

redis并發、穿透、雪崩

Redis如何實現高并發 首先是單線程模型:redis采用單線程可以避免多線程下切換和競爭的開銷,提高cpu的利用率,如果是多核cpu,可以部署多個redis實例。基于內存的數據存儲:redis將數據存儲在內存中,相比于硬…

wireshark抓取Chrome瀏覽器quic協議的明文包

wireshark版本:Version 4.2.5 (v4.2.5-0-g4aa814ac25a1). 1.chromium瀏覽器啟用quic: chrome://flags/#enable-quic 2.windows添加環境變量 SSLKEYLOGFILED:\sslkeylogfile.log 3.配置wireshark,編輯->首選項->Protocls->TLS:(Pre)-…

MyBatis(30)如何在 MyBatis 中使用 XML 和注解混合配置方式

在MyBatis中,你可以靈活地選擇XML配置方式、注解方式,或者將這兩種方式混合使用來配置你的映射器(Mapper)。使用混合配置方式,你可以結合兩者的優勢,例如,利用XML配置復雜查詢和動態SQL&#xf…

【測試】系統壓力測試報告模板(Word原件)

系統壓力測試,簡而言之,是在模擬高負載、高并發的環境下,對系統進行全面測試的過程。它旨在評估系統在面對極端使用條件時的性能表現,包括處理能力、響應時間、資源消耗及穩定性等關鍵指標。通過壓力測試,開發團隊能夠…