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

檢索增強生成(RAG)的定義

檢索增強生成(RAG, Retrieval-Augmented Generation)是一種 讓大型語言模型(LLM)能引用私有或專屬資料來源的技術。

它結合「檢索模型」與「生成模型」,幫助 LLM 補充知識、產出更精準且貼近語境的回應。

最重要的是,RAG 特別適合問答系統或內容生成,能利用最新資訊或企業內部資料,提升回應的相關性與準確度!

什麼是資訊檢索?

資訊檢索(Information Retrieval, IR)是指從知識來源或資料集中搜尋並擷取相關資訊的過程。

這個過程有點像你在網路上使用 搜尋引擎 查資料 —— 你輸入查詢內容,系統就會幫你找出最有可能包含所需資訊的文件或網頁。

資訊檢索 會運用相關技術,有效地對大型資料集進行索引與搜尋,幫助人們更容易從龐大的資料當中找到特定所需的資訊。除了應用在網路搜尋引擎上,IR 也廣泛運用在數位圖書館、文件管理系統,以及各種資訊存取的應用場景中。

AI 語言模型的演變

過去這幾年,AI 語言模型經歷了重大的演變:

  • 在 1950 和 1960 年代,這個領域還處於萌芽階段,當時使用的是以規則為基礎的系統,對語言的理解能力相當有限。
  • 到了 20 世紀 70 年代和 80 年代,開始出現所謂的「專家系統」:這類系統會將人類的知識進行編碼,用來解決問題,但在語言處理方面依然有很大的限制。
  • 1990 年代開始,統計方法變得流行起來,採用資料導向的方式來完成語言任務。
  • 進入 2000 年代,機器學習技術登場,例如支援 向量機(SVM),可以在高維度空間中分類不同類型的文字資料,雖然那時深度學習還在起步階段。

現今的轉換器模型,可以透過預測下一個最有可能出現的詞彙,來模擬人類語言的運作方式。

這樣的模型徹底改變了語言處理領域,也促成了大型語言模型(LLM)的興起,例如 Google 推出的 BERT(基於轉換器的雙向編碼器表示)。

現在,業界傾向把大型預訓練模型與為特定任務設計的專用模型做結合。例如 RAG 這類模型越來越受到關注,它們把 生成式 AI 語言模型的應用範圍擴展到一般訓練資料的邊界之外。

2022 年,OpenAI 推出 ChatGPT,可說是目前最知名的基於轉換器架構的大型語言模型之一。它的主要競爭對手包含 Google 的 Bard 和微軟的 Bing Chat,都是具備對話能力的基礎模型。

而 Meta 推出的 Llama 2 則是一款開源的 LLM,並非面向一般消費者的聊天機器人,而是提供給具備 LLM 技術知識的研究人員免費使用。

RAG 如何運作?

RAG 是一個多步驟的流程,從「檢索」開始,接著進行「生成」。以下是它的運作方式:

檢索

  • RAG 從用戶的查詢開始,這可以是用戶提出的問題,或是需要詳細回覆的任意文本。
  • 檢索模型會從知識庫、數據庫或外部來源(或同時從多個來源)抓取相關信息。模型的搜索範圍取決於輸入查詢的內容。檢索到的這些信息現在可以作為模型所需的任何事實或背景信息的參考來源。
  • 檢索到的信息會被轉換為高維度空間中的向量,這些知識向量將儲存在 向量數據 庫中。
  • 向量模型會基於與輸入查詢的相關性,對檢索到的信息進行排序。得分最高的文檔或段落將被選中,以進行進一步的處理。

生成

  • 接下來,生成模型(例如 LLM)會使用檢索到的信息來生成文本回覆。
  • 生成的文本可能會經過額外的後處理步驟,以確保其語法正確且語義連貫。
  • 整體而言,這些回覆更加準確,也更符合語境,因為它們使用的是檢索模型所提供的補充信息。在缺少公共互聯網數據的專業領域,這一功能尤其重要。

RAG 優勢

相比單獨運行的語言模型,RAG 在文本生成和回覆上有多項優勢:

  1. 最新資訊:RAG 可訪問定期更新的外部資料,確保生成回覆納入與查詢相關的最新信息,並可透過文檔級安全設定控制訪問權限。
  2. 成本效益不需要自建 LLM 或微調模型,計算與存儲成本較低,對企業更具經濟效益。
  3. 提高準確性:引用外部來源支持回覆,用戶還可檢查來源,降低不準確信息的風險。
  4. 更個性化、貼近語境的回答:RAG 使用語義搜尋參考背景資料生成答案,比傳統 LLM 或腳本式回覆更貼合使用者需求。
  5. 減少幻覺現象:對於訓練中未見過或模糊的查詢,RAG 能基於更多參考資料提供更準確的回答。
  6. 用途廣泛:適用於對話系統、內容生成、信息檢索等 NLP 任務。
  7. 降低偏見:回覆依賴篩選過的外部資料,能在一定程度上減少 AI 偏見。

RAG 與微調的對比

檢索增強生成(RAG)和微調是訓練 AI 語言模型的兩種不同方法。

RAG 將檢索大量外部知識的過程與文本生成結合在一起,而微調則專注於狹窄的數據範圍以實現不同的目的。

在微調過程中,系統會使用專門數據對預訓練模型進一步訓練,以便其能適用於任務子集。這一過程涉及基於新數據集修改模型的權重和參數,讓模型學習特定於任務的模式,同時保留來自最初預訓練模型的知識。

微調可用於各種類型的 AI,基本的例子是識別小貓,具體而言是識別網路上的貓照片。在基於語言的模型中,除了文本生成,微調還能協助完成文本分類、情感分析和命名實體識別等任務。然而,這一過程可能會極其耗費時間和資金。

RAG 能夠加速完成這一過程,並且由於計算和存儲需求較低,還能降低時間和資金成本。

由於能夠訪問外部資源,RAG 在處理以下任務時尤其有用:需要納入來自網路或企業知識庫的即時或動態信息,以便生成明智的回覆。

微調則有不同的優勢:如果當前任務定義明確,並且目標是僅優化該任務的性能,那麼微調會非常高效。

兩種技術的共同優勢是:無需針對每個任務都從零開始訓練 LLM。

RAG 的挑戰與局限

RAG 有許多優勢,但也面臨一些挑戰:

  1. 資料正確性依賴外部來源:如果檢索到的資訊有誤,生成結果也會不準確。
  2. 成本與速度限制:檢索大型知識庫或網路資料費用高、速度較慢;雖然比模型微調便宜、快,但存在挑戰。
  3. 系統整合複雜:要無縫結合檢索與生成,需要精心設計與優化,可能增加部署困難。
  4. 隱私與合規性:處理敏感數據時需遵守規範,可透過文檔級訪問權限限制資料來源。
  5. 創意生成受限:RAG 著重事實準確性,難以生成富有想像力或虛構的內容,在創意型任務上應用有限。

RAG 未來趨勢

檢索增強生成的未來趨勢將專注於提升技術的效率,使其更適合各種應用。以下是幾個值得關注的趨勢:

個性化

RAG 模型將持續整合使用者特定的知識,這將使 RAG 能夠生成更具個人化的回覆,特別是在內容推薦和虛擬助手等應用中。

可定制的行為

除了個性化,使用者將能對 RAG 模型的行為和回覆方式擁有更多的掌控權,這將幫助他們獲得所需的結果。

可擴展性

相較於現在,RAG 將能夠處理更大量的數據和使用者互動。

混合模型

將 RAG 與其他 AI 技術(如強化學習)結合,將促進更具多樣性和語境適應性的系統,這些系統能同時處理各種數據類型和任務。

即時和低延遲部署

隨著 RAG 模型在檢索速度和響應時間上的持續進步,它將在需要快速回覆的應用中(如聊天機器人和虛擬助手)越來越普遍地使用。

深入了解 2024 年的技術搜尋趨勢,請觀看此網路研討會,了解 2024 年的最佳實踐、新興方法以及熱門趨勢對開發者的影響。

RAG 和 Elasticsearch

透過 Elasticsearch,您可以為生成式 AI 應用、網站、客戶或員工體驗打造基於 RAG 的搜索功能。Elasticsearch 提供完整的工具包,使您能夠:

  1. 儲存並搜尋專有資料,同時查詢可提供背景資訊的其他外部知識庫
  2. 透過多種方式(文字搜尋、向量搜尋、混合搜尋或語意搜尋),根據您的資料產出高度相關的搜尋結果
  3. 為您的使用者提供更精準的回應,打造更具吸引力的互動體驗

本文翻譯自:What is RAG (retrieval augmented generation)?

想了解更多資訊,歡迎聯絡我們,或是加入歐立威 Line 好友!

Related Posts