什麼是檢索增強生成?
擷取增強生成 (RAG) 是對大型語言模型輸出最佳化的過程,因此在產生回應之前,它會參考其訓練資料來源以外的權威知識庫。大型語言模型 (LLM) 在大量資料上訓練,並使用數十億個參數來生成原始輸出,用於回答問題、翻譯語言和完成句子等任務。RAG 將原本就很強大的 LLM 功能擴展到特定領域或組織的內部知識庫,而無需重新訓練模型。這是改善 LLM 輸出具成本效益的方法,可讓 LLM 在各種情況下仍然相關、準確且有用。
擷取增強生成為何重要?
LLM 是一種關鍵人工智慧 (AI) 技術,為智慧聊天機器人和其他自然語言處理 (NLP) 應用程式提供支援。目標是建立可以透過交互參考權威知識來源來回答使用者各種內容問題的機器人。不幸的是,LLM 技術的性質導致 LLM 回應中引入不可預測性。此外,LLM 訓練資料是靜態的,並為其所擁有的知識引入了截止日期。
LLM 的已知挑戰包括:
- 當沒有答案時顯示虛假資訊。
- 當使用者期待特定的最新回應時,顯示過期或一般資訊。
- 從非授權來源建立回應。
- 由於術語混亂而建立不正確的回應,其中不同的訓練來源使用相同的術語來談論不同的事情。
您可以將大型語言模型視為一名過度熱情的新員工,拒絕了解時事,卻始終以絕對的信心回答每個問題。不幸的是,這種態度可能會對使用者的信任產生負面影響,並不是您希望聊天機器人模擬的內容!
RAG 是解決這些挑戰的其中一種方法。它重新導向 LLM,從權威、預先確定的知識來源中擷取相關資訊。組織對產生的文字輸出有更大的控制權,並且使用者深入了解 LLM 如何產生回應。
擷取增強生成有哪些優點?
RAG 技術為組織的生成式 AI 工作帶來了多種優點。
經濟實惠的實作
聊天機器人開發通常是從使用基礎模型開始的。基礎模型 (FM) 是在廣泛的廣義和未標記資料上訓練的 API 可存取 LLM。為組織或領域特定資訊重新訓練 FM 的運算和財務成本很高。RAG 是一種更加經濟實惠的方法,將新資料引入 LLM。它使生成式人工智慧 (生成式 AI) 技術更廣泛可存取和可用。
目前資訊
即使 LLM 的原始訓練資料來源適合您的需求,維護相關性仍是一項挑戰。RAG 可讓開發人員為生成式模型提供最新的研究、統計資料或新聞。他們可以使用 RAG 將 LLM 直接連線到即時社交媒體摘要、新聞網站或其他經常更新的資訊來源。LLM 接著可以向使用者提供最新資訊。
增強使用者信任
RAG 可讓 LLM 以來源屬性呈現準確的資訊。輸出可以包括來源的引用或參考。如果使用者需要進一步釐清或詳細資訊,也可以自行查詢來源文件。這可以增加對生成式 AI 解決方案的信任和信心。
更多開發人員控制
有了 RAG,開發人員可以更有效率地測試和改善他們的聊天應用程式。他們可以控制和變更 LLM 的資訊來源,以適應不斷變化的要求或跨功能使用。開發人員也可以將敏感資訊擷取限制為不同的授權層級,並確保 LLM 產生適當的回應。此外,如果 LLM 針對特定問題參考了不正確的資訊來源,它們也可以進行疑難排解和修正。組織可以更有自信地為更廣泛的應用程式實作生成式 AI 技術。
擷取增強生成的運作方式?
如果沒有 RAG,LLM 會接受使用者輸入,並根據它接受過訓練的資訊或已經知道的資訊建立回應。使用 RAG,引入了一個資訊擷取元件,該元件利用使用者輸入首先從新資料來源提取資訊。使用者查詢和相關資訊都會提供給 LLM。LLM 使用新的知識及其訓練資料來建立更好的回應。下列各節提供程序的概觀。
建立外部資料
LLM 原始訓練資料集之外的新資料稱為外部資料。它可以來自多個資料來源,例如 API、資料庫或文件儲存庫。資料可能有各種格式,例如檔案、資料庫記錄或長格式文字。另一種 AI 技術稱為內嵌語言模型,將資料轉換為數值表示並將其儲存在向量資料庫中。此程序建立一個生成式 AI 模型可以理解的知識庫。
擷取相關資訊
下一步是執行相關性搜索。使用者查詢會轉換為向量表示,並與向量資料庫比對。例如,考慮一個可以為組織回答人力資源問題的智慧聊天機器人。如果員工搜尋 "How much annual leave do I have?" (我有多少年假?),系統會擷取年假政策文件以及個別員工過往的休假記錄。系統會傳回這些特定文件,因為它們與員工輸入的內容高度相關。使用數學向量計算和表示來計算及確立相關性。
增強 LLM 提示
接下來,RAG 模型透過在內容中新增相關擷取的資料來增強使用者輸入 (或提示)。此步驟使用提示詞工程技術與 LLM 有效溝通。增強提示可讓大型語言模型為使用者查詢產生準確的答案。
更新外部資料
下一個問題可能是:如果外部資料過時該怎麼辦? 若要維護目前的資訊以供擷取,請以非同步方式更新文件並更新文件的內嵌表示。您可以透過自動化即時程序或定期批次處理來完成此操作。這是資料分析中常見的挑戰:可以使用會變更管理的不同資料科學方法。
下圖顯示使用 RAG 與 LLM 的概念流程。
擷取增強生成和語義搜索之間有什麼區別?
語義搜尋可為想要將大量外部知識來源新增至其 LLM 應用程式的組織提升 RAG 結果。現代企業可在各種系統上存放大量資訊,例如手冊、常見問答集、研究報告、客戶服務指南和人力資源文件儲存庫等。大規模內容擷取具有挑戰性,因而降低生成式輸出品質。
語義搜索技術可以掃描不同資訊的大型資料庫,並更準確地擷取資料。例如,它們可以透過將問題映射到相關文件並且傳回特定文字而不是搜尋結果,回答像是 "How much was spent on machinery repairs last year?” (去年在機械維修上花費多少錢?) 的問題。然後開發人員可以使用該答案為 LLM 提供更多內容。
RAG 中的傳統或關鍵字搜索解決方案為知識密集任務產生的結果有限。開發人員也必須在手動準備資料時處理文字內嵌、文件區塊化和其他複雜問題。相較之下,語義搜索技術完成知識庫準備的所有工作,不需要開發人員著手執行。它們還會產生語義相關的段落和按相關性排序的字符字詞,最大限度地提高 RAG 承載的品質。
AWS 如何支援您的擷取擴增產生要求?
Amazon Bedrock 是一項全受管服務,可提供各種高效能基礎模型選擇,以及建置生成式 AI 應用程式的各種廣泛功能,同時簡化開發與維護隱私權和安全。有了 Amazon Bedrock 的知識庫,您只需點擊幾下即可將 FM 連線到 RAG 的資料來源。向量轉換、擷取和改進的輸出產生都會自動處理。
對於管理自身 RAG 的組織,Amazon Kendra 是一項高度準確且採用機器學習技術的企業搜尋服務。它提供最佳化的 Kendra Retriever 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 實作速度。
立即建立免費帳戶,開始在 AWS 上使用擷取擴增產生