什麼是 Retrieval-Augmented Generation (RAG)?

Alan Zeichick | 技術內容策略師 | 2023 年 9 月 19 日

生成式人工智慧 (AI) 擅長根據大型語言模型 (LLM) 來建立文字回應,而該 AI 經過大量資料點的訓練。其優點是,產生的文字通常易於閱讀,而且能根據向軟體提出的問題 (通常稱為提示),提供廣泛適用的詳細回應。

缺點是,用來產生回應的資訊受限於用來訓練 AI 的資訊 (通常是一般 LLM)。LLM 的資料可能已過時數週、數月或數年,而且公司的 AI 聊天機器人不具有組織產品或服務的具體資訊。這可能會導致回應不正確,進而削弱客戶和員工對該技術的信任。

什麼是 Retrieval-Augmented Generation (RAG)?

為此,檢索增強生成 (RAG) 登場了。利用 RAG,就能在不修改基礎模型本身的情況下,以目標資訊最佳化 LLM 輸出;該目標資訊能比 LLM 更即時,也能為特定組織與產業量身打造。這意謂著生成式 AI 系統可以為提示提供更適合情境的答案,並根據最新的資料來提供這些答案。

在 Patrick Lewis 與 Facebook AI Research 團隊發表的 2020 年報告《適用於知識密集型 NLP 任務的檢索增強生成》面世後,RAG 初次引起生成式 AI 開發人員的關注。已有許多學術界和產業研究人員接受了 RAG 概念,並認為 RAG 是大幅提升生成式 AI 系統價值的一種方式。

檢索增強生成詳解

假設有一個運動聯盟希望粉絲和媒體能夠透過聊天來存取其資料,並回答有關運動員、隊伍、運動的歷史與規則,以及目前統計數據和排名的相關問題。一般 LLM 可以回答有關歷史與規則的問題,或描述某一隊的主場;但是,由於 LLM 不具有相關資訊,因此無法討論前一晚的比賽,或提供某位運動員傷勢的最新資訊。有鑑於再訓練 LLM 需要花費大量成本,持續更新模型並不可行。

除了不易變動的大型 LLM 之外,體育聯盟還擁有或能夠存取其他許多資訊來源,包括資料庫、資料倉儲、包含運動員個人經歷的文件,以及深度討論每場比賽的新聞摘要。RAG 讓生成式 AI 得以擷取這類資訊。現在,聊天可以提供更即時、更符合情境和更準確的資訊。

簡而言之,RAG 可協助 LLM 提供更好的答案。

關鍵因素

  • RAG 是一種較新的人工智慧技術,透過讓大型語言模型 (LLM) 在不經過再訓練的情況下利用更多資料資源,改善生成式 AI 的品質。
  • RAG 模型會根據組織自己的資料建立知識儲存庫,並且可以持續更新儲存庫,以協助生成式 AI 提供及時、符合情境的答案。
  • 使用自然語言處理的聊天機器人和其他對話式系統,可以從 RAG 和生成式 AI 獲益良多。
  • 導入 RAG 需要向量資料庫等技術,以快速對新資料進行編碼,然後搜尋該資料以輸入 LLM 中。

檢索增強生成如何運作?

試想組織擁有的各種資訊:結構化資料庫、非結構化 PDF 和其他文件、部落格、新聞摘要、過去客戶服務案例的聊天文字記錄。在 RAG 中,如此大量的動態資料會轉譯成通用格式,並儲存在可供生成式 AI 系統存取的知識庫中。

接著,會使用一種稱為內嵌語言模型的特殊演算法,將該知識庫中的資料處理成數值表示法,然後儲存向量資料庫中,以供快速搜尋及用來擷取符合情境的正確資訊。

RAG 與大型語言模型 (LLM)

現在,假設有位終端使用者向生成式 AI 系統傳送了一則提示,例如:「今晚的比賽在哪裡舉行、先發球員有誰、記者對比賽的評論為何?」查詢會轉換為向量,並用來查詢向量資料庫;而該資料庫會擷取與該問題情境相關的資訊。該情境資訊和原始提示會輸入 LLM 中,LLM 則根據略微過時的一般知識與極為及時的情境資訊來產生文字回應。

有趣的是,雖然訓練一般 LLM 的流程耗時又昂貴,更新 RAG 模型卻正好相反。新資料可以連續、累加的方式載入內嵌語言模型,並轉換為向量。實際上,由於 RAG 模型在實務上知道過去是如何回答類似問題的,因此整個生成式 AI 系統的回答都可以回饋到 RAG 模型中,進而提升其效能和準確度。

RAG 的另一優點在於,生成式 AI 使用了向量資料庫,而得以提供其答案中引用的資料具體來源;這是 LLM 無法實現的。因此,如果生成式 AI 的輸出有不準確的內容,也能夠快速找出並更正包含錯誤資訊的文件,然後將更正後的資訊輸入向量資料庫中。

簡而言之,RAG 為生成式 AI 提供了基於證據的即時性、情境和準確度,超越 LLM 本身所能提供的內容。

比較檢索增強生成與語意搜尋

RAG 並非唯一用於改善 LLM 型生成式 AI 準確度的技術。另一項技術是語意搜尋,透過深入理解提示中的特定字詞片語,協助 AI 系統縮小查詢的意義範圍。

傳統搜尋著重於關鍵字。例如,詢問法國本土樹種的基本查詢,可能會使用「樹」和「法國」作為關鍵字來搜尋 AI 系統的資料庫,並尋找同時包含兩個關鍵字的資料;然而,系統可能無法真正理解法國樹木的意義,因此可能會擷取過多或過少資訊,甚至是錯誤的資訊。因為關鍵字搜尋過於依字面判斷,所以關鍵字搜尋也可能會遺漏資訊:因為缺少諾曼第這個關鍵字,所以即使諾曼第位於法國,其本土樹種也可能會被遺漏。

語意搜尋會判斷問題和來源文件的含義,並運用該含義獲得更精確的結果,因而涵蓋比關鍵字搜尋更廣的範疇。語意搜尋是 RAG 不可或缺的一部分。

在聊天應用程式中使用 RAG

當一個人想要立即得到問題的答案時,聊天機器人的立即性與易用性幾乎無可匹敵。大多數機器人都根據有限的意圖進行訓練 (也就是客戶想要的任務或成果),並回應這些意圖。在 RAG 能力的輔助下,AI 系統得以為不在意圖清單中的問題提供自然語言答案,提升現有機器人的表現。

出於許多原因,「問問題即可得到答案」的典範,使聊天機器人成為生成式 AI 的完美使用案例。問題通常需要明確的情境才能產生準確的答案,而既然聊天機器人使用者對相關度和準確度的期望往往很高,RAG 技術顯然相當適合這個案例。事實上,對於許多組織而言,聊天機器人確實可能是開始使用 RAG 和生成式 AI 的起點。

問題通常需要明確的情境,才能提供準確的答案。舉例來說,如果資料屬於先前的型號,而且實際上可能造成誤導,那麼有關新上市產品的客戶查詢就不會有效益。而一名想要知道公園在本週日是否開放的健行者,會預期獲得該公園在該日期的即時、準確資訊。

檢索增強生成的優點

RAG 技術可用於改善生成式 AI 系統對提示的回應品質,超越 LLM 單獨提供的程度。優點如下:

  • RAG 能夠存取的資訊,可能比用來訓練 LLM 的資料還要新。
  • RAG 知識儲存庫中的資料可以持續更新,而不會產生高昂成本。
  • RAG 知識儲存庫中的資料,可能比一般 LLM 中的資料更符合情境。
  • 可以找到 RAG 向量資料庫中的資訊來源。而且因為知道資料來源,所以可以更正或刪除 RAG 中不正確的資訊。

檢索增強生成的挑戰

由於 RAG 在 2020 年首次被提出,是相對較新的技術,因此 AI 開發人員仍在學習如何於生成式 AI 中善用其資訊擷取機制。部分主要挑戰為

  • 這是很新的領域,因此需要提升組織對 RAG 的知識與瞭解
  • 成本增加;雖然採用 RAG 的生成式 AI 會比單獨使用 LLM 昂貴,但這個方法的成本會比頻繁再訓練 LLM 本身更低
  • 判斷如何妥善為知識儲存庫和向量資料庫中的結構化與非結構化資料建模
  • 制定流程需求,逐步將資料輸入 RAG 系統中
  • 建立流程來處理不準確資訊的回報,並更正或刪除 RAG 系統中的這類資訊來源

檢索增強生成的範例

受 RAG 增強的生成式 AI 有許多範例。

Cohere 是生成式 AI 和 RAG 領域的領導者,他們撰寫了一個聊天機器人來提供加那利群島出租度假屋的相關資訊,答案以事實為根據,包括海灘無障礙設施、附近海灘的救生員,以及步行距離內的排球場開放情形。

Oracle 已經介紹過其他 RAG 使用案例,例如分析財務報告、協助探勘天然氣和石油、檢閱客服中心的客戶交流文字記錄,以及搜尋醫療資料庫中的相關研究論文。

檢索增強生成的未來

目前,RAG 技術仍處於早期階段,用於為查詢提供及時、準確並符合情境的回應。這些使用案例適用於聊天機器人、電子郵件、簡訊和其他對話式應用程式。

未來,RAG 技術的可能發展會是協助生成式 AI 根據情境資訊和使用者提示採取適當行動。例如,受 RAG 增強的 AI 系統可能會找出加那利群島最受好評的海灘出租度假屋,然後預訂在排球錦標賽期間,位於海灘步行距離內的兩房小屋。

RAG 也可以協助處理更複雜的問題。現在,生成式 AI 也許能向員工介紹公司的學費報銷政策;RAG 可以新增更多情境資料,告知員工附近哪些學校提供符合該政策的課程,或者推薦適合員工職務與先前培訓的課程;甚至協助申請這些課程,並提出報銷要求。

Oracle 的生成式 AI

Oracle 提供多種進階雲端式 AI 服務,包括在 Oracle Cloud Infrastructure (OCI) 上執行的 OCI Generative AI 服務。Oracle 的產品與服務包括以組織專屬資料和產業知識為基礎的穩固模型。客戶資料不會與 LLM 供應商共享,也不會透露給其他客戶,只有客戶本身能夠使用根據客戶資料訓練的自訂模型。

此外,Oracle 正於眾多雲端應用程式間整合生成式 AI,並為使用 OCI 的開發人員提供生成式 AI 功能,可用於其資料庫產品組合。再者,Oracle 的 AI 服務使用專用的單一租用戶 AI 叢集,提供可預測的效能和定價。

LLM 和生成式 AI 的能力和功能在過去一年一直是新聞標題的焦點,因此變得眾所周知。檢索增強生成以 LLM 的優點為基礎,使 LLM 更即時、更準確、更符合情境。以生成式 AI 的商業應用而言,RAG 是值得關注、研究和試驗的重要技術。

為何 Oracle 最適合生成式 AI?

Oracle 提供現代化資料平台和低成本的高效能 AI 基礎架構。強大的高效能模型、無與倫比的資料安全和內嵌的 AI 服務等額外因素,更展現 Oracle AI 產品與服務是專為企業打造。

檢索增強生成常見問題

RAG 是否與生成式 AI 相同?

不同。檢索增強生成技術使用的知識超出 LLM 包含的資料範疇,因此比起單獨使用一般大型語言模型,RAG 能為查詢提供更準確的結果。

RAG 中使用哪種類型的資訊?

RAG 可以整合來自許多來源的資料,例如關聯式資料庫、非結構化文件儲存庫、網際網路資料流、媒體新聞摘要、音訊記錄及交易記錄。

生成式 AI 如何使用 RAG?

來自企業資料來源的資料會內嵌到知識儲存庫中,然後轉換為向量,儲存在向量資料庫中。當終端使用者進行查詢時,向量資料庫會擷取相關的情境資訊。這些情境資訊會與查詢一起傳送到大型語言模型,模型即使用該情境建立更即時、準確並符合情境的回應。

RAG 能夠引用擷取之資料的參考嗎?

有。RAG 使用的向量資料庫和知識儲存庫包含相關資訊來源的具體資訊。這表示能夠引用來源,而且如果其中一個來源發生錯誤,還可以快速更正或刪除該來源,這樣後續查詢就不會傳回不正確的資訊。