Search版o1:推理過程會主動查資料,整體性能優於人類專家,清華人大出品

衡宇 白小交 發自 凹非寺

量子位 | 公眾號 QbitAI

一個新框架,讓Qwen版o1成績暴漲

在博士級別的科學問答、數學、代碼能力的11項評測中,能力顯著提升,拿下10個第一!

這就是人大、清華聯手推出的最新「Agentic搜索增強推理模型框架」Search-o1的特別之處。

項目團隊成員發現,o1和o1類模型在推理過程中表現突出,但卻存在「知識不足」的明顯缺陷——

推理步驟太長/模型知識不足時,推理過程就很容易卡殼,導致推理鏈中的錯誤傳遞。而其中任何知識誤差都可能破壞整個推理鏈,最終對答案的正確性造成影響。

好著急,在線等,怎麼辦?

Search-o1的解題思路是:暫停推理,去搜索查找缺少的知識/資料,然後再回來繼續推理。

就像咱人類思考不明白,就去查查資料,然後就想明白了似的。

研究者在初步實驗中發現,類o1推理模型在處理複雜問題時,平均每個推理過程中會出現超過30次的不確定詞彙,be like「或許」「可能」等。

這不僅增加了推理的複雜性,還使得手動驗證推理過程變得更加困難。因此,如何在推理過程中自動補充所需知識,成為提升大型推理模型可信度的關鍵。

針對於此,而Search-o1的解決辦法是這樣的:

結合RAG和用於精煉檢索文檔的Reason-in-Documents模塊增強框架,將Agentic搜索工作流整合到推理過程中,旨在通過自主知識檢索,提升大型推理模型的可靠性和適用性。

如此一來,推理模型在遇到不確定的知識點時,就能都發揮主觀能動性板去檢索外部知識,同時保持整個過程的連貫性,讓自己的推理能力更進一步。

研究團隊做了廣泛的測試後發現,在科學、數學和編碼等複雜推理任務,以及六個開放領域QA基準測試中,Search-o1的表現杠杠的。

目前項目已開源,抱抱臉和GitHub可自取。按慣例,本文文末有指路直通車。

(特別註明:Search-o1框架使用的基礎模型是開源的QwQ-32B-Preview)

Search-o1新框架

其實自從o1問世後,原生推理「在遇到知識缺口時易出錯」這一問題就已經被擺到台前。

已經有很多團隊來嘗試解決上述問題,比如將策略和獎勵模型與蒙地卡羅樹搜索相結合(但這並沒有將推理內化到模型中);或者在訓練過程中將故意錯誤納入推理路徑,以部分內化這些能力;也有研究者選擇蒸餾訓練數據。

然而,這些方法受到對靜態參數化模型的依賴的限制,當內部知識不足時,這些模型無法利用外部世界的知識。

後來,又有研究團隊提出利用RAG,在推理模型中引入檢索機制,來解決生成模型中靜態參數的限制,允許訪問外部知識來解決更複雜的問題。

當出現不確定性時(例如化合物的結構),這種方法會生成有針對性的搜索查詢(例如,「反式肉桂醛的結構」);但是,檢索到的文檔通常包含冗長且不相關的信息,可能會破壞推理流程並損害連貫性。

因此,團隊提出Search-o1的核心動機,是通過自主檢索來增強具有類o1的推理模型。

Search-o1將推理模型的推理過程,和兩個核心組件集成在一起:

  • Reason-in-Documents模塊

  • Agentic RAG機制

Reason-in-Documents模塊

先來說說Reason-in-Documents模塊

在Search-o1框架中,當 agentic RAG機制檢索到的外部知識文檔可能冗長且包含冗餘信息,這些內容直接輸入給推理模型,可能會幹擾接下來的推理。

於是團隊就提出了Reason-in-Documents,這個模塊是獨立於主推理鏈的。

它的作用是基於當前搜索查詢、先前推理步驟和檢索文檔,先分析文檔生成中間推理序列,再生成與當前推理步驟高度相關的精煉知識,並整合到推理鏈。

按照規定的輸出格式,若文檔提供了有用信息,則以 「Final Information [Helpful information]」 的形式輸出精煉後的知識。

若未找到有用信息,則輸出 「Final Information No helpful information found.」。

以此來確保推理過程簡潔且專注,以及推理過程的連貫性和邏輯一致性。

Agentic RAG機制

再來說說Agentic RAG機制

Search-o1讓模型能夠在推理過程中,自主決定該在什麼時候檢索外部知識。

單個問題推理時,對於每個問題,Search-o1會先初始化推理序列q。

由於推理模型M生成推理鏈R,這個過程可能會生成封裝在特殊符號 <|begin_search_query|> 和 <|end_search_query|> 中的搜索查詢。

當檢測到 <|end_search_query|> 符號後,會提取相應的搜索查詢qsearch,觸發檢索函數Search以獲取相關的外部文檔D。

接著把外部文檔交由Reason-in-Documents模塊處理,然後把結果整合回推理鏈。

批量推理時,Search-o1會對這批問題創建推理序列集,並行生成tokens,檢索和精煉文檔後,更新推理鏈,提高系統處理多輸入的吞吐量。

上述的所有過程都能反復進行,確保模型在整個推理過程中,都能獲得所需的外部知識支持。

實驗設置與結果

為了驗證Search-o1的有效性,研究人員進行了廣泛的實驗,評估任務包括以下兩類:

第一種是複雜推理任務

包括PhD級別的科學問答(GPQA)數學(MATH500、AMC2023、AIME2024)代碼(LiveCodeBench)等。

Table 1數據顯示,在複雜推理任務中,所有的11個測試集上,Search-o1在其中10個任務上,都優於原生推理和傳統RAG方法。

僅有一項——LiveCodeBench之easy的成績57.7。

這個成績在Qwen2.5-Coder-32B和QwQ-32B上的表現低於原生推理,在RAG-Qwen2.5-32B、RAgent-QwQ-32B的比凹陷低於傳統RAG方法。

多提一嘴,項目論文中,研究團隊還展示了Search-o1與人類專家的比較。

研究者將Search-o1的性能和GPQA擴展集中各個領域的人類專家進行了比較人類,下面的Table 2展示的是專家在物理、化學、生物等各個學科的人類專家成績。

結果顯示,Search-o1在整體性能(57.9)物理學(68.7)和生物學(69.5)方面都優於人類專家。

不過在化學子領域落後於化學家,Search-o1是40.7,人類專家是72.6。

第二種是開放域問答基準,包括:

  • 單跳QA,如自然問題(NQ)、TriviaQA等。

  • 多跳QA,如HotpotQA、2WikiMultihopQA、MuSiQue、Bamboogle等。

Table 3數據顯示,Search-o1在多跳QA任務表現尤為突出,平均準確率提升了近30%,優於所有基線模型。

不過相比較而言,Search-o1在單跳任務上的成績提升不顯著。

研究人員在最後表示:

Reason-in-Documents模塊 + Agentic RAG機制,通過有效解決模型本身知識不足的問題,增強了推理模型的可信度和實用性。

在複雜問題解決場景中,Search-o1為更值得信賴和更有效的智能系統鋪平了道路

目前外網衝浪了一下,網民們表示對這個工作還是非常肯定的。

尤其是對它「模擬人類認知過程」和「增強推理模型推理能力」這倆方面。

作者團隊

Search-o1的通訊作者是人大高瓴人工智能學院的教授竇誌成

他從南開大學博士畢業後,先加入了MSRA擔任研究員,2014年9月份加入中國人民大學,並於2018年8月破格晉陞教授。

其餘的作者包括Xiaoxi Li,Guanting Dong, Jiajie Jin,Yuyao Zhang,Yujia Zhou,Yutao Zhu, Peitian Zhang。

其中,Yujia Zhou是團隊中唯一一個來自清華的同學(其餘都來自人大)

Zhou目前在清華大學任博士後研究員,與清華大學科研院院長、計算機科學與技術系教授劉奕群合作。

這位同學在人大取得博士學位,導師正是竇誌成。

arXiv:https://arxiv.org/abs/2501.05366

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

抱抱臉:https://huggingface.co/papers/2501.05366

參考鏈接:

[1]https://x.com/rohanpaul_ai/status/1880173989143921058

[2]https://www.cs.tsinghua.edu.cn/info/1121/3557.htm

[3]https://www.zhouyujia.cn/