DeepSearch代表工作

发布于:2025-05-17 ⋅ 阅读:(12) ⋅ 点赞:(0)

介绍下今年以来深度搜索相关的一些论文~

Search-o1

Search-o1: Agentic Search-Enhanced Large Reasoning Models

https://github.com/sunnynexus/Search-o1

简述

  • 背景
    LRM通常会有一个比较长的思考过程,生成很长的推理链,逐步地生成过程和最终答案。这种方式虽然提高了推理能力,但是常面临知识不足的问题,在推理链中产生不确定性,导致推理错误。论文中统计了不同方法生成的内容中“不确定性词”的频率,LRM和RAG中不确定性都很高。
  • 动机
    虽然已经有RAG了,但检索到的文档通常篇幅较长且包含冗余信息,直接将其输入到LRM可能会干扰原有的推理连贯性,甚至引入噪声。且RAG是单次检索,不一定能够为LRM提供足够的信息。
  • 方法
    提出了Search-o1,引入Agentic RAG机制和Reason-in-Documents模块来增强LRM的知识能力。使LRM在推理过程中动态地根据需要进检索。

方法

Search-o1的两个核心模块:

  • Agentic RAG。和朴素的RAG不同,可以执行多次,引导模型在缺少相关知识时主动进行search。
  • Reason-in-Documents。检索到的文档通常太长且冗余信息太多,模型也难以理解其中的内容。为了有效利用检索的的知识,在每次检索后会先分析检索到的文档,只把相关的信息放入推理链中。该模块是独立于模型的推理链的。

整体方法的框架如下图c所示:

  1. 相比普通的推理,增加了search过,避免模型乱猜,这就是论文中的Reason with Agentic RAG。这一模块使模型在需要外部知识时进行search。
  2. 在此基础上,增加了Reason-In-Documents,避免无用信息对推理过程的干扰,得到最终的Search-o1。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Search-o1的目标是为每个问题q生成一个全面的解决方案,包括逻辑推理链R和最终答案a,整个过程可以形式化为:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

从实现来看,这两个模块都是通过prompt实现的:

  • 模型生成时如果遇到不确定的知识点,则生成带查询的query,格式为<|begin_search_query|>query<|end_search_query|>。检测到该符号则提取query进行搜索。
  • 简化搜索到的文档。通过一个单独的模块,以prompt的方式分析检索到的文档,提取关键信息,然后以<|begin_search_result|>提炼后的检索内容<|end_search_result|>将其拼接会主推理链中继续生成。

可以看出,整个流程主要还是通过prompt实现的,Search-o1的batch推理伪代码如下所示:


网站公告

今日签到

点亮在社区的每一天
去签到