什麼是 AI 中的檢索增強生成 (RAG)?

檢索增強生成 (RAG) 是一種無需重新訓練即可將新資料來源新增至大型語言模型 (LLM) 的方法。

學習目標

閱讀本文後,您將能夠:

  • 瞭解 AI 中的檢索增強生成 (RAG)
  • 說明 RAG 如何強化 LLM
  • 瞭解 RAG 聊天機器人與 AutoRAG

複製文章連結

什麼是 AI 中的檢索增強生成 (RAG)?

檢索增強生成 (RAG) 是一種在不對大型語言模型 (LLM) 進行完整重新訓練的前提下,透過授予模型存取特定領域知識庫的權限,來最佳化其在特定情境下表現的技術方法。RAG 具有顯著的成本效益優勢,能夠快速調整 LLM 以適應專業化應用場景。開發人員可運用這種方法來對人工智慧 (AI) 模型進行微調。

LLM 接受過大量資料的訓練,但它們可能無法在某些環境中產生所需的特定資訊。它們對人類語言的運作方式有大致的瞭解,但並非總是具有特定主題領域的特定專業知識。RAG 是糾正此問題的一種方法。

試想一位汽車機修師要維修一台1964年的雪佛蘭 (Chevy) 老車。儘管這位機修師經過數千小時的實踐,已經累積了豐富的汽車維護經驗,但要有效完成這輛老車的保養工作,他仍然需要參考該車型的使用手冊。然而,他並不需要重新考取機修師資格證書——只需翻閱使用手冊,就能將自己既有的汽車維修知識應用到這輛特定車型上。

RAG 與此類似。它為 LLM 提供「手冊」(或知識庫),以便 LLM 可以根據具體的使用案例調整其一般知識。例如,一般的 LLM 可能能夠產生有關 API 查詢如何運作的內容,但不一定能夠告訴使用者如何查詢特定應用程式的 API。然而,透過 RAG 技術,該 LLM 可透過連結至該應用程式的技術文件,快速適配並服務於這一特定應用場景。

RAG 的運作方式是怎樣的?

通常,當 LLM 收到查詢時,它會根據其預先存在的參數和訓練處理該查詢。

RAG 使 LLM 能夠參考「外部資料」——LLM 訓練資料集中不包含的資料庫。因此,與 LLM 的正常運作方式相比,具有 RAG 的 LLM 使用外部資料來增強其回應,這就是其名稱檢索(首先擷取外部資料)增強(使用這些資料改進回應)生成(建立回應)的由來。

延續前述汽車機修師的範例,若他選擇使用 LLM 來輔助工作,而非直接查閱使用手冊,那麼透過 RAG 技術,該 LLM 可以將對擁有者手冊的查閱程序直接整合進其運作流程中。即便該 LLM 在原始訓練過程中很可能未曾接觸過經典車型的維修手冊,或者,即便相關資訊曾出現在其訓練資料中,所占比例也極其有限,那麼透過 RAG 技術,該 LLM 仍然能夠產生相關且準確的查詢。

為了使 LLM 能夠使用和查詢外部資料來源(例如汽車維修手冊),會先將資料轉換為向量,然後儲存在向量資料庫中。此流程使用機器學習模型來產生資料集中項目的數學表示法。(每個「向量」都是一個數字陣列,例如 [-0.41522345,0.97685323...]。)

當使用者傳送提示時,LLM 會將該提示轉換為向量,然後搜尋依據外部資料來源建立的向量資料庫,以查找相關資訊。它會將這些資訊作為額外的上下文新增到提示中,然後將增強後的提示輸入其標準模型以產生回應。

AI 中的 RAG 有哪些優缺點?

使用 RAG 對 LLM 進行微調的優點包括:

  • 提高使用案例中的準確性:如果 LLM 可以存取與提示相關的知識庫,則它更有可能提供正確的回應,就像機械師如果擁有維修手冊,則更有可能正確修理汽車一樣。
  • 調整模型的低成本方式:由於不需要重新訓練,因此在全新情境中使用 LLM 的運算成本與時間投入相對較低。
  • 靈活性:由於模型的參數未經調整,同一模型可以快速部署在多種應用場景之中。

一些潛在的缺點包括:

  • 回應時間更慢:雖然採用 RAG 技術不需要重新訓練,但推斷(推理和回應提示的過程)可能需要更長的時間,因為 LLM 現在必須查詢多個資料集才能產生答案。
  • 資料集之間的不一致:外部知識庫可能無法與模型的訓練資料集無縫整合,就像兩組百科全書可能對歷史事件的描述略有不同一樣。這可能會導致對查詢的回應不一致。
  • 手動維護:每次更新外部知識庫時(例如,當新的汽車模型問世時),開發人員都必須手動啟動將新資料轉換為向量並更新向量資料庫的過程。(Cloudflare 開發了 AutoRAG,旨在協助開發人員避免此手動程序,詳情見下文。)

什麼是 RAG 聊天機器人?

RAG 聊天機器人是一種基於 LLM 的聊天機器人,藉助 RAG 技術,專門用於特定的使用案例——連接到一個或多個與聊天機器人操作的環境相關的外部資料來源。專為汽車維修廠設計的 RAG 聊天機器人可即時存取汽車技術文件;對於維修廠的技師而言,這樣的專業化系統將比通用型 LLM 聊天機器人更具實際價值。

RAG 與低秩適應 (LoRA)

低秩適應 (LoRA) 是微調模型的另一種方法,這意味著在不完全重新訓練的情況下使其適應特定環境。然而,LoRA 技術需要調整模型的參數,而 RAG 技術則完全不涉及對模型參數的修改。在此處瞭解有關 LoRA 的更多資訊

什麼是 AutoRAG?

AutoRAG 為開發人員設定和管理 RAG 管道。它連接索引、擷取和產生所需的工具,並透過定期將資料與索引同步,來使所有內容保持最新。設定後,AutoRAG 會在背景中索引內容並即時回應查詢。瞭解 AutoRAG 的運作方式