0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一種完全由LLM + 啟發(fā)式搜索算法結(jié)合的TOT算法

深度學(xué)習(xí)自然語(yǔ)言處理 ? 來(lái)源:深度學(xué)習(xí)自然語(yǔ)言處理 ? 2023-06-29 10:06 ? 次閱讀

今天分享一篇普林斯頓大學(xué)的一篇文章,Tree of Thoughts: Deliberate Problem Solving with Large Language Models[1]:思維之樹:用大型語(yǔ)言模型解決復(fù)雜問(wèn)題。

這篇工作還是非常有借鑒意義的,OpenAI的Andrej Karpathy(前Tesla AI高級(jí)總監(jiān)、自動(dòng)駕駛Autopilot負(fù)責(zé)人)在state of gpt[2]中也分享了這篇文章,其可以通過(guò)搜索多條解決路徑,利用dfs以及bfs等算法,像人類一樣利用回溯、剪枝等策略來(lái)思考和解決問(wèn)題,可以讓GPT-4解決一些更復(fù)雜的推理問(wèn)題。

一、概述

Title:Tree of Thoughts: Deliberate Problem Solving with Large Language Models 論文地址:https://arxiv.org/abs/2305.10601 論文代碼:https://github.com/princeton-nlp/tree-of-thought-llm 非官方代碼:https://github.com/kyegomez/tree-of-thoughts

1 Motivation

大模型的推理過(guò)程是一個(gè)token級(jí)別的,從左到右的一個(gè)決策過(guò)程,對(duì)比人類的思考方式來(lái)說(shuō),有著非常大的局限(例如人類寫文章,寫著寫著發(fā)現(xiàn)寫錯(cuò)了,我們可以回過(guò)頭來(lái),重新修改前面的內(nèi)容,然后再繼續(xù)往后寫,而大模型LM不能這樣),這使得大模型在需要探索,全局分析(前瞻探索或者回溯),初步?jīng)Q策發(fā)揮關(guān)鍵作用的任務(wù)中效果不太好。

173553f2-15cc-11ee-962d-dac502259ad0.png

現(xiàn)有大模型的缺點(diǎn):1)局部性:現(xiàn)有LM模型不會(huì)在思維過(guò)程中探索不同的延續(xù),即不會(huì)去探索當(dāng)前節(jié)點(diǎn)的其他分支解決方案。2)缺乏全局性:大模型LM沒有納入任何類型的規(guī)劃、展望或回溯來(lái)幫助評(píng)估不同的選項(xiàng)。

人類推理特點(diǎn):可以重復(fù)使用可用的信息來(lái)進(jìn)行啟發(fā)式的探索,促使挖掘出更多真正有用的信息,找到最終的解決方案。

2 Methods

1740b648-15cc-11ee-962d-dac502259ad0.png

提出了Tree of Thoughts(ToT)方法:其允許LM通過(guò)考慮多種不同的推理路徑并且能進(jìn)行自我評(píng)估選擇來(lái)決定下一步行動(dòng),并在必要時(shí)looking ahead或回溯以做出全局選擇(可以用dfs或者bfs等方法做全局探索),從而進(jìn)行深思熟慮的決策。

主要通過(guò)Thought decomposition【thought分解】,Thought generator【thought生成】,State evaluator【狀態(tài)評(píng)估】,Search algorithm【搜索算法】四個(gè)步驟完成,詳情如下。

2.1 Thought decomposition【thought分解】

目的:如何將中間過(guò)程分解成一個(gè)思維步驟【不同任務(wù)的thought steps怎么設(shè)計(jì)比較好】

174c131c-15cc-11ee-962d-dac502259ad0.png

方法:不同的任務(wù),中間的思考過(guò)程thought可能不同,例如可能是幾個(gè)words(Crosswords填字謎游戲),可能是一個(gè)equation(24點(diǎn)游戲),也可能是一個(gè)paragraph(創(chuàng)意文本生成),設(shè)計(jì)thoughts可以有幾個(gè)原則:

不能太大:這樣LM可以生成有前景的、多樣性的候選樣本(例如一整本書就太大了)

不能太?。?/strong>太小了LM不好評(píng)估其對(duì)最終解決問(wèn)題是否有幫助(例如只生成一個(gè)token,LM無(wú)法評(píng)估其是否有用)

2.2 Thought generator【thought生成】

背景:不同的任務(wù)Thought生成的原則也不太一樣,可以根據(jù)任務(wù)的特點(diǎn)制定thought生成的原則。

原則一:當(dāng)thought空間比較大【例如創(chuàng)意寫作,thought位一個(gè)段落】 => 可以用CoT prompt的方法來(lái)生成

例子一:【創(chuàng)意文本生成】thought生成方法:直接用COT方法提出多個(gè)Plans

175c658c-15cc-11ee-962d-dac502259ad0.png

原則二:當(dāng)thought空間比較小【例如只有幾個(gè)字(字謎游戲),或者只有一行(24點(diǎn)游戲)】 => 使用“propose prompt”依次提出想法,例如下面兩個(gè)例子:

【24點(diǎn)游戲】是什么?:"Game of 24"是一種數(shù)學(xué)益智游戲,旨在通過(guò)組合和計(jì)算四個(gè)給定的數(shù)字(通常是1到9之間的整數(shù))來(lái)得到結(jié)果為24的表達(dá)式。

【24點(diǎn)游戲】thought生成方法:根據(jù)上一個(gè)節(jié)點(diǎn)的left(例如:4 9 10 13),把它當(dāng)作限制,生成模塊依次提出多種可能的想法

176664a6-15cc-11ee-962d-dac502259ad0.png

【Mini Crosswords 填字游戲】是什么?:Mini Crosswords是一種簡(jiǎn)化版的填字游戲,適合在有限的空間和時(shí)間內(nèi)進(jìn)行。與傳統(tǒng)的填字游戲不同,Mini Crosswords使用較小的網(wǎng)格,通常為5x5或6x6,且只包含較少的單詞。每個(gè)單詞都有一個(gè)提示,玩家需要根據(jù)提示填寫正確的單詞。

【Mini Crosswords 填字游戲】thought生成方法:直接根據(jù)當(dāng)前節(jié)點(diǎn)已經(jīng)填好的單詞(限制條件),利用prompt方法生成5次,產(chǎn)生下一個(gè)詞可能的5種填寫方法。

17719a10-15cc-11ee-962d-dac502259ad0.png

2.3 State evaluator【狀態(tài)評(píng)估】

定義:給定不同的當(dāng)前state狀態(tài),state evalutor用于評(píng)估那個(gè)方法最有接近解決當(dāng)前問(wèn)題。通常是利用heuristis方法來(lái)解決,像deepBlue是用編程的方法來(lái)解決,AlphaGo是用學(xué)習(xí)的方法來(lái)解決,本文直接是用LM去評(píng)估和思考當(dāng)前state解決問(wèn)題的前景。同樣的,針對(duì)不同的任務(wù)也有不同的評(píng)估方法。這里主要提出兩種策略:

原則一:【獨(dú)立評(píng)估】,當(dāng)每個(gè)state獨(dú)立時(shí)并且好用數(shù)值型的方式來(lái)評(píng)估時(shí),直接利用prompt生成數(shù)值型或者類別性的評(píng)估結(jié)果,這里可以利用一些前瞻性的模擬(例如:5+5+14可以湊成24點(diǎn)) + 常識(shí)commonsense(例如:1,2,3太小了,夠不到24點(diǎn))來(lái)直接給出 good 或者 bad的評(píng)價(jià),并且不要求特別準(zhǔn)確。

【24點(diǎn)游戲】評(píng)估方法:直接利用prompt LM去評(píng)估每個(gè)thoughts為sure、maybe、impossible幾個(gè)選項(xiàng)

【Mini Crosswords 填字游戲】評(píng)估方法:直接利用prompt評(píng)估每個(gè)candidates的confidence(sure、impossible、maybe)

原則二:【對(duì)所有state投票】:當(dāng)評(píng)估passage coherency(段落連貫性),不是特別好用數(shù)值型的方法來(lái)評(píng)估時(shí),通過(guò)vote prompt來(lái)詳細(xì)比較不同的state,選出一個(gè)最優(yōu)前景的方案,例如可以將多個(gè)state拼接成一個(gè)多選題,然后利用LM來(lái)對(duì)其進(jìn)行投票。

【創(chuàng)意文本生成】評(píng)估方法:直接利用LM投票從多個(gè)state中選擇最好的一個(gè),例如使用以下prompt:“analyze choices below,then conclude which is most promising for the instruction”

其他:對(duì)于每一種策略,都可以利用LM prompt多次集成多次的value分?jǐn)?shù)或者vote投票提升其魯棒性。

2.4 Search algorithm【搜索算法】

說(shuō)明:對(duì)于樹的結(jié)構(gòu),有很多中搜索算法,本文探索了兩種簡(jiǎn)單的搜索算法BFS和DFS。

BFS(寬度優(yōu)先算法):每一個(gè)步驟保留b個(gè)最有前景的方案,本文提到的Game of 24以及Creative Writing就是用的這個(gè)算法,其中tree depth限制為(T小于等于3),thoughts step可以先打分(evaluated)然后剪枝到一個(gè)小的集合b小于等于5。

DFS(深度優(yōu)先算法):先探索最有前景的解決方案,直到超過(guò)樹的最大深度T(t>T),或者當(dāng)前state已經(jīng)不可能解決問(wèn)題了,此時(shí)可以直接剪枝,然后回到父節(jié)點(diǎn),繼續(xù)進(jìn)行探索。

3 Conclusion

在需要non-trivial planing(非平凡的規(guī)劃)或者search(搜索)的任務(wù)中,取得了非常好的表現(xiàn),例如24點(diǎn)游戲(Game of 24,4個(gè)數(shù)湊成24)中,GPT-4+COT只有4%的解決率,本文TOT方法解決率可以達(dá)到74%。

TOT再利用LM解決通用問(wèn)題時(shí)有幾大優(yōu)點(diǎn):(1)通用性:IO,COT,COT-SC,self-refinement都可以看作TOT的一種特例。(2)模塊化:基礎(chǔ)LM,thought分解,thought生成、評(píng)估、搜索都可以獨(dú)立的當(dāng)做一個(gè)模塊來(lái)實(shí)現(xiàn)。(3)適應(yīng)能力強(qiáng):不同的問(wèn)題,LM,資源限制都能使用。(4)方便:不需要額外的訓(xùn)練,直接用預(yù)訓(xùn)練的LM就足夠了。

4 Limitation

必要性:有些場(chǎng)景GPT4已經(jīng)解決的比較好了,可能用不上。

需要更多資源:多次調(diào)用GPT-4 API等等帶來(lái)的cost。

只是離線使用,沒有利用TOT-stype的思想去對(duì)LM做fine-tuning,該方法可能更能增強(qiáng)LM解決問(wèn)題地能力。

二、詳細(xì)內(nèi)容

1三個(gè)實(shí)驗(yàn)的定義

177c69e0-15cc-11ee-962d-dac502259ad0.png

【24點(diǎn)游戲】是什么?:"Game of 24"是一種數(shù)學(xué)益智游戲,旨在通過(guò)組合和計(jì)算四個(gè)給定的數(shù)字(通常是1到9之間的整數(shù))來(lái)得到結(jié)果為24的表達(dá)式。

【Mini Crosswords 填字游戲】是什么?:Mini Crosswords是一種簡(jiǎn)化版的填字游戲,適合在有限的空間和時(shí)間內(nèi)進(jìn)行。與傳統(tǒng)的填字游戲不同,Mini Crosswords使用較小的網(wǎng)格,通常為5x5或6x6,且只包含較少的單詞。每個(gè)單詞都有一個(gè)提示,玩家需要根據(jù)提示填寫正確的單詞。

【創(chuàng)意文本生成】是什么:這個(gè)比較好理解,就是生成創(chuàng)意文本。

其他:紅色圈出來(lái)的部分為定義的Thoughts中間結(jié)果。

2 搜索算法策略

1785a492-15cc-11ee-962d-dac502259ad0.png

特點(diǎn):利用BFS,可以像人類一樣,一直探索比較好的b個(gè)(寬度)實(shí)現(xiàn)方法。利用DFS方法,可以方便的進(jìn)行剪枝,回溯,像人一樣,當(dāng)前路走不通,我退回上一個(gè)不走重新選擇。相對(duì)于之前的COT等從左到右的思想策略,理論上感覺確實(shí)會(huì)有著比較大的提升空間。

3 Game of 24實(shí)驗(yàn)結(jié)果分析

17938710-15cc-11ee-962d-dac502259ad0.png

Table2:IO、CoT和CoT-SC提示方法在任務(wù)上表現(xiàn)較差,僅達(dá)到7.3%、4.0%和9.0%的成功率。相比之下,具有b = 1寬度的ToT的成功率為45%,而b = 5的成功率為74%。

Figure3(a):比較訪問(wèn)k個(gè)樣本(感覺是生成k次結(jié)果)的情況下,IO,COT,TOT方法的成功率,COT(100)才49%,TOT在30左右就超過(guò)60了,在60左右應(yīng)該就有74%的成功率。

Figure3(b):直接利用COT,有60%左右在第一部就失敗了,這突出了直接從左到右解碼的問(wèn)題。

4 Creative Writing results和Mini Crosswords results結(jié)果分析

179d9688-15cc-11ee-962d-dac502259ad0.png

Creative Writing results結(jié)果

自動(dòng)評(píng)估(連貫性):ToT (7.56) > CoT (6.93) > IO (6.19)

人工評(píng)估(GSB):ToT vs COT G:S:B = (41:38 :21)

iterative-refine(舊的thought -> refine -> 新的thought):迭代優(yōu)化還能繼續(xù)提升,ToT (7.56 -> 7.91) ,IO (6.19 -> 7.17) ,這個(gè)提升也挺大的,可以作為一個(gè)新的方法

Mini Crosswords results結(jié)果

Letter(字母級(jí)別準(zhǔn)確率):ToT (78) > CoT (40.6) > IO (38.8)

Word(字級(jí)別準(zhǔn)確率):ToT (60) > CoT (15.6) > IO (14)

Game(游戲級(jí)別解決率):ToT (20) > CoT (1) > IO (0)

消融實(shí)驗(yàn):(1)+best state:利用更好的state評(píng)估器,可能得到更大的提升,Game級(jí)別解決率從20%->35%,說(shuō)明本文提到的簡(jiǎn)單的啟發(fā)式的評(píng)估算法還有比較大的空間。(2)剪枝:去掉剪枝,只能解決1個(gè)問(wèn)題,另外3個(gè)都是通過(guò)啟發(fā)式的剪枝找到的,說(shuō)明這種方法對(duì)于解決問(wèn)題是至關(guān)重要的。(3)回溯:去掉回溯算法后,效果表現(xiàn)比較差,說(shuō)明有延續(xù)性的這種尋找答案的方法也是非常重要的。

缺點(diǎn):感覺用的測(cè)試數(shù)據(jù)不算太多?只用了20個(gè)游戲來(lái)做測(cè)試?

5Related Work

17a99ece-15cc-11ee-962d-dac502259ad0.jpg

三、總結(jié)

1. 提出了一種完全由LLM + 啟發(fā)式搜索算法結(jié)合的TOT算法,其可以從多條解決路徑,快速的找到最佳解決方法,可以解決的一些復(fù)雜的,GPT-4都表現(xiàn)差的一些任務(wù)。其主要由thought生成、thought評(píng)估、搜索算法組成,可以生成解決方案、對(duì)方案進(jìn)行自我評(píng)估、同時(shí)可以通過(guò)回溯算法來(lái)延續(xù)之前的解決思路,利用剪枝算法過(guò)濾不可靠解決方案,提升找到最優(yōu)解決路徑的速度。

2. TOT其各個(gè)部分都是高度模塊化的,例如可以用不同的LM,不同的搜索算法來(lái)實(shí)現(xiàn),通用性比較強(qiáng),同時(shí)其對(duì)于每個(gè)任務(wù)thought的定義都不太一致,如何針對(duì)不同的任務(wù)設(shè)置更好的thought也比較重要,他這里提出了“不能太小”、“不能太大”的指導(dǎo)原則可以參考。

3. TOT直接利用LM的評(píng)估器效果還有待提高,Mini Crosswords results任務(wù)利用更好的state評(píng)估器,可能得到更大的提升,Game級(jí)別解決率從20%->35%,說(shuō)明利用更好的評(píng)估器也是非常重要的,可以取得更好的結(jié)果。

4. OpenAI的Andrej Karpathy在state of gpt中也提到了TOT算法,其也可能是比Auto-GPT更好的一種,讓llm進(jìn)行深思熟慮來(lái)解決復(fù)雜問(wèn)題的一種實(shí)現(xiàn)思路。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 模塊
    +關(guān)注

    關(guān)注

    7

    文章

    2626

    瀏覽量

    47210
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4573

    瀏覽量

    92333
  • 語(yǔ)言模型
    +關(guān)注

    關(guān)注

    0

    文章

    490

    瀏覽量

    10225
  • LLM
    LLM
    +關(guān)注

    關(guān)注

    0

    文章

    252

    瀏覽量

    285

原文標(biāo)題:TOT(Tree of Thought) | 讓GPT-4像人類一樣思考

文章出處:【微信號(hào):zenRRan,微信公眾號(hào):深度學(xué)習(xí)自然語(yǔ)言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    混合啟發(fā)式算法在汽車調(diào)度中的應(yīng)用

    混合啟發(fā)式算法在汽車調(diào)度中的應(yīng)用將蟻群優(yōu)化和變鄰域下降搜索VND相結(jié)合,形成一種混合啟發(fā)式
    發(fā)表于 09-19 09:21

    改進(jìn)的雙向啟發(fā)式搜索算法主要流程是怎樣的?

    如何對(duì)雙向啟發(fā)式搜索算法進(jìn)行改進(jìn)和實(shí)現(xiàn)?改進(jìn)的雙向啟發(fā)式搜索算法主要流程是怎樣的?
    發(fā)表于 05-17 06:51

    基于禁忌搜索啟發(fā)式求解背包問(wèn)題算法

    設(shè)計(jì)了一種基于禁忌搜索的遺傳算法,利用遺傳算法提供的并行搜索主框架,結(jié)合禁忌
    發(fā)表于 05-07 20:42 ?16次下載

    一種采用啟發(fā)式分割點(diǎn)計(jì)算的包分類算法

    針對(duì)區(qū)域分割包分類算法存在的規(guī)則分布差異較大的缺陷,該文提出一種基于啟發(fā)式分割點(diǎn)計(jì)算的區(qū)域分割包分類算法。首先依據(jù)規(guī)則集的分布規(guī)律進(jìn)行分割點(diǎn)計(jì)算,然后再進(jìn)行結(jié)
    發(fā)表于 11-13 14:53 ?4次下載

    一種求上近似約簡(jiǎn)的快速啟發(fā)式算法

    利用時(shí)間復(fù)雜度為O(C U )求U /C的快速算法,設(shè)計(jì)了一種基于屬性重要度的上近似約簡(jiǎn)快速啟發(fā)式算法,將時(shí)間復(fù)雜度降為2 O(C D U ),該
    發(fā)表于 12-18 16:49 ?14次下載

    布谷鳥搜索算法源程序

    cs優(yōu)化灰色預(yù)測(cè)模型,優(yōu)化算法,仿生學(xué)算法,元啟發(fā)式算法。
    發(fā)表于 08-05 18:37 ?12次下載

    一種改進(jìn)的鄰近粒子搜索算法

    一種改進(jìn)的鄰近粒子搜索算法
    發(fā)表于 01-07 20:32 ?0次下載

    一種改進(jìn)的自由搜索算法_任誠(chéng)

    一種改進(jìn)的自由搜索算法_任誠(chéng)
    發(fā)表于 03-14 17:47 ?3次下載

    提出一種基于啟發(fā)式搜索算法在解空間搜索候選智能體的工程方法

    鑒于當(dāng)前認(rèn)知神經(jīng)科學(xué)和人工智能工程所遇到的困難,華為 2012 實(shí)驗(yàn)室的研究人員提出了一種新的通用人工智能工程方法:使用學(xué)習(xí)算法的穩(wěn)定性作為在特定場(chǎng)景中的適合度函數(shù)的啟發(fā)式搜索方法。論
    的頭像 發(fā)表于 12-21 17:15 ?5554次閱讀
    提出<b class='flag-5'>一種</b>基于<b class='flag-5'>啟發(fā)式</b><b class='flag-5'>搜索算法</b>在解空間<b class='flag-5'>搜索</b>候選智能體的工程方法

    單規(guī)格刀切矩形排樣的啟發(fā)式搜索算法

    針對(duì)單規(guī)格刀切二維矩形排樣問(wèn)題,提出了一種啟發(fā)式搜索算法,稱為大小工件分治擇優(yōu)匹配(bigitem smallitem divide-and-conquer best-fit,簡(jiǎn)稱B
    發(fā)表于 12-28 16:01 ?1次下載
    單規(guī)格<b class='flag-5'>一</b>刀切矩形排樣的<b class='flag-5'>啟發(fā)式</b><b class='flag-5'>搜索算法</b>

    基于網(wǎng)頁(yè)排名算法面向論文索引排名的啟發(fā)式方法

    為了提高學(xué)術(shù)論文檢索的精準(zhǔn)性,進(jìn)而為學(xué)術(shù)研究提供便利,提出了針對(duì)學(xué)術(shù)論文檢索問(wèn)題的排名策略。首先,介紹了基于網(wǎng)頁(yè)排名算法面向論文索引排名的啟發(fā)式方法,其中利用Hash索引技術(shù)有效地減少了稀疏矩陣計(jì)算
    發(fā)表于 12-30 17:00 ?0次下載

    基于并行搜索和快速插入的算法

    針對(duì)串行A*算法時(shí)間性能較差的問(wèn)題,提出了一種基于并行搜索和快速插入( PSFI)的算法。首先,研究了共享存儲(chǔ)平臺(tái)上的常見并行啟發(fā)式
    發(fā)表于 01-07 11:01 ?0次下載

    啟發(fā)式算法和遺傳混合算法在流水車間的應(yīng)用

    啟發(fā)式算法和遺傳混合算法在流水車間的應(yīng)用
    發(fā)表于 06-30 16:32 ?16次下載

    基于啟發(fā)式搜索算法的無(wú)人機(jī)航跡規(guī)劃

    基于啟發(fā)式搜索算法的無(wú)人機(jī)航跡規(guī)劃
    發(fā)表于 07-02 11:15 ?24次下載

    基于群體的元啟發(fā)式算法——象鼻蟲傷害優(yōu)化算法

    研究提出了一種新的基于群體的元啟發(fā)式算法,該算法模擬了象鼻蟲的飛勢(shì)、吻勢(shì)和對(duì)作物或農(nóng)產(chǎn)品的傷害力。使用12個(gè)基準(zhǔn)單峰和多峰人工或優(yōu)化函數(shù)對(duì)該算法
    的頭像 發(fā)表于 10-19 11:51 ?853次閱讀