論文地址:https://arxiv.org/pdf/2311.04254.pdf
一、當(dāng)前Prompt技術(shù)的局限性
? ? ? ?LLM使用自然語言Prompt可以將復(fù)雜的問題分解為更易于管理的“thought”可以回復(fù)用戶的問題。然而,大多數(shù)現(xiàn)有的Prompt技術(shù)都有局限性:
- 輸入輸出(IO)Prompt:僅適用于具有單步解決方案的簡單問題,它缺乏靈活性;
- 思維鏈(CoT):能夠解決多步問題,但僅限于線性思維結(jié)構(gòu),也缺少靈活性;
- 思維樹(ToT)和思維圖(GoT):允許更靈活的思維結(jié)構(gòu),如樹或圖。然而,它們需要LLM來評估中間的thought,由于多次調(diào)用LLM會產(chǎn)生巨大的計算成本。
PS:當(dāng)前的Prompt技術(shù)面臨“Penrose Triangle”約束——最多可以實現(xiàn)(性能、效率和靈活性)中兩個屬性,三個屬性不能同時實現(xiàn)。
常見Prompt技術(shù)對比,如下圖所示:
輸入輸出(IO)Prompt(圖1(a)):IO方法在不提供任何中間thought過程的情況下,直接指導(dǎo)LLM解決問題;
思維鏈(CoT)(圖1(b)):CoT將待解決問題分解為一系列的thought鏈,讓LLM能夠一步一步地處理復(fù)雜的問題;
自洽CoT(CoT-SC)(圖1(c)):CoT SC使用多個CoT實例從而讓LLM生成多個輸出,它從中選擇最佳的輸出,與普通的CoT相比,提供了更穩(wěn)健和一致的推理;
思維樹(ToT)(圖1(d)):ToT以樹狀結(jié)構(gòu)組織思想并利用搜索算法(例如,廣度優(yōu)先搜索、深度優(yōu)先搜索)將樹擴展到追求最佳解決方案。但是ToT中的thought評價依賴于LLM本身,需要多次調(diào)用LLM進(jìn)行推理,這昂貴且低效;
思維圖(GoT)(圖1(e)):GoT擴展了ToT方法,通過thought聚合和細(xì)化生成類似圖形的思想結(jié)構(gòu)。
PS:在中間搜索階段期間。盡管這種方法允許更靈活的思維結(jié)構(gòu)仍然需要多次LLM推理調(diào)用進(jìn)行評估,從而產(chǎn)生顯著的計算成本。
二、XOT介紹
為了解決上述Prompt的這些局限性,本文將介紹一種新的Prompt技術(shù)XOT(Everything of Thoughts)。XOT使用強化學(xué)習(xí)和蒙特卡羅樹搜索(MCTS)將外部知識注入Prompt過程。
XOT的關(guān)鍵組成部分是:
- MCTS模塊——使用輕量級的策略和價值網(wǎng)絡(luò),通過模擬有效地探索任務(wù)的潛在思維結(jié)構(gòu);
- LLM求解器——利用LLM的內(nèi)部知識,對MCTS中的思想進(jìn)行提煉和修正。這種協(xié)作過程提高了思維質(zhì)量。
三、XOT工作原理
XOT框架包括以下關(guān)鍵步驟:
- 預(yù)訓(xùn)練階段:對MCTS模塊進(jìn)行特定任務(wù)的預(yù)訓(xùn)練,以學(xué)習(xí)有關(guān)高效thought搜索的領(lǐng)域知識。輕量級策略和價值網(wǎng)絡(luò)指導(dǎo)搜索;
- Thought搜索:在推理過程中,預(yù)訓(xùn)練的MCTS模塊使用策略/價值網(wǎng)絡(luò)來有效地探索和生成LLM的thought軌跡;
- Thought修正:LLM審查MCTS生成的thought,并識別其中可能的任何錯誤,如果有錯誤,再通過額外的MCTS模擬產(chǎn)生修正后的thought;
- LLM推理:把包括修改thought后的最終Prompt提供給LLM來解決問題。
下圖說明了XOT框架:
MCTS模塊針對特定任務(wù)進(jìn)行預(yù)訓(xùn)練,使用策略和價值網(wǎng)絡(luò)來指導(dǎo)搜索和學(xué)習(xí)領(lǐng)域知識。
- 在thought搜索過程中,預(yù)訓(xùn)練的MCTS使用策略和價值網(wǎng)絡(luò)來有效地探索搜索空間并生成thought軌跡。整個過程迭代地選擇、擴展、評估和反向傳播節(jié)點;
- thought軌跡提供給LLM作為Prompt;
- LLM使用其內(nèi)部知識來檢測thought中的任何錯誤;
- 如果發(fā)現(xiàn)錯誤,MCTS模塊將用于通過額外的模擬來修改thought;
- 該過程重復(fù)進(jìn)行,直到LLM使用修訂后的高質(zhì)量thought解決問題。
四、XOT Pocket Cube問題實戰(zhàn)
我們使用Pocket Cube問題(2x2x2魔方)來看一下XOT是如何工作的?
- 選擇:算法從根節(jié)點開始,從可用集合中選擇一個動作,用于在當(dāng)前狀態(tài)下生成單步思想。這個過程一直持續(xù)到到達(dá)當(dāng)前樹中的一個葉節(jié)點為止。該選擇由PUCT算法指導(dǎo),旨在最大化置信上限(UCB);
- 評估和擴展:到達(dá)之前未選擇的葉節(jié)點后,我們擴展到下一步新思想探索的狀態(tài)。這種擴展涉及對其值和狀態(tài)的作用概率的評估,這些值和作用概率由θ參數(shù)化的神經(jīng)網(wǎng)絡(luò)建模,(Pθ(s), vθ(s)) = fθ(s)。這里,Pθ(s)是s上所有動作的先驗概率,vθ(s)表示其預(yù)測狀態(tài)值。這兩個值被保留和存儲用于備份目的,狀態(tài)s被標(biāo)記為“已訪問”;
- 反向傳播:在上述階段對葉節(jié)點進(jìn)行擴展后,可能是未探索狀態(tài)或終端狀態(tài),算法繼續(xù)通過反向傳播更新所有Q(s,a)值。對于未探索的節(jié)點,這種更新涉及計算其估計值vθ的平均值,而對于終止的節(jié)點,它是基于真實獎勵r。這些更新是在信息沿著軌跡反向傳播到后續(xù)節(jié)點時發(fā)生的。此外,每個狀態(tài)操作對的訪問計數(shù)也會增加;
- 思想推理:在MCTS完成搜索后,提取思想并將其提供給LLM。LLM然后審查和提煉這些想法,如果需要,繼續(xù)MCTS搜索過程,并最終通過將這些外部想法與其內(nèi)部知識相結(jié)合來制定最終答案。
PS:重復(fù)此過程,直到問題得到解決或達(dá)到預(yù)定義的迭代次數(shù)。
五、XOT的主要優(yōu)點
與現(xiàn)有Prompt技術(shù)相比,XOT有以下優(yōu)點:
- 性能:MCTS探索將領(lǐng)域知識注入思想來增強LLM能力。協(xié)作修訂過程進(jìn)一步提高了thought質(zhì)量;
- 效率:輕量級策略/價值網(wǎng)絡(luò)指導(dǎo)MCTS,最大限度地減少昂貴的LLM呼叫。推理過程中只需要調(diào)用1-2次即可;
- 靈活性:MCTS可以探索不同的思維結(jié)構(gòu),如鏈、樹和圖,從而實現(xiàn)創(chuàng)造性思維。
PS:XOT實現(xiàn)了其他Prompt范式不能同時滿足“Penrose Triangle”。
六、XOT實驗結(jié)果
研究人員在需要長期規(guī)劃的復(fù)雜任務(wù)上評估了XOT,如《24小時游戲》、《8拼圖》和《口袋魔方》。一些關(guān)鍵發(fā)現(xiàn):
- XOT在所有任務(wù)中的準(zhǔn)確性顯著優(yōu)于IO、CoT、ToT和GoT等基線;
- 經(jīng)過thought修正,XOT在《24小時游戲》中僅使用1–2個LLM調(diào)用就實現(xiàn)了高達(dá)90%的準(zhǔn)確率,證明了高效性;
- XOT高效地生成了多種多樣的問題解決方案,展現(xiàn)了靈活性;
- 對于8-Puzzle和Pocket Cube等空間推理任務(wù),XOT使LLM能夠解決他們以前遇到的問題。
PS:這些結(jié)果突出了XOT如何通過高效靈活的提示釋放LLM在復(fù)雜問題解決方面的潛力。
參考文獻(xiàn):
[1]?https://medium.com/@raphael.mansuy/xot-a-new-prompting-technique-for-ai-the-secret-sauce-to-level-up-your-llms-reasoning-prowess-3e19703ab582
本文章轉(zhuǎn)載微信公眾號@ArronAI
我們有何不同?
API服務(wù)商零注冊
多API并行試用
數(shù)據(jù)驅(qū)動選型,提升決策效率
查看全部API→
??
熱門場景實測,選對API
#AI文本生成大模型API
對比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力
一鍵對比試用API
限時免費