人大清華提出自主搜索版「Search-o1」!解決知識(shí)困境,大幅提升推理模型可靠性
自O(shè)penAI發(fā)布o(jì)1以來(lái),如何復(fù)現(xiàn)并改進(jìn)o1就成為了LLM研究的焦點(diǎn)。
盡管以O(shè)penAI-o1、Qwen-QwQ和DeepSeek-R1為代表的推理模型,其推理能力已然震驚四座,但由于在長(zhǎng)鏈推理過(guò)程中仍然面臨著「知識(shí)不足」的問(wèn)題,導(dǎo)致這些模型在推理過(guò)程還包含著一些不確定性和潛在錯(cuò)誤。
類似于OpenAI-o1在處理復(fù)雜問(wèn)題時(shí),每次推理過(guò)程中平均會(huì)遇到超過(guò)30個(gè)不確定術(shù)語(yǔ)實(shí)例,如「或許」和「可能」。這不僅增加了推理的復(fù)雜性,還使得手動(dòng)驗(yàn)證推理過(guò)程更具挑戰(zhàn)性。
因此,自動(dòng)化補(bǔ)充推理過(guò)程中所需知識(shí)對(duì)于提升大型推理模型的可信度變得至關(guān)重要。
為了解決這一問(wèn)題,人大高瓴攜手清華團(tuán)隊(duì)提出了Search-o1框架。該框架通過(guò)集成自主檢索增強(qiáng)生成(Agentic Retrieval-Augmented Generation)機(jī)制和文檔內(nèi)推理(Reason-in-Documents)模塊,解決了大型推理模型(LRMs)固有的知識(shí)不足問(wèn)題。
同時(shí)也使得LRMs能夠在推理過(guò)程中自主檢索并無(wú)縫整合外部知識(shí),從而提升其長(zhǎng)步驟推理能力的準(zhǔn)確性和連貫性。在科學(xué)、數(shù)學(xué)、編程等多樣復(fù)雜推理任務(wù)以及多個(gè)開(kāi)放域問(wèn)答基準(zhǔn)上的全面實(shí)驗(yàn)表明,Search-o1 始終優(yōu)于現(xiàn)有的檢索增強(qiáng)和直接推理方法。
值得注意的是,Search-o1 不僅在處理復(fù)雜推理挑戰(zhàn)上超越了基線模型,還在特定領(lǐng)域達(dá)到了與人類專家相當(dāng)甚至超越的表現(xiàn)水平。
圖片
論文鏈接:https://arxiv.org/abs/2501.05366
如下圖所示,在對(duì)比推理過(guò)程中出現(xiàn)的不確定性詞語(yǔ)的平均次數(shù)時(shí),Search-o1明顯比直接進(jìn)行推理的模型要低,尤其是「alternatively」出現(xiàn)的次數(shù)甚至還不到后者的一半。
高頻不確定詞出現(xiàn)次數(shù)對(duì)比
同時(shí)Search-o1也明顯低于標(biāo)準(zhǔn)RAG。因?yàn)闃?biāo)準(zhǔn)RAG僅以問(wèn)題導(dǎo)向的方式檢索一次相關(guān)知識(shí),而在復(fù)雜推理場(chǎng)景中,每一步所需的知識(shí)往往是多樣且多變的。
與它們不同,Search-o1采用了一種代理式RAG技術(shù),指導(dǎo)模型在面對(duì)知識(shí)短缺時(shí)主動(dòng)解碼去搜索查詢,從而觸發(fā)檢索機(jī)制以獲取相關(guān)外部知識(shí)。得益于這一設(shè)計(jì)的優(yōu)勢(shì),Search-o1的檢索機(jī)制可以在一次推理會(huì)話中多次觸發(fā)和迭代,以滿足各種推理步驟的知識(shí)需求。
框架介紹
研究者將以下三種推理范式做了一個(gè)流程概述的對(duì)比:
- 原始推理模式:考慮下圖(a)中的例子,其任務(wù)為確定三步化學(xué)反應(yīng)最終產(chǎn)物中的碳原子數(shù)量。然而當(dāng)遇到知識(shí)空白時(shí),例如「反式肉桂醛的結(jié)構(gòu)」,原始推理方法就會(huì)失效。因?yàn)樵跓o(wú)法獲取準(zhǔn)確信息的情況下,模型必須依賴假設(shè),這就可能導(dǎo)致后續(xù)推理步驟中產(chǎn)生連環(huán)錯(cuò)誤。
- 代理式RAG:為了在推理過(guò)程中彌合知識(shí)差距,圖(b)代理式RAG機(jī)制能夠使模型在需要時(shí)自主檢索外部知識(shí)。當(dāng)出現(xiàn)不確定性時(shí),例如關(guān)于化合物結(jié)構(gòu)的問(wèn)題,模型則會(huì)生成有針對(duì)性的搜索查詢。然而,直接處理檢索到的文檔(這些文檔通常包含冗長(zhǎng)且不相關(guān)的信息)可能會(huì)打斷推理流程并影響連貫性。
- Search-o1:Search-o1框架(圖(c))通過(guò)整合一個(gè)「文檔內(nèi)推理」模塊擴(kuò)展了代理式RAG機(jī)制。該模塊將檢索到的文檔內(nèi)容濃縮為聚焦的推理步驟,這些步驟在保持推理鏈邏輯流暢的同時(shí),融入了外部知識(shí)。它考慮當(dāng)前搜索查詢、檢索到的文檔以及現(xiàn)有的推理鏈,以生成連貫的步驟。這一迭代過(guò)程持續(xù)進(jìn)行,直至得出最終答案。
三種框架的概述對(duì)比
簡(jiǎn)要來(lái)講,Search-o1推理首先將任務(wù)指令與具體問(wèn)題相結(jié)合。當(dāng)推理模型生成推理鏈時(shí),可能會(huì)創(chuàng)建帶有特殊符號(hào)標(biāo)記的搜索查詢。
檢測(cè)到搜索查詢后,接著會(huì)觸發(fā)對(duì)相關(guān)外部文檔的檢索。這些文檔隨后由文檔內(nèi)推理模塊處理,提取并精煉必要信息。
精煉后的知識(shí)被重新整合到推理鏈中,確保模型在保持連貫和邏輯流程的同時(shí),融入關(guān)鍵的外部信息,最終實(shí)現(xiàn)全面的推理過(guò)程并得出最終答案。
研究者將推理模型的目標(biāo)定義為生成每個(gè)問(wèn)題q的全面解決方案,包括邏輯推理鏈?和最終答案a,并使推理模型能夠在推理過(guò)程中利用外部知識(shí)源。
圖片
如上述算法流程圖所示:對(duì)于每個(gè)問(wèn)題,Search-o1推理首先通過(guò)將任務(wù)指令I(lǐng)與特定問(wèn)題q連接來(lái)初始化推理序列。隨著推理模型?生成推理鏈?,它可能會(huì)產(chǎn)生封裝在特殊符號(hào)<|begin_search_query|>和<|end_search_query|>之間的搜索查詢。
一旦檢測(cè)到符號(hào),相應(yīng)的搜索查詢會(huì)被提取出來(lái),觸發(fā)檢索函數(shù)Search以獲取相關(guān)的外部文檔??。
這些檢索到的文檔,連同文檔內(nèi)推理指令和當(dāng)前的推理序列?,隨后由文檔內(nèi)推理模塊處理。該模塊將原始文檔提煉為簡(jiǎn)潔、相關(guān)的信息
,并無(wú)縫地將其整合回推理鏈?中的符號(hào)和內(nèi)。這一迭代過(guò)程確保了推理模型在保持連貫性和邏輯一致性的同時(shí),融入必要的外部知識(shí),從而生成全面的推理鏈 ? 和最終答案a。
具體而言,研究者在問(wèn)題解決過(guò)程中考慮三個(gè)主要輸入:任務(wù)指令I(lǐng) 、問(wèn)題q和外部檢索的文檔??。其中,I提供了推理任務(wù)的總體描述,q是要回答的具體復(fù)雜問(wèn)題,??包括從相關(guān)知識(shí)庫(kù)動(dòng)態(tài)檢索的背景知識(shí)。
目標(biāo)是設(shè)計(jì)一種推理機(jī)制,有效整合I、q和??,以生成連貫的推理鏈?和最終答案a。這可以形式化為映射(I,q,??)→(?,a)。推理序列和最終答案的生成可表示為:
圖片
其中Tr是推理序列?中的標(biāo)記數(shù)量。位置t處的標(biāo)記是?t,而?<t表示在位置t之前生成的所有標(biāo)記。??≤t表示在推理鏈中直到標(biāo)記t為止檢索到的所有文檔。同樣地,Ta是答案序列a的長(zhǎng)度,at是位置t處的標(biāo)記,a<t表示在位置t之前生成的所有答案標(biāo)記。
代理檢索增強(qiáng)生成機(jī)制
代理式RAG機(jī)制是Search-o1框架的關(guān)鍵組成部分,它賦予推理模型在推理過(guò)程中自主決定何時(shí)檢索外部知識(shí)的能力。該機(jī)制使得模型能夠自行決定是繼續(xù)生成推理步驟還是啟動(dòng)檢索步驟。
在生成推理鏈?的過(guò)程中,模型可能會(huì)在特殊符號(hào)<|begin_search_query|>與<|end_search_query|>之間,間歇性地生成搜索查詢,其中i索引第i個(gè)搜索步驟。每個(gè)搜索查詢都是基于當(dāng)前推理過(guò)程的狀態(tài)和先前檢索到的知識(shí)生成的。每個(gè)搜索查詢的生成表示為:
其中是第i個(gè)搜索查詢的長(zhǎng)度,
表示在第i個(gè)搜索查詢的第t步生成的令牌,?(i?1)表示在第i個(gè)搜索步驟之前的所有推理步驟,包括搜索查詢和搜索結(jié)果。
一旦在推理序列中檢測(cè)到用于搜索查詢的一對(duì)新特殊符號(hào),就需要暫停推理過(guò)程,并提取搜索查詢。調(diào)用檢索函數(shù) Search 以獲取相關(guān)文檔:
其中表示針對(duì)第i個(gè)搜索查詢檢索到的前ki個(gè)相關(guān)文檔的集合。檢索到的文檔??(i)隨后被注入到特殊符號(hào)之間的推理鏈 ?(i?1) 中,使推理模型能夠利用外部知識(shí)繼續(xù)推理過(guò)程。
文檔內(nèi)推理實(shí)現(xiàn)知識(shí)精煉
盡管代理RAG機(jī)制解決了推理中的知識(shí)缺口,但直接插入完整文檔可能會(huì)因其長(zhǎng)度和冗余而破壞連貫性。
為此Search-o1框架包含了知識(shí)精煉模塊,該模塊通過(guò)使用原始推理模型的獨(dú)立生成過(guò)程,選擇性地將相關(guān)且簡(jiǎn)潔的信息整合到推理鏈中。
此模塊處理檢索到的文檔,使其與模型的特定推理需求對(duì)齊,將原始信息精煉為僅相關(guān)的簡(jiǎn)潔知識(shí),同時(shí)保持主推理鏈的連貫性和邏輯一致性。
對(duì)于每個(gè)搜索步驟i,令表示在第i次搜索查詢之前積累的推理鏈。給定
、當(dāng)前搜索查詢
和檢索到的文檔
,知識(shí)精煉過(guò)程分為兩個(gè)階段:首先生成中間推理序列
以分析檢索到的文檔,然后基于此分析生成精煉后的知識(shí)
。中間推理序列
的生成表達(dá)為:
然后基于此分析生成精煉知識(shí):
隨后,精煉知識(shí)被整合到推理鏈?(i)中,使模型能夠繼續(xù)生成連貫的推理步驟,并訪問(wèn)外部知識(shí)。
其中表示截至第i?(t)搜索步驟之前所有已提煉的知識(shí)。這種精煉的知識(shí)整合確保了每個(gè)推理步驟都能訪問(wèn)相關(guān)的外部信息,同時(shí)保持推理過(guò)程的簡(jiǎn)潔性和專注性。
實(shí)驗(yàn)評(píng)估
Search-o1采用QwQ-32B-Preview作為backbone,進(jìn)行基線實(shí)驗(yàn)。本實(shí)驗(yàn)的評(píng)估涵蓋兩類任務(wù)與數(shù)據(jù)集:高難度推理任務(wù)和開(kāi)放領(lǐng)域問(wèn)答任務(wù)。
高難度推理任務(wù)涉及以下三個(gè)數(shù)據(jù)集:
1. GPQA:這是一個(gè)博士級(jí)別的科學(xué)問(wèn)答數(shù)據(jù)集,其中的問(wèn)題均由領(lǐng)域?qū)<揖帉?,主要用于評(píng)估模型在復(fù)雜科學(xué)推理方面的表現(xiàn)。
2. 數(shù)學(xué)基準(zhǔn)測(cè)試:旨在考察模型在不同難度數(shù)學(xué)推理任務(wù)中的能力表現(xiàn)。
3. LiveCodeBench:該數(shù)據(jù)集用于評(píng)估LLM的編碼能力。
開(kāi)放領(lǐng)域問(wèn)答任務(wù)可分為單跳問(wèn)答和多跳問(wèn)答兩類。單跳問(wèn)答主要考查模型對(duì)單一信息源的理解能力。多跳問(wèn)答目的是評(píng)估模型在跨段落、多信息源進(jìn)行推理時(shí)的綜合能力。
Search-o1在復(fù)雜推理任務(wù)的表現(xiàn)
在上述表格中我們可以發(fā)現(xiàn):
QwQ-32B-Preview優(yōu)勢(shì)顯著,無(wú)論有無(wú)檢索,它都強(qiáng)于傳統(tǒng)指令微調(diào)的大語(yǔ)言模型。在直接推理時(shí),32B的QwQ模型比Qwen2.5-72B、Llama3.3-70B等更大模型表現(xiàn)還好,表明o1類長(zhǎng)CoT方法在復(fù)雜推理的有效性。
RAgent-QwQ-32B表現(xiàn)突出,其智能體檢索機(jī)制可自主補(bǔ)充推理知識(shí),多數(shù)任務(wù)中優(yōu)于標(biāo)準(zhǔn)RAG模型和直接推理的QwQ-32B。但非推理模型Qwen2.5-32B 用智能體RAG時(shí),在GPQA與標(biāo)準(zhǔn)RAG持平,數(shù)學(xué)和代碼任務(wù)卻下降,說(shuō)明普通LLM難以用檢索解決復(fù)雜推理。
Search-o1性能卓越,在多數(shù)任務(wù)中超越RAgent-QwQ-32B。平均來(lái)看,它比RAgent-QwQ-32B和QwQ-32B分別高4.7%和3.1%,比非推理模型Qwen2.5-32B和Llama3.3-70B分別高出44.7%和39.3%。
檢索文檔數(shù)量的擴(kuò)展分析
在本次實(shí)驗(yàn)里,我們探究了性能如何隨著檢索文檔數(shù)量的改變而變化,相關(guān)結(jié)果呈現(xiàn)在下圖中。
實(shí)驗(yàn)結(jié)果顯示,Search-o1能高效利用逐步增多的檢索文檔。隨著文檔數(shù)量增加,它在處理復(fù)雜推理任務(wù)時(shí),性能得到顯著提升。
值得關(guān)注的是,即便Search-o1僅檢索一個(gè)文檔,其整體性能也優(yōu)于直接推理(Direct Reasoning),以及使用十個(gè)檢索文檔的標(biāo)準(zhǔn)RAG模型。
這一結(jié)果進(jìn)一步證實(shí)了代理型搜索(Agentic Search)與文檔內(nèi)推理(Reason-in-Documents)策略行之有效。
推理中使用的top-k檢索文檔的擴(kuò)展分析
與人類專家的比較
作者在GPQA擴(kuò)展集中將 Search-o1 的性能與各領(lǐng)域的人類專家進(jìn)行了比較。下表展示了來(lái)自物理學(xué)、化學(xué)和生物學(xué)等多個(gè)學(xué)科的人類專家評(píng)估結(jié)果。
Search-o1模型在整體性能(57.9)以及物理學(xué)(68.7)和生物學(xué)(69.5)方面均優(yōu)于人類專家,展示了其在處理復(fù)雜推理任務(wù)上的卓越能力。盡管Search-o1在化學(xué)子領(lǐng)域(40.7vs.72.6)遜于化學(xué)家,但總體上仍具有競(jìng)爭(zhēng)優(yōu)勢(shì),特別是在跨多個(gè)領(lǐng)域的通用性能方面。
這凸顯了Search-o1在利用文檔檢索和推理實(shí)現(xiàn)跨領(lǐng)域性能方面的有效性,其表現(xiàn)可與專家級(jí)能力相媲美甚至超越。
這些發(fā)現(xiàn)也揭示了Search-o1在顯著提高LRMs的可靠性和多功能性方面的潛力,為復(fù)雜問(wèn)題解決場(chǎng)景中更可信、更有效的智能系統(tǒng)實(shí)現(xiàn)鋪平了道路。
參考資料: