深入探討 RAG 技術,了解它如何幫助大型語言模型更準確地回答問題,提供更符合時效性的資訊。
大型語言模型(LLMs)已經廣泛應用於各種領域,展現出驚人的能力。然而,這些模型有時也會出現意想不到的錯誤。IBM研究部門的資深研究科學家Marina Danilevsky分享了一種提升大型語言模型準確性和時效性的框架——檢索增強生成(Retrieval-Augmented Generation,簡稱RAG)。
什麼是 RAG (檢索增強生成)?
檢索增強生成 (RAG) 是優化大型語言模型輸出的過程,使其在生成回應之前,參考其訓練數據來源之外的權威知識庫。大型語言模型 (LLM) 是在大量數據上訓練的,並使用數十億個參數來為回答問題、翻譯語言和完成句子等任務生成原始輸出。RAG 將 LLM 已經強大的功能擴展到特定領域或組織的內部知識庫,所有這些都無需重新訓練模型。這是一種具有成本效益的方法,可以改進 LLM 輸出,使其在各種情況下保持相關性、準確性和實用性。
為什麼 RAG 很重要?
LLM 是為智慧型聊天機器人和其他自然語言處理 (NLP) 應用程式提供支援的關鍵人工智慧 (AI) 技術。目標是建立能夠透過交叉引用權威知識來源來回答使用者在各種情況下問題的機器人。不幸的是,LLM 技術的本質會在 LLM 回應中引入不可預測性。此外,LLM 訓練數據是靜態的,並在其所擁有的知識中引入了一個截止日期。
LLM 已知的挑戰包括:
- 在沒有答案時提供錯誤資訊。
- 在使用者期望特定、當前回應時提供過時或通用的資訊。
- 從非權威來源建立回應。
- 由於術語混淆而產生不準確的回應,其中不同的訓練來源使用相同的術語來談論不同的事物。
您可以將大型語言模型視為一個過分熱情的新員工,他拒絕了解時事,但總是會以絕對的信心回答每個問題。不幸的是,這種態度可能會對用戶信任產生負面影響,而且這不是您希望您的聊天機器人模仿的東西!
RAG 是解決其中一些挑戰的一種方法。它會重新導向 LLM 從權威的、預先確定的知識來源中檢索相關資訊。組織對產生的文本輸出具有更大的控制權,使用者可以深入了解 LLM 如何產生回應。
RAG的好處是什麼?
解決生成式 AI 的挑戰
首先,讓我們聚焦於「生成」這一部分。大型語言模型根據用戶的查詢(稱為提示)生成文本回應。雖然這些模型在很多情況下表現出色,但也存在一些不理想的行為。例如,Marina提到她在回答孩子關於太陽系中月亮最多的行星時,因缺乏即時的資訊來源,給出了過時且不準確的答案。這反映了大型語言模型在缺乏可靠來源和資訊更新方面的兩大挑戰。
檢索增強生成(RAG)的解決方案
檢索增強生成(RAG)框架旨在解決上述問題。RAG不僅依賴於模型本身的知識,還引入了一個內容庫,這個內容庫可以是開放的網路資料或是封閉的文件集。當用戶提出問題時,RAG首先會從內容庫中檢索相關資訊,然後將這些資訊與用戶的問題結合,最終生成回應。這樣一來,回答不僅更加準確,還能基於最新的資料來源,避免了模型本身可能存在的知識陳舊問題。
RAG 的運作方式
具體來說,當用戶詢問問題時,RAG框架的生成模型會先指令模型檢索相關內容,而非直接生成回答。這個過程包括三個部分:指令、檢索到的內容以及用戶的問題。最終,生成的回答會基於這些資訊,並且可以提供來源證據,增加回答的可信度。
例如,當被問及太陽系中月亮最多的行星時,傳統的LLM可能會基於訓練期間的知識回答「木星有88顆月亮」,而實際上答案應為「土星有146顆月亮」。使用RAG框架後,模型會先檢索最新的資訊來源,從而提供更準確的回答。
RAG 的優勢與挑戰
RAG框架的主要優勢在於:
- 資訊時效性:只需更新內容庫,模型即可獲取最新資訊,無需重新訓練。
- 來源可靠性:模型依賴於檢索到的主要資料來源,減少了生成虛假資訊的風險。
- 透明度:能夠提供回答的來源證據,提高用戶對回應的信任度。
- 誠實性:當無法從內容庫中找到可靠資訊時,模型可以選擇說「我不知道」,而不是提供可能誤導性的回答。
然而,RAG也面臨一些挑戰。若檢索系統的質量不足,可能無法提供最佳的資料支持,導致模型無法給出正確的回答。因此,提升檢索系統的質量和生成模型的能力是實現RAG框架成功的關鍵。
具有成本效益的應用
聊天機器人開發通常從使用基礎模型開始。基礎模型 (FM) 是可透過 API 存取的大型語言模型,這些模型在廣泛的通用和未標記數據上進行訓練。重新訓練 FM 以獲取組織或特定領域的資訊的計算和財務成本很高。RAG 是一種更具成本效益的方法,可將新數據引入 LLM。它使生成式人工智慧 (生成式 AI) 技術更廣泛地被存取和使用。
獲取最新資訊
即使 LLM 的原始訓練數據來源適合您的需求,也難以維持相關性。RAG 允許開發人員向生成模型提供最新的研究、統計數據或新聞。他們可以使用 RAG 將 LLM 直接連接到即時社交媒體提要、新聞網站或其他頻繁更新的資訊來源。然後,LLM 可以向使用者提供最新資訊。目前估值已經來到 90 億美金的新創 Perplexity 就是應用 RAG 打造更加的 AI 對話體驗的最佳案例。
增強使用者信任
RAG 允許 LLM 提供準確的資訊並帶有來源歸屬。輸出可以包括來源的引文或參考文獻。如果使用者需要進一步澄清或更多詳細資訊,他們也可以自行查找來源文件。這可以提高對您的生成式 AI 解決方案的信任和信心。
更多開發人員控制
透過 RAG,開發人員可以更有效率地測試和改進他們的聊天應用程式。他們可以控制和變更 LLM 的資訊來源,以適應不斷變化的需求或跨職能使用。開發人員還可以將敏感資訊的檢索限制到不同的授權級別,並確保 LLM 產生適當的回應。此外,如果 LLM 針對特定問題參考了不正確的資訊來源,他們還可以進行疑難排解和修復。組織可以更有信心地為更廣泛的應用程式實施生成式 AI 技術。
檢索增強生成如何運作?
如果沒有 RAG,LLM 會取得使用者輸入,並根據其接受訓練的資訊(或它已經知道的資訊)建立回應。透過 RAG,引入了一個資訊檢索元件,該元件利用使用者輸入來首先從新的數據來源中提取資訊。使用者查詢和相關資訊都會提供給 LLM。LLM 使用新知識及其訓練數據來建立更好的回應。以下各節概述了此過程。
建立外部數據
LLM 原始訓練數據集之外的新數據稱為 外部數據。它可能來自多個數據來源,例如 API、資料庫或文件儲存庫。數據可能以各種格式存在,例如檔案、資料庫記錄或長格式文本。另一種稱為 嵌入語言模型 的 AI 技術將數據轉換為數值表示形式,並將其儲存在向量資料庫中。此過程會建立一個生成式 AI 模型可以理解的知識庫。
檢索相關資訊
下一步是執行相關性搜尋。使用者查詢會轉換為向量表示形式,並與向量資料庫進行比對。例如,考慮一個智慧型聊天機器人,它可以回答組織的人力資源問題。如果員工搜尋「我還有多少年假?」,系統將檢索年假政策文件以及個別員工的過去休假記錄。由於這些特定文件與員工的輸入高度相關,因此將會傳回這些文件。相關性是使用數學向量計算和表示形式計算和建立的。
增強 LLM 提示
接下來,RAG 模型透過在上下文中新增相關的檢索數據來增強使用者輸入(或提示)。此步驟使用提示工程技術來與 LLM 有效溝通。增強的提示允許大型語言模型產生對使用者查詢的準確答案。
更新外部數據
下一個問題可能是 — 如果外部數據過時怎麼辦?為了維持檢索的當前資訊,請非同步更新文件並更新文件的嵌入表示形式。您可以使用自動化即時處理或定期批次處理來執行此操作。這是數據分析中常見的挑戰 — 可以使用不同的數據科學方法來進行變更管理。
下圖顯示了將 RAG 與 LLM 結合使用的概念流程。
檢索增強生成與語義搜尋有何不同?
對於想要將大量外部知識來源新增至其 LLM 應用程式的組織而言,語義搜尋可增強 RAG 結果。現代企業在各種系統中儲存大量資訊,例如手冊、常見問題、研究報告、客戶服務指南和人力資源文件儲存庫。大規模的內容檢索具有挑戰性,因此會降低生成式輸出的品質。
語義搜尋技術可以掃描不同的資訊大型資料庫,並更準確地檢索數據。例如,他們可以透過將問題對應到相關文件並傳回特定文本而非搜尋結果,來回答諸如「去年在機器維修上花了多少錢?」等問題。然後,開發人員可以使用該答案向 LLM 提供更多內容。
RAG 中的傳統或關鍵字搜尋解決方案針對知識密集型任務產生的結果有限。開發人員還必須在手動準備數據時處理字詞嵌入、文件分塊和其他複雜性。相反,語義搜尋技術會執行知識庫準備的所有工作,因此開發人員不必這樣做。它們還會產生語義上相關的段落和符號詞組,並依相關性排序,以最大化 RAG 酬載的品質。
檢索增強生成(RAG)框架為大型語言模型的應用帶來了新的突破。通過結合即時檢索的能力,RAG不僅提升了回答的準確性,還確保了資訊的最新性和來源的可靠性。隨著技術的不斷進步,RAG有望成為未來語言生成技術中的重要組成部分,為各行各業帶來更多價值。
Tenten 如何使用 AWS 如何支援您的檢索增強生成需求?
Amazon Bedrock 是一項完全託管的服務,提供多種高效能基礎模型選擇,以及廣泛的功能,可建立生成式 AI 應用程式,同時簡化開發並維護隱私和安全性。借助適用於 Amazon Bedrock 的知識庫,您只需點擊幾下,即可將 FM 連接到您的數據來源以進行 RAG。向量轉換、檢索和改進的輸出生成都會自動處理。
對於管理其自身 RAG 的組織而言,Amazon Kendra 是一項由機器學習提供支援的高精確企業搜尋服務。它提供了一個經過優化的 Kendra Retrieve API,您可以將其與 Amazon Kendra 的高精確語義排名器搭配使用,作為您 RAG 工作流程的企業檢索器。例如,使用 Retrieve API,您可以:
- 檢索最多 100 個語義相關的段落,每個段落最多 200 個符號詞組,並按相關性排序。
- 使用預先建立的連接器連接到常見的資料技術,例如 Amazon Simple Storage Service、SharePoint、Confluence 和其他網站。
- 支援廣泛的文件格式,例如 HTML、Word、PowerPoint、PDF、Excel 和文本文件。
- 根據最終使用者權限允許的文件篩選回應。
Amazon 還為想要建立更多自訂生成式 AI 解決方案的組織提供選擇。Amazon SageMaker JumpStart 是一個 ML 中心,其中包含 FM、內建演算法和預先建立的 ML 解決方案,您只需點擊幾下即可部署這些解決方案。您可以透過參考現有的 SageMaker 筆記本和程式碼範例來加速 RAG 實施。
立即諮詢 Tenten AI,開始在 AWS 上使用 RAG
FAQ
常見問題 (FAQ)
- 什麼是檢索增強生成 (RAG)?
檢索增強生成 (Retrieval-Augmented Generation, RAG) 是一種框架,用於提升大型語言模型的準確性與資訊更新能力。在生成回應前,RAG 會從外部權威知識庫中檢索相關資料。這樣的設計避免僅依靠靜態的訓練數據,確保輸出具有時效性與可靠性。 - 為什麼 RAG 框架在語言生成技術中如此重要?
RAG 框架解決了大型語言模型的多個挑戰,例如過時資訊、提供錯誤答案或引用非權威來源。透過檢索即時且權威的外部資料,RAG 確保訊息準確性,提高使用者信任。 - RAG 的主要優勢是什麼?
RAG 的主要優勢包括: - 資訊時效性:持續更新內容庫即可獲取最新資訊,無需重新訓練模型。
- 來源可靠性:基於權威資料提供回應。
- 透明度:可附帶來源證據,提升用戶信任。
- 誠實性:無可靠資訊時可選擇說「不知道」。
- RAG 框架如何運作?
當用戶提出問題時,RAG 先從外部知識庫檢索相關資料,將這些資訊結合用戶問題進行生成最終回應。回應可提供來源證據,確保回答準確性與透明性。 - RAG 與語義搜尋的差異是什麼?
雖然兩者都能增強知識檢索,但語義搜尋透過語義分析可更準確地檢索和排序相關答案,而非僅返回傳統搜尋結果。語義搜尋技術能為 RAG 的結果帶來進一步的優化,特別在處理大規模知識庫時。