中科大、上海AI Lab發表的MindSearch思·索: 模擬模仿人類思維引發的深度AI探索者 原創
一、結論寫在前面
論文來自中國科學技術大學、上海AI Lab
論文標題:MindSearch: Mimicking Human Minds Elicits Deep AI Searcher
論文鏈接:??https://arxiv.org/pdf/2407.20183??
代碼鏈接:??https://github.com/InternLM/MindSearch??
摘要
通過結合LLMs和搜索引擎來解決信息搜索與整合任務因三個挑戰而表現不佳:(1)復雜請求往往無法通過一次搜索準確且完整地檢索;(2)待整合的相關信息分散在多個網頁中,伴隨大量噪音;(3)大量內容冗長的網頁可能迅速超出LLMs的最大上下文長度。
受人類專家解決現實問題方式的啟發,論文提出了MindSearch,這是一個基于LM的簡單而有效的多agent框架,包括一個WebPlanner(模擬人類思維進行問題推理)和多個WebSearcher(管理信息搜索過程)給定一個用戶查詢,WebPlanner首先將查詢分解為多個可并行解決的原子子問題,并將它們分派給相應的WebSearcher。為了進一步增強推理能力,WebPlanner將復雜的問題解決過程建模為迭代圖構建:通過預定義一系列與拓撲思維圖構建相關的標準代碼接口,WebPlanner能夠通過生成Python代碼在圖中逐步添加節點/邊,從而將問題逐步分解為順序/并行的子問題。同時,負責每個子問題的WebSearcher采用分層檢索過程,從大量搜索頁面中提取有價值的數據供LLMs使用,顯著提高了信息聚合效率。通過將推理和檢索過程的不同方面分配給專門的agent,MindSearch有效減輕了每個單一agent的負擔,促進了長上下文的更穩健處理。它無縫地彌合了搜索引擎的原始數據檢索能力與LLMs的上下文理解能力之間的差距。
基于GPT-4或InternLM2.5-7B模型,MindSearch在閉集和開集QA問題的響應質量上,無論在深度還是廣度方面,均顯示出顯著改進。此外,基于InternLM2.5-7B模型的MindSearch生成的響應更受人類青睞,優于ChatGPT-Web(基于GPT-4)和Perplexity.ai應用,這表明基于開源模型的MindSearch已經能夠提供與專有AI搜索引擎相競爭的解決方案。
二、論文的簡單介紹
2.1 論文的背景
圖1:MindSearch的總體框架。它由兩個主要組成部分構成:WebPlanner和WebSearcher。WebPlanner作為高級規劃器,協調推理步驟和多個WebSearcher。WebSearcher執行細粒度的網絡搜索,并將有價值的信息匯總回規劃器,形成一個簡單而有效的多agent框架
LLM與搜索引擎的互補優勢凸顯了它們結合的強大機遇,LLM的推理能力可以通過搜索引擎訪問的廣泛網絡信息得到補充,可能徹底改變網絡信息檢索和整合的解決方案。先前的工作(Asai et al., 2023; Chan et al., 2024)僅將信息檢索和整合任務視為簡單的檢索增強生成(RAG)任務。雖然這種表述簡單直接,但往往導致性能不佳,對基于網絡的信息檢索的深度和復雜性處理表面化,面對更復雜的用戶查詢時存在三大挑戰:
(1) 現實世界的問題通常需要在檢索相關信息之前進行深入分析和問題適當分解,這無法通過一次性檢索網頁來實現。
(2) 海量的搜索網頁和大量的信息噪聲對LLM進行有效的信息整合提出了巨大挑戰。
(3) 網絡搜索內容的迅速激增可能很快超過LLM的最大上下文長度,這進一步降低了信息整合的性能。
2.2 MindSearch
為了有效整合搜索引擎的網絡信息檢索能力與LLMs的推理和信息整合能力,MindSearch包含了一個WebPlanner和一組WebSearchers(圖1)。WebPlanner首先通過圖推理將用戶問題分解為順序或并行的搜索任務,并根據搜索反饋決定下一步行動。WebSearcher負責查詢,并在互聯網上執行分層信息檢索以回答子問題。論文還討論了多agent設計范圍內的上下文管理。
2.2.1 WebPlanner:通過圖構建進行規劃
WebPlanner作為高級規劃器,負責協調推理步驟和其他agent。然而,論文觀察到,僅提示LLM規劃整個數據工作流架構并不能產生令人滿意的表現。具體而言,當前的LLMs在分解復雜問題及其拓撲關系理解方面存在困難,導致搜索查詢粒度過粗。這種方法未能充分利用LLMs作為人類與搜索引擎之間中介的潛力,無法將人類意圖轉化為逐步搜索任務并提供準確響應。
為了提升大型語言模型(LLM)解決復雜問題的能力,論文建模了問題解決過程的DAG(有向無環圖)。給定一個用戶問題Q,解決方案軌跡為G(Q)=,其中V是一組節點v,每個節點代表一個獨立的網絡搜索,包括一個輔助的START節點(初始問題)和一個END節點(最終答案)。E表示指示節點(搜索內容)之間推理拓撲關系的定向邊。這種DAG形式主義捕捉了尋找最優執行路徑的復雜性,為語言模型提供了一個更正式和直觀的表示。
利用當前LLM在代碼任務上的卓越性能,論文明確提示模型通過編寫代碼與圖進行交互。為此,論文預定義了向圖中添加節點或邊的原子代碼函數(圖2中的步驟1和2)。在每一輪中,LLM首先閱讀整個對話,包括之前生成的代碼和網絡搜索結果,然后輸出對思維圖進行推理的想法和新代碼,這些代碼由Python解釋器執行。在執行過程中,一旦一個節點被添加到推理圖中,它就會調用Websearcher執行搜索過程并總結信息。
圖 2 : WebPlanner 如何通過規劃即編碼逐步解決問題的具體示例。在每個回合中,WebPlanner 輸出一系列思考以及生成的代碼。代碼將被執行并產生搜索結果返回給規劃器。在最后一個回合,WebPlanner 直接提供最終響應而無需生成任何代碼。
由于新添加的節點僅依賴于先前步驟中生成的節點,論文可以并行處理它們以實現更快的信息聚合速度。當所有信息收集完畢后,規劃器通過添加結束節點(圖 2 中的步驟 3)生成最終響應。
通過與 Python 解釋器集成,WebPlanner 通過統一的代碼動作與圖進行交互,動態構建推理路徑。這種“代碼即規劃”的過程使 LLM 能夠充分利用其卓越的代碼生成能力,在長上下文場景中受益于控制和數據流,從而在解決復雜問題時表現更佳。
2.2.2 WebSearcher:分層檢索的網頁瀏覽
WebSearcher 作為具有互聯網訪問權限的高級 RAG(檢索與生成)agent,根據搜索結果總結有價值的響應(圖 3)。由于網絡上的內容極其龐大,LLM 在有限的上下文長度內(例如 8K 個token)處理所有相關頁面是具有挑戰性的。為了解決這個問題,論文采用了一種直接的從粗到細的選擇策略。首先,LLM 根據 WebPlanner 分配的問題生成幾個類似的查詢,以擴大搜索內容并提高相關信息的召回率。然后,這些查詢通過各種搜索 API(如 Google、Bing 和 DuckDuckGo)執行,返回包括網頁 URL、標題和摘要的關鍵內容。搜索結果根據網頁 URL 自動合并,并提示 LLM 選擇最有價值的頁面進行詳細閱讀。然后,所選網頁 URL 的完整內容被添加到 LLM 的輸入中。在閱讀這些結果后,LLM 根據搜索結果生成響應以回答原始問題。這種分層檢索方法顯著降低了瀏覽大量網頁的難度,并允許高效提取具有深入細節的高度相關信息。
圖3:WebSearcher的詳細工作流程。它包括最多4個步驟:查詢重寫、搜索內容聚合、詳細頁面選擇和最終總結。
2.2.3 在MindSearch中管理LLM上下文
MindSearch通過提供一個簡單的多agent解決方案,來處理復雜的信息搜索和與搜索引擎的集成。這種范式也自然地實現了不同agent之間的長上下文管理,從而提高了框架的整體效率,特別是在需要模型快速閱讀大量網頁的情況下。由于WebPlanner將搜索任務分配給不同的搜索agent,并且僅依賴于WebSearcher的搜索結果,因此WebPlanner可以純粹專注于用戶問題的分解和分析,而不會被過長的網頁搜索結果分散注意力。同時,每個WebSearcher只需要搜索其任務子查詢的內容,而不受其他內容的影響。得益于明確的角色分配,MindSearch在整個過程中大大減少了上下文計算,為LLM的長上下文任務提供了一個高效的上下文管理解決方案。這種多agent框架也為訓練單一LLM提供了直接且簡單的長上下文任務構建流程,這一點在(Team, 2024)中也有所體現。最終,MindSearch在不到3分鐘的時間內收集和整合了來自超過300頁的相關信息,而人類專家完成類似認知工作量大約需要3小時。
由于多個agent之間存在顯式的上下文狀態傳遞,論文需要在整個工作流程中謹慎處理上下文。論文實證發現,僅關注規劃器分解的查詢可能會在信息收集階段由于搜索agent內部的局部感受野而丟失有用信息。如何有效地處理多個agent之間的上下文并非易事。論文發現,通過有向圖邊構建的拓撲關系有助于論文輕松處理不同agent之間的上下文。更具體地說,論文在執行每個搜索agent時,簡單地將來自其父節點以及根節點的響應作為前綴。因此,每個WebSearcher可以有效地專注于其子任務,同時不會丟失先前的相關上下文以及最終目標。
圖4:人類專家對開放集QA問題的主觀評估結果
2.3 實驗
論文在兩類主要的問題回答(QA)任務上評估MindSearch:閉集QA和開放集QA,這反映了MindSearch的主觀和客觀判斷。為了公平比較,所有模型僅通過BING搜索API訪問互聯網,不考慮額外的參考來源。
2.3.1 開放集QA
2.3.1.1 實施細節?
為了更好地評估實用性和搜索性能,論文精心挑選了100個真實世界的人類查詢,并從MindSearch(InternLM2.5-7b-chat)、Perplexity.ai(其Pro版本)和使用搜索插件的ChatGPT)收集響應。論文請五位人類專家根據以下三個方面手動選擇他們偏好的響應:
?深度:深度指答案的徹底性和深度。具有深度的響應提供詳細信息并深入探討問題的復雜性。
?廣度:廣度涉及答案所涵蓋的范圍和多樣性。具有廣度的回答觸及問題的各個方面或多個相關領域,提供不同的視角或解決方案。
?事實性:事實性是指答案的準確性和基于事實的程度。它應基于可靠的數據和信息,避免錯誤或誤導性內容,確保所提供信息的真實性和可信度。
最終結果通過多數投票決定。在評估過程中,回答與其方法之間的對應關系對評估者不可見,以保證公平性。
2.3.1.2 結果與分析
評估結果如圖4所示,論文還提供了圖 5 中的定量結果。從圖 4 中,論文可以觀察到模型回答在深度和廣度方面的絕對改進,這驗證了論文提出的 WebPlanner 的優越性。通過將代碼集成到 DAG 構建階段,LLM 能夠逐步將復雜問題分解為可執行的查詢,同時平衡時間效率和搜索空間的探索之間的權衡。此外,MindSearch 針對問題進行了更細粒度的搜索主題,因此與其他模型相比提供了更緊湊和詳細的回答。然而,MindSearch 在事實性方面并未表現出更好的性能。論文懷疑更詳細的搜索結果可能會分散模型對初始問題的注意力,尤其是在 LLM 持有不完整的長上下文能力時。因此,MindSearch 的一個自然未來工作是減輕網絡瀏覽過程中的幻覺問題。
圖 5:MindSearch 與 Perplexity.ai(Pro)在同一問題上的解決方案軌跡比較。得益于其細粒度搜索,MindSearch 提供了更詳細和恰當的響應
表 1:在各種封閉集問答任務上的性能比較。論文選擇了兩個具有代表性的大型語言模型(LLMs):GPT-4o(閉源)和 InternLM2.5-7b-chat(開源)
除了定量結果外,論文還提供了 Perplexity.ai(Pro)與 MindSearch 之間的定性響應比較,以直觀地理解它們的性能。從圖 5 中,論文可以觀察到 MindSearch 產生了更具體和詳細的響應。論文實證發現,更好的響應可以歸因于與 Perplexity.ai 相比更恰當的規劃搜索路徑,這也表明如何分解人類意圖是最終問題的關鍵步驟。
2.3.2 封閉集問答
2.3.2.1實施細節?
論文在廣泛的封閉集問答任務上廣泛評估了論文的方法,包括 Bamboogle、Musique和 HotpotQA。為了進一步驗證論文方法的泛化性,論文選擇了閉源 LLM(GPT-4o)和開源 LLM(InternLM2.5-7b-chat)作為論文的 LLM 后端。由于論文的方法采用零樣本實驗設置,論文利用主觀 LLM 評估器(GPT4-o)來評估 HotpotQA 的正確性。
2.3.2.2 結果與分析
在表1中,論文將論文的方法與兩種直接的基線方法進行了比較:不使用搜索引擎的原始LLM(w/o Search Engine),以及簡單地將搜索引擎視為外部工具并采用ReAct風格交互的方法(ReAct Search)。論文可以得出結論,MindSearch顯著優于其原始基線方法,驗證了所提出方法的有效性。當從閉源LLM轉移到開源LLM時,這些優勢進一步放大,這進一步證明了MindSeach提供了一種簡單的方法來增強弱LLM的知識廣度并緩解幻覺問題。
?
本文轉載自 ??AI帝國???,作者: 無影寺
