MindSearch 思·索: 模仿人类思维引发深度AI搜索

24年7月来自中科大和上海AI实验室的论文“MindSearch 思·索: Mimicking Human Minds Elicits Deep AI Searcher“。

信息查找与整合是一项复杂的认知任务,耗费大量时间和精力。搜索引擎重塑信息查找的方式,但往往与人类的复杂意图不符。受到大语言模型 (LLM) 显著进步的启发,近期的研究尝试将 LLM 与搜索引擎相结合来解决信息查找与整合任务。然而,这些方法仍然无法获得令人满意的效果,原因在于三个挑战:(1)复杂请求通常无法被搜索引擎一次准确完整地检索到​​;(2)待整合的相应信息分布在多个网页上,且伴有大量噪音;(3)大量长内容网页可能很快超出 LLM 的最大上下文长度。

受到人类解决这些问题认知过程的启发,MindSearch(思·索)模仿人类在网络信息查找与整合中的思维,它可以通过一个简单而有效的基于 LLM 多智能体框架来实例化,该框架由 WebPlanner 和 WebSearcher 组成。 WebPlanner 将人类信息搜索多步思维建模为动态图构建过程:将用户查询分解为原子问题作为图中的节点,并根据 WebSearcher 的搜索结果逐步扩展图。WebSearcher 负责每个原子问题,使用搜索引擎执行分层信息检索,并为 WebPlanner 收集有价值的信息。MindSearch 的多智体设计使整个框架能够在 3 分钟内从更大规模(例如超过 300 个)网页并行搜索和整合信息,这相当于人类 3 小时的努力。基于 GPT-4o 或 InternLM2.5-7B 模型,MindSearch 在闭集和开集 QA 问题的深度和广度方面均表现出响应质量的显着提升。此外,基于 InternLM2.5-7B,MindSearch 的响应比 ChatGPT-Web(由 GPT-4o 提供)和 Perplexity.ai 应用程序更受青睐,这意味着使用开源模型的 MindSearch 已经可以为专有 AI 搜索引擎提供有竞争力的解决方案。

代码和模型下载 GitHub - InternLM/MindSearch。

LLM 和搜索引擎的互补优势凸显了两者结合的诱人机会,其中 LLM 的推理能力可以通过搜索引擎访问的大量网络信息得到补充,从而有可能彻底改变网络信息搜索和集成的解决方案。以前的研究(Asai,2023;Chan,2024)简单地将信息搜索和集成任务视为普通的检索增强生成 (RAG) 任务(Chen,2017;Lin,2023)。这种表述虽然简单明了,但由于对基于网络信息检索的深度和复杂性的肤浅参与,通常会导致性能不佳。

如图MindSearch 的整体框架。它由两个主要部分组成:WebPlanner 和 WebSearcher。WebPlanner 充当高级规划器,协调推理步骤和多个 WebSearcher。WebSearcher 进行细粒度的 Web 搜索,并将有价值的信息汇总回规划器,从而形成一个简单而有效的多智体框架。

请添加图片描述

WebPlanner 充当高级规划器,编排推理步骤并协调其他智体。然而,仅仅提示 LLM 规划整个数据工作流架构并不能产生令人满意的性能。具体来说,当前的 LLM 难以分解复杂问题并理解其拓扑关系,导致搜索查询粗粒度。这种方法没有充分利用 LLM 作为人类和搜索引擎之间中介的潜力,将人类意图转化为逐步的搜索任务并提供准确的响应。

为了增强 LLM 解决复杂问题的能力,将问题解决过程建模为有向无环图 (DAG)。给定用户问题 Q,解决方案轨迹表示为 G(Q) = ⟨V, E⟩,其中 V 是一组节点 v,每个节点代表一个独立的网络搜索,包括辅助 “START” 节点(初始问题)和 “END” 节点(最终答案)。E 表示有向边,表示节点(搜索内容)之间的推理拓扑关系。这种 DAG 形式化捕获了寻找最佳执行路径的复杂性,为 LLM 提供了更正式、更直观的表示。

利用当前 LLM 在代码任务上的卓越性能(Guo,2024;Roziere,2023),明确提示模型通过编写代码与图进行交互。为此,预定义原子代码函数向图中添加节点或边。每次,LLM 首先读取整个对话,包括先前生成的代码和网络搜索结果,然后输出想法和新代码以在思维图(GoT)上进行推理,该图使用 Python 解释器执行。在执行过程中,一旦将节点添加到推理图,它就会调用 WebSearcher 来执行搜索过程并汇总信息。由于新添加的节点仅依赖于前面步骤中生成的节点,因此可以并行化以实现更快的信息聚合速度。当所有信息都收集完毕后,规划器通过添加结束节点生成最终响应。

通过与 Python 解释器集成,WebPlanner 通过统一的代码行动与图交互,动态构建推理路径。这种“代码即规划”流程使 LLM 能够充分利用其卓越的代码生成能力,有利于长上下文场景中的控制和数据流,并在解决复杂问题时获得更好的性能。
WebSearcher 充当具有互联网访问权限的复杂 RAG(检索和生成)智体,根据搜索结果总结有价值的响应,如图所示,包括四个步骤:查询重写、搜索内容聚合、详细页面选择和最终总结。

请添加图片描述

由于网络上有大量内容,LLM 很难在有限的上下文长度(例如 8K 个tokens)内处理所有相关页面。为了解决这个问题,采用一种简单的由粗到细的选择策略。最初,LLM 根据 WebPlanner 分配的问题生成几个类似的查询,以扩大搜索内容,从而提高相关信息的召回率。然后通过各种搜索 API(例如 Google、Bing 和 DuckDuckGo)执行这些查询,这些 API 返回包括网页 URL、标题和摘要在内的关键内容。搜索结果会根据网页 URL 自动合并,并提示 LLM 选择最有价值的页面进行详细阅读。然后将所选网页 URL 的完整内容添加到 LLM 的输入中。阅读这些结果后,LLM 会根据搜索结果生成响应回答原始问题。这种分层检索方法大大降低浏览海量网页的难度,并可以有效地提取高度相关的详细信息。

MindSearch 为复杂的信息搜索和与搜索引擎的集成提供了一个简单的多智体解决方案。这样的范式也自然而然地实现了不同智体之间的长上下文管理,从而提高了框架的整体效率,尤其是在需要模型快速读取大量网页的情况下。由于 WebPlanner 将搜索任务分配到单独的搜索智体中,并且仅依赖于 WebSearcher 的搜索结果,因此 WebPlanner 可以纯粹专注于用户问题的分解和分析,而不会被过长的网页搜索结果分散注意力。同时,每个 WebSearcher 只需要搜索其任务子查询的内容,而不会被其他内容分散注意力。

由于明确的角色分配,MindSearch 大大减少了整个过程中的上下文计算,为 LLM 的长上下文任务提供了有效的上下文管理解决方案。这样的多智体框架还为训练单个 LLM 提供了一个直接而简单的长上下文任务构建流水线,这也在 (Team, 2024) 中有所体现。最终,MindSearch 在不到 3 分钟的时间内收集并整合了来自 300 多个页面的相关信息,而人类专家可能需要大约 3 小时才能完成类似的认知工作量。

由于多智体之间显式的上下文状态传输,需要在整个工作流中小心处理上下文。由于搜索智体内部的局部感受野,简单地关注来自 Planner 的分解查询,可能会在信息收集阶段丢失有用的信息。如何有效地处理多智体之间的上下文并非易事。通过有向图边缘构建的拓扑关系,有助于轻松处理不同智体之间的上下文。更具体地说,在执行每个搜索智体时,只需在其父节点和根节点的响应前加上前缀。因此,每个 WebSearcher 都可以有效地专注于其子任务,而不会丢失先前的相关上下文以及最终目标。

为了更好地衡量实用性和搜索性能,挑选 100 个现实世界的人类查询,并从 MindSearch(InternLM2.5-7b-chat(Cai,2024))、Perplexity.ai(其专业版)和带有搜索插件的 ChatGPT (Achiam 2023)收集回复。五位人类专家从以下三个方面手动选择他们喜欢的答案:
深度:深度是指答案的彻底性和深度。有深度的回答提供了详细的信息,并深入探讨了问题的复杂性。
广度:广度与答案涵盖的范围和多样性有关。广度的回答涉及问题的各个方面或多个相关领域,提供不同的观点或解决方案。
事实性:事实性是答案的准确性和基于事实的程度。应以可靠的数据和信息为基础,避免错误或误导性内容,确保所提供信息的真实性和可信性。

最终结果以多数票决定。在评估过程中,答案与方法的对应关系对评估者来说是不可见的,以保证公平性。

如下是主观评估结果:

请添加图片描述

  • 21
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值