企業架構是 it 系統的核心,爲實現組織目標提供基礎構建塊。最佳模式可幫助架構團隊概述架構模式和通用框架,簡化工程團隊的工作。對於構建生成式 ai 應用程序,有四個常見架構模式:領域特定微調 (dsft):用於組織數據培訓 llm,產生高質量且特定領域的內容。檢索增強生成 (rag):經濟且高效,可用於構建 gen ai 應用程序,根據組織數據生成內容。檢索增強微調 (ra-ft):結合 rag 和微調方法,提高 llm 從語義上相關和不相關文檔中選擇內容的能力。知識圖譜/rag 圖譜:將知識圖譜數據庫集成到 rag 系統中,增強 llm 的上下文理解和推理能力。
最佳設計的企業架構是任何組織 IT 系統的支柱,它支持實現組織業務目標的基礎構建塊。架構包括最佳實踐、明確概述的策略、通用框架和指導方針,供工程團隊和其他利益相關者選擇正確的工具來完成任務。企業架構主要由支持業務線的架構團隊管理。在大多數組織中,架構團隊負責概述架構模式和通用框架,這將有助於工程和產品團隊不必花費數小時的精力進行概念驗證,而是幫助他們採用基於模式設計核心構建塊的策略。
由於生成式 AI正在改變整個格局,大多數組織要麼正在構建基於生成式 AI 的應用程序,要麼正在將生成式 AI 的功能或特性集成到其現有應用程序或產品中。在本文中,我們將深入探討可用於構建生成式 AI 解決方案的常見架構模式。我們還將討論各種企業級策略,以便爲正確的用例選擇正確的框架。
模式 1:領域特定微調(DSFT)
大型語言模型 (LLM)在企業生成式 AI 架構中扮演着重要的構建塊。LLM 負責根據其接受的訓練和所掌握的知識生成獨特的內容。但是,OpenAI、Microsoft 或開源社區等供應商提供的 LLM 缺乏企業數據知識。有時在組織中,他們有自己的標準和原則,在生成內容時也應遵循這些標準和原則。
爲了解決此領域的用例,微調是我們可以利用的策略之一。微調涉及在較小的專業數據集上進一步訓練預先訓練的 LLM,該數據集經過精心挑選,具有企業獨特的數據、標準和原則。此過程有助於定製模型的輸出,使其更符合組織的要求,從而提高其在企業環境中的適用性和有效性。
什麼是特定領域微調?
正如剛纔所述,微調大型語言模型 (LLM) 涉及調整預先訓練的語言模型,使其在特定任務或領域表現更好。這是通過使用由成對數據組成的較小、專門的數據集進一步訓練模型來實現的。這些成對數據是顯示所需行爲或輸出的示例。
在微調過程中,模型的參數會進行更新,這有助於縮小預訓練模型的一般能力與任務的特定需求之間的差距。此過程可提高模型的性能,使其更加準確並符合人類對給定任務的期望。
DSFT 模式可作爲最佳候選的用例
在組織尋求更專業和更特定領域的內容生成時,微調會發揮出色作用。如果用例要求在生成內容時遵循特定的標準和風格,那麼“微調”就是工具箱中的絕佳工具。
例如,假設客戶服務部門想要開發一個自動化工作流解決方案來取代手動流程。在手動流程中,現場客戶服務代理將回復其客戶或潛在客戶對其產品或服務的查詢。目前,現場客戶服務代理會回覆客戶或潛在客戶對產品或服務的詢問。代理需要了解客戶電子郵件的意圖和含義,做一些研究,然後在回覆時遵循公司指南。這個過程通常需要代理 2 到 3 個小時,並且組織會收到大量詢問其產品的客戶電子郵件。
通過微調,組織可以訓練 AI 模型,使其能夠按照公司的標準和準則自動理解和響應這些詢問。這可以節省大量時間,並確保響應一致且準確。
微調通常分爲以下幾種:
監督微調(SFT)
通過人類反饋進行強化學習(RLHF)
參數有效微調(PEFT)
低秩自適應(LoRA)
量化低秩自適應(QLoRA)
企業戰略微調模式
如果我們計劃使用這種模式來構建下一個生成式 AI 應用程序,那麼唯一的缺陷是,儘管這種模式可以產生幾乎完美和高質量的輸出,但它是一種耗時且昂貴的模式。它很耗時,因爲需要使用上述任何一種方法重新訓練 LLM,這需要準備數據集、訓練語料庫和人工標註員。如果組織的數據是動態的並且經常更新,那麼這種模式是不可取的,因爲每次數據發生變化時,LLM 都需要重新訓練,這將成爲一個昂貴的解決方案。如果數據本質上不是很動態,並且我們希望 LLM 產生高質量的特定領域輸出,那麼微調是最好的方法。
模式2:RAG(檢索增強生成)
RAG 或檢索增強生成是幾乎所有企業生成式 AI 開發中使用的流行模式之一,因爲這是最具成本效益的模式之一,可爲構建 Gen AI 應用程序節省大量開發工作。 RAG 的基本結構可以概括如下:
R —— (R)根據相似性搜索算法檢索上下文。
A - (A)增強檢索到的上下文以及 LLM 的指令(提示工程),說明根據我們提供的上下文生成什麼內容。
G - LLM 將根據上下文和指令(提示工程)生成內容並將生成的響應發送給用戶。
在 RAG 模式中,我們集成了一個可以存儲和索引嵌入(數字內容的數字表示)的矢量數據庫。我們使用各種搜索算法(如 HNSW 或 IVF)來檢索前k個結果,然後將其用作輸入上下文。搜索是通過將用戶的查詢轉換爲嵌入來執行的。前k 個結果被添加到一個結構良好的提示中,該提示指導 LLM 生成什麼以及它應該遵循的步驟,以及它應該考慮哪些上下文或數據。
一旦 LLM 根據提示和輸入上下文生成內容,它就會經過髒話檢查(可選)或審覈層。然後,經過驗證的響應將以人類可理解的格式呈現給用戶。
“RAG”模式最適合的用例
當我們需要 LLM 根據組織特定數據生成內容時,RAG 是一種易於構建且經濟高效的解決方案。由於 LLM 未使用組織的私有數據進行訓練,並且訓練需要大量時間,因此我們利用 RAG 模式構建 Gen AI 應用程序。
基於人工智能的智能企業搜索、虛擬助手或聊天機器人可以幫助客戶理解複雜的文檔、人力資源聊天機器人、推薦引擎以及需要快速瞭解程序以更好地協助客戶的客戶服務代理,這些都是 RAG 的完美用例。
一些流行的基於企業的用例是:
通過員工培訓和入職培訓爲人力資源提供支持: RAG 模式可用於構建人力資源支持應用程序,該應用程序將提供定製的培訓材料並回答特定問題,以促進順利的入職流程,從而讓人力資源部門有時間專注於其他領域。
醫療保健行業:基於 RAG 的生成式 AI 應用程序可以爲醫療專業人員提供有關各種治療方案和醫學研究的信息,以便更好地護理患者。
企業知識挖掘和管理系統: RAG 可用於構建產品,幫助員工從龐大的內部內容存儲庫中查找和檢索相關的組織特定信息。
銷售和營銷應用: 使用 RAG,可以輕鬆構建個性化的產品推薦並生成營銷活動或產品相關數據的內容。
技術支持應用程序: 基於 Gen-AI 的應用程序可以總結故障排除步驟和相關技術文檔,以便客戶服務代理更快地解決問題。
RAG 的企業戰略
當數據源本質上是動態的(這意味着我們期望數據經常更新)時,RAG(檢索增強生成)是一種理想的解決方案。RAG 在數據經常變化的環境中表現更好,因爲它允許實時更新並確保檢索到的信息始終與變化同步。使用 RAG,每次更新數據源時,矢量數據庫中的嵌入也必須在數據提取期間更新,以準確反映這些變化。
大多數企業 RAG 應用程序在其架構中具有以下兩個主要工作流程:
1. 數據處理和提取
此工作流程涉及以嵌入的形式將源數據提取、轉換和加載 (ETL) 到矢量數據庫中。當添加新數據或修改現有數據時,系統會處理這些更改,生成新嵌入並更新矢量數據庫。這可確保我們的矢量數據庫與最新信息保持同步。只要數據源發生變化,就會觸發此工作流程。這使 AI 系統能夠快速適應新信息或現有信息的變化。
2. 通過相似性搜索進行檢索
在此工作流程中,當收到用戶查詢時,系統會將查詢轉換爲嵌入,並根據 ANN、KNN 或其他算法針對更新的向量數據庫執行相似性搜索。檢索前k 個結果並將其用作使用 LLM 生成響應的上下文。這可確保所提供的信息具有相關性且基於最新數據。
當數據源發生任何變化時,只會觸發數據處理和攝取工作流,從而同步變化並更新矢量數據庫。通過在 RAG 架構中實現變化檢測機制,系統可以無縫同步更新。這確保檢索過程始終使用最新數據,而無需徹底檢修整個系統。
RAG 模式爲企業帶來了巨大好處,因爲它將數據同步與數據檢索分開。這種分離意味着可以高效處理數據源的更新,而不會中斷檢索過程,並且不會對用戶造成任何停機時間。這種模塊化架構模式具有可擴展性和靈活性。這使得它更容易適應不斷增長的數據量和不斷變化的需求。
這種方法不僅經濟高效,而且可以縮短構建時間,因此對於需要從動態數據源獲取最新和準確信息的企業來說,這是一種有效的選擇。這種架構模式可幫助工程和產品團隊快速集成新數據並將其同步到 AI 系統。因此,對於頻繁變化的數據源,始終建議採用基於 RAG 的方法,而不是微調方法來提供決策和運營效率可能需要的及時和相關信息。
模式3:RA-FT(檢索增強-微調)
RA-FT 已得到 Meta、微軟和加州大學伯克利分校研究人員的大力推廣。該團隊最近發表的一篇論文提出了一種新框架,以解決通用 RAG 框架和領域特定微調 (DSFT) 方法的侷限性。
爲了解釋該框架,研究人員將 RAG 方法與“開卷考試”進行了比較,將 Fine Tuning 與“閉卷考試”進行了比較。
RAG 的侷限性
在 RAG 中,上下文是通過對索引進行基於向量的相似性搜索形成的。此搜索可能會帶來語義上接近查詢但不一定有意義的文檔(或塊),導致 LLM 難以生成連貫且有意義的答案。LLM 不知道哪些文檔真正相關,哪些文檔具有誤導性。即使這些“干擾性”文檔不是合理答案的良好來源,它們也可能包含在 LLM 的上下文中。
DSFT 的侷限性
研究人員還認爲,採用 DSFT 方法,LLM 只能侷限於它所訓練的內容。它可以進行猜測,甚至給出錯誤答案,因爲它無法從外部來源獲取準確信息。
RA-FT 如何解決 DSFT 和 RAG 模式的侷限性?
爲了解決 DSFT 和基本 RAG 的侷限性,RA-FT 框架以一種新的方式結合了 RAG 和微調方法。在 RA-FT 方法中,LLM 經過訓練,變得足夠智能,可以從使用相似性搜索作爲檢索過程的一部分生成的上下文中挑選出最有用和最相關的文檔。
使用 RA-FT,當模型被賦予一個問題和一批檢索到的文檔時,它會被教導忽略那些對回答問題沒有幫助的文檔。由於在微調過程中進行了訓練,LLM 學會了如何識別“干擾”文檔,並僅使用有用和非干擾文檔(或塊)來爲用戶的查詢生成連貫的答案。
在 RA-FT 中,訓練數據經過準備,每個數據點都包含一個問題、一組上下文相關的文檔以及相應的思路式答案。RA-FT 將微調與由問答對組成的訓練集相結合,使用模擬不完美檢索場景中的文檔。這種方法有效地爲 LLM 做好了開卷考試的準備。RA-FT 是一種調整 LLM 的方法,使其能夠從相關和不相關的文檔組合中讀取和得出解決方案。
RA-FT模式的企業戰略
由於 RAFT 包含 RAG 和微調方法,因此成本甚至高於 DSFT 方法。但是,結果令人印象深刻,這意味着該技術適用於提供高質量輸出以及紮實數據和來源是基本要求的用例。當您可能希望從向量相似性搜索中獲得混合結果(既有相關文檔/塊也有干擾文檔/塊)並且您不想根據干擾文檔/塊或無用文檔/塊生成或制定 LLM 響應時,此方法將產生最佳結果。對於受到嚴格監管的行業,將此解決方案整合到現有的 Gen AI 生態系統中將是有益的。
模式4:知識圖譜/RAG圖譜
如您所知,基本 RAG 和基於 RAFT 的方法都嚴重依賴於底層向量數據庫和各種相似性算法(A-NN 或 K-NN),它們用於檢索分塊數據集,以用作 LLM 制定響應的上下文。然而,這種方法最大的問題是,當一個具有上下文意義的大段落被分成小塊時,它會失去內在含義和關係。因此,在執行相似性搜索時,它只會根據相關性選擇文檔(或塊)中單詞彼此接近的結果集。通用 RAG 方法主要依賴於基於向量的檢索,在爲用戶生成響應時面臨着一些限制,例如缺乏深度上下文理解和複雜的推理能力。
爲了解決這一不足,知識圖譜數據庫已成爲另一個不可或缺的組件,可以插入現有的 RAG 系統,以便您的生成式 AI 應用程序在幫助用戶回答問題的同時變得更加智能。這種技術稱爲 GraphRAG,其中一種稱爲知識圖譜數據庫的不同類型的數據庫被添加到系統中,當 RAG 的相似性搜索未產生正確響應時,它有助於根據外部域特定數據協助生成內容。
GraphRAG 如何工作?
GraphRAG 是一種高級 RAG 方法,它使用圖形數據庫來檢索特定任務的信息。與將結構化數據存儲在具有行和列的表中的傳統關係數據庫不同,圖形數據庫使用節點、邊和屬性來表示和存儲數據。此方法提供了一種更直觀、更高效的方式來建模、查看和查詢複雜系統。GraphRAG 使用基於 LLM 構建的知識圖譜連接內容中的概念和實體。
攝取流程
GraphRAG 利用大型語言模型 (LLM) 從一組文本文檔中自動生成詳細的知識圖譜。此知識圖譜通過識別和連接相關概念來捕獲數據的含義和結構。在索引流程中,系統使用 LLM 從細粒度文本單元中提取所有實體、關係和關鍵聲明。
它還可以檢測密切相關節點的“社區”或“集羣”,並將它們組織到不同的細節層次。這有助於理解數據的整體語義結構。
這些基於社區的摘要提供了整個數據集的全面概述和整篇文章的整體情況。這使系統能夠解決較簡單的檢索增強生成 (RAG) 方法難以處理的廣泛或複雜的查詢。
檢索流程
當用戶提出問題時,GraphRAG 會高效地從知識圖譜中檢索最相關的信息。然後,它會利用這些信息來指導和改進 LIAM 的響應,從而提高答案的準確性並降低生成不正確或誤導性信息的可能性。
GraphRAG 模式的企業戰略
與基本 RAG 系統一樣,GraphRAG 也使用專門的數據庫來存儲它在 LLM 的幫助下生成的知識數據。但是,與生成嵌入並將其存儲在矢量數據庫中相比,生成知識圖譜的成本更高。因此,在基本 RAG 可能難以產生準確答案的情況下,應使用 GraphRAG。
當源數據高度動態(即頻繁更改)時,您需要重建語料庫的圖形並相應地更新圖形數據庫。爲源數據的每次更改重建圖形數據庫可能成本高昂,但對於保持相同的全面理解卻是必要的。
在企業環境中,建議將 GraphRAG 與基本 RAG 集成,以創建更有效的生成式 AI 系統。這樣,如果基本 RAG 無法檢索到所需結果,系統可以在 GraphRAG 數據庫中搜索上下文併爲用戶生成響應,而不是在系統具有正確答案和上下文但分散在不同塊或未聚集在一起的文檔中時產生幻覺或不生成響應。將 GraphRAG 與基本 RAG 系統相結合可以使 AI 應用程序更加強大。
以上就是企業生成式 AI 應用的架構模式:DSFT、RAG、RAFT 和 GraphRAG的詳細內容,更多請關注本站其它相關文章!