【新智元導(dǎo)讀】由普林斯頓和谷歌DeepMind聯(lián)合提出的全新「思維樹」框架,讓GPT-4可以自己提案、評估和決策,推理能力最高可提升1750%。
2022年,前谷歌大腦華人科學(xué)家Jason Wei在一篇思維鏈的開山之作中首次提出,CoT可以增強(qiáng)LLM的推理能力。但即便有了思維鏈,LLM有時也會在非常簡單的問題上犯錯。最近,來自普林斯頓大學(xué)和Google DeepMind研究人員提出了一種全新的語言模型推理框架——「思維樹」(ToT)。
ToT將當(dāng)前流行的「思維鏈」方法泛化到引導(dǎo)語言模型,并通過探索文本(思維)的連貫單元來解決問題的中間步驟。論文地址:https://arxiv.org/abs/2305.10601
項目地址:https://github.com/kyegomez/tree-of-thoughts· 分別進(jìn)行評估后,決定下一步的行動方案· 在必要時向前或向后追溯,以便實現(xiàn)進(jìn)行全局的決策論文實驗結(jié)果顯示,ToT顯著提高了LLM在三個新任務(wù)(24點游戲,創(chuàng)意寫作,迷你填字游戲)中的問題解決能力。比如,在24點游戲中,GPT-4只解決了4%的任務(wù),但ToT方法的成功率達(dá)到了74%。用于生成文本的大語言模型GPT、PaLM,現(xiàn)已經(jīng)證明能夠執(zhí)行各種廣泛的任務(wù)。所有這些模型取得進(jìn)步的基礎(chǔ)仍是最初用于生成文本的「自回歸機(jī)制」,以從左到右的方式一個接一個地進(jìn)行token級的決策。那么,這樣一個簡單的機(jī)制能否足以建立一個通向「解決通用問題的語言模型」?如果不是,哪些問題會挑戰(zhàn)當(dāng)前的范式,真正的替代機(jī)制應(yīng)該是什么?恰恰關(guān)于「人類認(rèn)知」的文獻(xiàn)為這個問題提供了一些線索。「雙重過程」模型的研究表明,人類有兩種決策模式:快速、自動、無意識模式——「系統(tǒng)1」和緩慢、深思熟慮、有意識模式——「系統(tǒng)2」。語言模型簡單關(guān)聯(lián)token級選擇可以讓人聯(lián)想到「系統(tǒng)1」,因此這種能力可能會從「系統(tǒng)2」規(guī)劃過程中增強(qiáng)。「系統(tǒng)1」可以讓LLM保持和探索當(dāng)前選擇的多種替代方案,而不僅僅是選擇一個,而「系統(tǒng)2」評估其當(dāng)前狀態(tài),并積極地預(yù)見、回溯以做出更全局的決策。為了設(shè)計這樣一個規(guī)劃過程,研究者便追溯到人工智能和認(rèn)知科學(xué)的起源,從科學(xué)家Newell、Shaw和Simon在20世紀(jì)50年代開始探索的規(guī)劃過程中汲取靈感。Newell及其同事將問題解決描述為「通過組合問題空間進(jìn)行搜索」,表示為一棵樹。一個真正的問題解決過程包括重復(fù)使用現(xiàn)有信息來探索,反過來,這將發(fā)現(xiàn)更多的信息,直到最終找到解決方法。
這個觀點突出了現(xiàn)有使用LLM解決通用問題方法的2個主要缺點:1. 局部來看,LLM沒有探索思維過程中的不同延續(xù)——樹的分支。2. 總的來看,LLM不包含任何類型的計劃、前瞻或回溯,來幫助評估這些不同的選擇。為了解決這些問題,研究者提出了用語言模型解決通用問題的思維樹框架(ToT),讓LLM可以探索多種思維推理路徑。
當(dāng)前,現(xiàn)有的方法,如IO、CoT、CoT-SC,通過采樣連續(xù)的語言序列進(jìn)行問題解決。而ToT主動維護(hù)了一個「思維樹」。每個矩形框代表一個思維,并且每個思維都是一個連貫的語言序列,作為解決問題的中間步驟。ToT將任何問題定義為在樹上進(jìn)行搜索,其中每個節(jié)點都是一個狀態(tài),表示到目前為止輸入和思維序列的部分解。ToT執(zhí)行一個具體任務(wù)時需要回答4個問題:如何將中間過程分解為思維步驟;如何從每個狀態(tài)生成潛在的想法;如何啟發(fā)性地評估狀態(tài);使用什么搜索算法。CoT在沒有明確分解的情況下連貫抽樣思維,而ToT利用問題的屬性來設(shè)計和分解中間的思維步驟。根據(jù)不同的問題,一個想法可以是幾個單詞(填字游戲) ,一條方程式(24點) ,或者一整段寫作計劃(創(chuàng)意寫作)。一般來說,一個想法應(yīng)該足夠「小」,以便LLM能夠產(chǎn)生有意義、多樣化的樣本。比如,生成一本完整的書通常太「大」而無法連貫 。但一個想法也應(yīng)該「大」,足以讓LLM能夠評估其解決問題的前景。例如,生成一個token通常太「小」而無法評估。給定樹狀態(tài),通過2種策略來為下一個思維步驟生成k個候選者。在思維空間豐富(比如每個想法都是一個段落),并且導(dǎo)致多樣性時,效果更好。(b)使用「proposal prompt」按順序提出想法:。這在思維空間受限制(比如每個思維只是一個詞或一行)時效果更好,因此在同一上下文中提出不同的想法可以避免重復(fù)。給定不同狀態(tài)的前沿,狀態(tài)評估器評估它們解決問題的進(jìn)展,作為搜索算法的啟發(fā)式算法,以確定哪些狀態(tài)需要繼續(xù)探索,以及以何種順序探索。雖然啟發(fā)式算法是解決搜索問題的標(biāo)準(zhǔn)方法,但它們通常是編程的(DeepBlue)或?qū)W習(xí)的(AlphaGo)。這里,研究者提出了第三種選擇,通過LLM有意識地推理狀態(tài)。在適用的情況下,這種深思熟慮的啟發(fā)式方法可以比程序規(guī)則更靈活,比學(xué)習(xí)模型更有效率。與思維生成器,研究人員也考慮2種策略來獨立或一起評估狀態(tài):對每個狀態(tài)獨立賦值;跨狀態(tài)投票。最后,在ToT框架中,人們可以根據(jù)樹的結(jié)構(gòu),即插即用不同的搜索算法。算法1——廣度優(yōu)先搜索(BFS),每一步維護(hù)一組b最有希望的狀態(tài)。算法2——深度優(yōu)先搜索(DFS),首先探索最有希望的狀態(tài),直到達(dá)到最終的輸出,或者狀態(tài)評估器認(rèn)為不可能從當(dāng)前的為閾值解決問題。在這兩種情況下,DFS都會回溯到s的父狀態(tài)以繼續(xù)探索。由上,LLM通過自我評估和有意識的決策,來實現(xiàn)啟發(fā)式搜索的方法是新穎的。
為此,團(tuán)隊提出了三個任務(wù)用于測試——即使是最先進(jìn)的語言模型GPT-4,在標(biāo)準(zhǔn)的IO提示或思維鏈(CoT)提示下,都是非常富有挑戰(zhàn)的。24點(Game of 24)
24點是一個數(shù)學(xué)推理游戲,目標(biāo)是使用4個數(shù)字和基本算術(shù)運(yùn)算(+-*/)來得到24。例如,給定輸入「4 9 10 13」,答案的輸出可能是「(10-4)*(13-9)=24」。團(tuán)隊將模型的思維過程分解為3個步驟,每個步驟都是一個中間方程。如圖2(a)所示,在每個節(jié)點上,提取「左邊」的數(shù)字并提示LLM生成可能的下一步。(每一步給出的「提議提示」都相同)其中,團(tuán)隊在ToT中進(jìn)行寬度優(yōu)先搜索(BFS),并在每一步都保留最好的b=5個候選項。如圖2(b)所示,提示LLM評估每個思維候選項是「肯定/可能/不可能」達(dá)到24?;凇高^大/過小」的常識消除不可能的部分解決方案,保留剩下的「可能」項。如表2所示,IO,CoT和CoT-SC提示方法在任務(wù)上的表現(xiàn)不佳,成功率僅為7.3%,4.0%和9.0%。相比之下,ToT在廣度為b=1時已經(jīng)達(dá)到了45%的成功率,而在b=5時達(dá)到了74%。團(tuán)隊還考慮了IO/CoT的預(yù)測設(shè)置,通過使用最佳的k個樣本(1≤k≤100)來計算成功率,并在圖3(a)中繪出5個成功率。不出所料,CoT比IO擴(kuò)展得更好,最佳的100個CoT樣本達(dá)到了49%的成功率,但仍然比在ToT中探索更多節(jié)點(b>1)要差。圖3(b)分析了CoT和ToT樣本在哪一步失敗了任務(wù),即思維(在CoT中)或所有b個思維(在ToT中)都是無效的或無法達(dá)到24。值得注意的是,大約60%的CoT樣本在第一步就已經(jīng)失敗了,或者說,是前三個詞(例如「4+9」)。創(chuàng)意寫作
接下來,團(tuán)隊設(shè)計了一個創(chuàng)意寫作任務(wù)。其中,輸入是四個隨機(jī)句子,輸出應(yīng)該是一個連貫的段落,每段都以四個輸入句子分別結(jié)束。這樣的任務(wù)開放且富有探索性,挑戰(zhàn)創(chuàng)造性思維以及高級規(guī)劃。值得注意的是,團(tuán)隊還在每個任務(wù)的隨機(jī)IO樣本上使用迭代-優(yōu)化(k≤5)方法,其中LLM基于輸入限制和最后生成的段落來判斷段落是否已經(jīng)「完全連貫」,如果不是,就生成一個優(yōu)化后的。團(tuán)隊構(gòu)建了一個深度為2(只有1個中間思維步驟)的ToT。LLM首先生成k=5的計劃并投票選擇最佳的一個(圖4),然后根據(jù)最佳計劃生成k=5的段落,然后投票選擇最佳的一個。一個簡單的zero-shot投票提示(「分析以下選擇,然后得出哪個最有可能實現(xiàn)指令」)被用來在兩個步驟中抽取5票。圖5(a)顯示了100個任務(wù)中的GPT-4平均分?jǐn)?shù),其中ToT(7.56)被認(rèn)為比IO(6.19)和CoT(6.93)平均生成更連貫的段落。雖然這樣的自動評測可能會有噪音,但圖5(b)通過顯示人類在100個段落對中有41個更喜歡ToT而只有21個更喜歡CoT(其他38對被認(rèn)為「同樣連貫」)來確認(rèn)這一發(fā)現(xiàn)。最后,迭代優(yōu)化在這個自然語言任務(wù)上更有效——將IO連貫性分?jǐn)?shù)從6.19提高到7.67,將ToT連貫性分?jǐn)?shù)從7.56提高到7.91。團(tuán)隊認(rèn)為它可以被看作是在ToT框架下生成思維的第三種方法,新的思維可以通過優(yōu)化舊的思維而產(chǎn)生,而不是i.i.d.或順序生成。迷你填字游戲
在24點游戲和創(chuàng)意寫作中,ToT相對較淺——最多需要3個思維步驟就能完成輸出。最后,團(tuán)隊決定通過5×5的迷你填字游戲,來設(shè)置一個更難的問題。同樣,目標(biāo)不僅僅是解決任務(wù),而是研究LLM作為一個通用問題解決者的極限。通過窺視自己的思維,以有目的性的推理作為啟發(fā),來指導(dǎo)自己的探索。團(tuán)隊利用深度優(yōu)先搜索保持探索最有可能成功的后續(xù)單詞線索,直到狀態(tài)不再有希望,然后回溯到父狀態(tài)以探索替代的思維。為了使搜索可行,后續(xù)的思維被限制不改變?nèi)魏我烟顚懙膯卧~或字母,這樣ToT最多有10個中間步驟。對于思維生成,團(tuán)隊在每個狀態(tài)下將所有現(xiàn)有的思維(例如,「h2.motor; h1.tasks」對于圖6(a)中的狀態(tài))轉(zhuǎn)換為剩余線索的字母限制(例如,「v1.To heap: tm___;...」),從而得到下一個單詞填寫位置和內(nèi)容的候選。重要的是,團(tuán)隊也提示LLM給出不同思維的置信度,并在提案中匯總這些以獲得下一個要探索的思維的排序列表(圖6(a))。對于狀態(tài)評估,團(tuán)隊類似地將每個狀態(tài)轉(zhuǎn)換為剩余線索的字母限制,然后評估每個線索是否可能在給定限制下填寫。如果任何剩余的線索被認(rèn)為是「不可能」的(例如,「v1. To heap: tm_s_」),那么該狀態(tài)的子樹的探索就被剪枝,并且DFS回溯到其父節(jié)點來探索下一個可能的候選。如表3所示,IO和CoT的提示方法在單詞級成功率上表現(xiàn)不佳,低于16%,而ToT顯著改善了所有指標(biāo),實現(xiàn)了60%的單詞級成功率,并解決了20個游戲中的4個。鑒于IO和CoT缺乏嘗試不同線索、改變決策或回溯的機(jī)制,這種改善并不令人驚訝。局限性與結(jié)論
ToT是一個讓LLM可以更自主、更智能地做決策和解決問題的框架。它提高了模型決策的可解釋性以及與人類對齊的機(jī)會,因為ToT所生成的表征表形式是可讀的、高級的語言推理,而不是隱式的、低級的token值。對于那些GPT-4已經(jīng)十分擅長的任務(wù)來說,ToT可能并是不必要的。此外,像ToT這樣的搜索方法需要更多的資源(如GPT-4 API成本)來提高任務(wù)性能,但ToT的模塊化靈活性讓用戶可以自定義這種性能-成本平衡。不過,隨著LLM被用于更多真實世界的決策應(yīng)用(如編程、數(shù)據(jù)分析、機(jī)器人技術(shù)等),ToT可以為研究那些即將出現(xiàn)的更為復(fù)雜的任務(wù),提供新的機(jī)會。
論文一作Shunyu Yao是普林斯頓大學(xué)的四年級博士生,此前畢業(yè)于清華大學(xué)的姚班。他的研究方向是在語言智能體與世界之間建立互動,例如玩文字游戲(CALM),網(wǎng)上購物(WebShop),瀏覽維基百科進(jìn)行推理(ReAct),或者,基于同樣的想法,用任何工具來完成任何任務(wù)。Dian Yu是Google DeepMind的一名研究科學(xué)家。此前,他在加州大學(xué)戴維斯分校獲得了博士學(xué)位,并在紐約大學(xué)獲得了學(xué)士學(xué)位,雙主修計算機(jī)科學(xué)和金融(還有一點表演)。他的研究興趣是語言的屬性表征,以及多語言和多模態(tài)的理解,主要專注于對話研究(包括開放領(lǐng)域和任務(wù)導(dǎo)向)。Yuan Cao也是Google DeepMind的一名研究科學(xué)家。此前,他在上海交通大學(xué)獲得了學(xué)士和碩士學(xué)位,并在約翰斯·霍普金斯大學(xué)獲得了博士學(xué)位。還曾擔(dān)任過百度的首席架構(gòu)師。Jeffrey Zhao是Google DeepMind的軟件工程師。此前,他在卡內(nèi)基梅隆大學(xué)獲得了學(xué)士和碩士學(xué)位。https://arxiv.org/abs/2305.10601
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。