摘要
本文介紹了一種思維圖(GoT),這是一個(gè)框架,將大語(yǔ)言模型中的提示能力提升到思維鏈或思維樹(shù)等范式之外。GoT的關(guān)鍵思想和主要優(yōu)點(diǎn)是能夠?qū)⒋笳Z(yǔ)言模型生成的信息生成建模為任意圖,其中信息單位(“LLM thoughts”)是頂點(diǎn),邊對(duì)應(yīng)這些頂點(diǎn)之間的依賴關(guān)系。這種方法能夠?qū)⑷我獯笳Z(yǔ)言模型的思想組合協(xié)同輸出,或使用反饋循環(huán)增強(qiáng)思想。我們說(shuō)明了GoT在不同任務(wù)上比現(xiàn)有技術(shù)具有的優(yōu)勢(shì)。確保GoT可以通過(guò)新的思想轉(zhuǎn)換進(jìn)行進(jìn)行擴(kuò)展,因此可以用于引導(dǎo)新的提示方案。這項(xiàng)工作使LLM推理更接近人類的大腦機(jī)制和思維,如循環(huán),形成了復(fù)雜的網(wǎng)絡(luò)。
介紹
大語(yǔ)言模型正在接管AI世界。近年來(lái),主要基于解碼器的Transformer變體的模型得到了飛速發(fā)展,如GPT、PaLM、LLaMA。
提示工程是一種資源高效的方法,用于解決不同的大語(yǔ)言模型的任務(wù)。簡(jiǎn)而言之,在發(fā)送給大語(yǔ)言模型的輸入中包括任務(wù)描述。如果該描述被適當(dāng)?shù)毓交?,則大語(yǔ)言模型使用其基于自回歸令牌的機(jī)制來(lái)生成文本,從而解決任務(wù)。此類提示可能包含具有解決方案的實(shí)例任務(wù)(少樣本,也稱為上下文學(xué)習(xí)(ICL)),甚至根本沒(méi)有實(shí)例任務(wù)(零樣本)。近年來(lái)的研究表明,這種機(jī)制可以用于解決一系列設(shè)計(jì)數(shù)學(xué)、常識(shí)或符號(hào)推理的任務(wù)。
CoT是一種提示方法,其中包括在提示中重新排序的中間步驟(中間“thoughts”),而不是任務(wù)輸入/輸出。CoT被證明可以顯著提高LLM解決問(wèn)題的能力,而無(wú)需對(duì)任何模型更新進(jìn)行重新排序。一個(gè)主要的用來(lái)提升CoT的方法是CoT-SC(自我一致性方法),是一種生成多個(gè)CoT,然后選擇最佳CoT作為結(jié)果的方案。最近,CoT和CoT-SC用了思維樹(shù)(ToT)進(jìn)行了擴(kuò)展,該樹(shù)用樹(shù)對(duì)大語(yǔ)言模型推理過(guò)程進(jìn)行建模。該方法使用不同的思想路徑,并提供了一些新穎的功能,如從沒(méi)有希望的結(jié)果中回溯。不幸的是,ToT方法任然通過(guò)在思維過(guò)程中加強(qiáng)剛性的樹(shù)結(jié)構(gòu),在一定程度上限制了推理能力。
在這項(xiàng)工作中,我們認(rèn)為,通過(guò)使用LLM思想形成任意的圖結(jié)構(gòu),可以從根本上實(shí)現(xiàn)更強(qiáng)大的提示。這是由人類推理、大腦結(jié)構(gòu)或算法執(zhí)行等復(fù)雜現(xiàn)象驅(qū)動(dòng)的。當(dāng)研究一個(gè)新的想法時(shí),人類不僅會(huì)遵循一個(gè)思維鏈或嘗試不同獨(dú)立思想(如思維樹(shù)),而且實(shí)際上會(huì)形成一個(gè)更復(fù)雜的思想網(wǎng)絡(luò)。例如,一個(gè)人可以探索某個(gè)推理鏈,回溯并開(kāi)始一個(gè)新的推理鏈,然后意識(shí)到前一個(gè)推理鏈中的某個(gè)想法可以與當(dāng)前探索的想法相結(jié)合,并將它們合并為一個(gè)新的解決方案,利用它們的優(yōu)勢(shì),消除它們的弱點(diǎn)。類似地大腦形成了復(fù)雜的網(wǎng)絡(luò),具有類似圖形的模式,如復(fù)現(xiàn)。執(zhí)行算法也暴露了網(wǎng)絡(luò)模式,通常由無(wú)向循環(huán)圖表示。對(duì)應(yīng)的 **圖啟用轉(zhuǎn)換(graph-enabled transformation)**在應(yīng)用于大語(yǔ)言模型思想時(shí)帶來(lái)了更強(qiáng)大的提示。但它們不能自然地用COT或ToT表示。
我們觀察到,當(dāng)將大語(yǔ)言模型的重組過(guò)程建模為圖時(shí),這些思想轉(zhuǎn)化可以自然地實(shí)現(xiàn)。為此我們提出了思維圖,這是一種通過(guò)削弱推理增強(qiáng)大語(yǔ)言模型能力的方法。在GoT中,大語(yǔ)言模型思想被建模為頂點(diǎn),而邊是這些思想之間的依賴關(guān)系。使用GoT,可以通過(guò)構(gòu)造具有多個(gè)進(jìn)入邊的頂點(diǎn)來(lái)聚合任意思想??偟膩?lái)說(shuō),GoT無(wú)縫地使用的圖抽象將CoT和ToT概括為更復(fù)雜的思維模式,而不需要任何模型更新。
然而,將GoT付諸實(shí)踐需要解決幾個(gè)設(shè)計(jì)挑戰(zhàn),例如,不同任務(wù)的最佳圖形結(jié)構(gòu)是什么?為了回答這些問(wèn)題,我們仔細(xì)設(shè)計(jì)了一個(gè)用于實(shí)現(xiàn)GoT的模塊化架構(gòu),并結(jié)合了兩個(gè)設(shè)計(jì)亮點(diǎn)。首先,我們能夠?qū)为?dú)的思想進(jìn)行精細(xì)的控制。這使得我們能夠完全控制與LLM正在進(jìn)行的對(duì)話,并應(yīng)用先進(jìn)的思想轉(zhuǎn)換,例如將正在進(jìn)行的推理中最具有破壞性的思想組合成新的思想。其次,我們確保我們的架構(gòu)可以通過(guò)新的思維轉(zhuǎn)換、推理模型(即思維圖)和大語(yǔ)言模型無(wú)縫擴(kuò)展。這使得我們能在GoT上快速原型化新的提示思想,同時(shí)嘗試不同的模型。
我們展示了GoT的幾個(gè)用例(排序、摘要的關(guān)鍵字計(jì)數(shù)、集合操作、文檔合并),并詳細(xì)介紹了如何使用基于圖的范式實(shí)現(xiàn)它們。我們?cè)u(píng)估了GoT并展示了它相對(duì)現(xiàn)有技術(shù)的優(yōu)勢(shì)??偟膩?lái)說(shuō),我們觀察到GoT特別適合于可以自然分解為更小子任務(wù)的任務(wù),這些子任務(wù)可以單獨(dú)解決,然后合并為最終解決方案。在這里,GoT優(yōu)于其他方案,例如,就分揀質(zhì)量而言,比ToT降低了大于31%的成本。GoT是唯一一個(gè)能夠在提示中實(shí)現(xiàn)基于任意圖的思想轉(zhuǎn)換的方案,例如聚合,包括之前提到的所有方案。
最后我們提出了一個(gè)新的指標(biāo)來(lái)評(píng)估策略,即 思維容量(volume of a thought) 。通過(guò)這個(gè)指標(biāo),我們旨在更好地理解提示方案之間的差異。對(duì)于給定的思維 v v v, v v v的體積是大語(yǔ)言模型中思維的數(shù)量,從中可以使用有向邊到達(dá) v v v。直觀地說(shuō),這些都是大語(yǔ)言模型有潛力為 v v v做出貢獻(xiàn)的思想。我們表明,GoT通過(guò)結(jié)合聚合等思想轉(zhuǎn)換,使思想比其他方案有根本上的大容量。
背景和符號(hào)表示
語(yǔ)言模型和上下文學(xué)習(xí)
與LLM對(duì)話包括用戶消息(提示)和LLM回復(fù)(想法)。我們遵循已建立的符號(hào)(notation),并且,我們將帶有參數(shù) θ θ θ的一個(gè)預(yù)訓(xùn)練的語(yǔ)言模型表示為 p ? θ ? p~θ~ p?θ?,小寫字母如 x , y , z , . . . x,y,z,... x,y,z,...表示LLM的思想。我們故意不規(guī)定什么是單一的“thought”,而是使其特定于用例。因此,一個(gè)想法可以是一個(gè)段落(例如在文章的摘要中)、一個(gè)文檔(例如,在文檔生成中)、代碼塊(例如,在代碼調(diào)試或操作中)等。
下面描述具體提示的方法。
Input-Output(IO)
IO提示是一種直接的方式,我們使用大語(yǔ)言模型將輸入序列x直接轉(zhuǎn)換為輸出y,而不需要任何中間思想。
Chain of thought(CoT)
在CoT中,介紹了在x到y(tǒng)生成過(guò)程中的中間思想。該策略被證明在簡(jiǎn)單的IO基線上顯著提高了各種語(yǔ)言模型任務(wù),例如數(shù)學(xué)難題或一般數(shù)學(xué)推理。
Multiple CoT
可以通過(guò)獨(dú)立地生成k個(gè)CoT,并轉(zhuǎn)換為具有最佳輸出的CoT(根據(jù)某個(gè)規(guī)定的評(píng)分指標(biāo)),將CoT推廣為多個(gè)CoT。被稱為CoT自我一致性的方法增強(qiáng)了CoT,因?yàn)樗峁┝颂剿魍评砺窂降臋C(jī)會(huì)。然而,它不提供路徑內(nèi)的“局部探索”,例如回溯。
Tree of thoughts(ToT)
最后,思維樹(shù)的方法在一定程度上被其他方案隱含地使用,如思想分解。它通過(guò)將過(guò)程或推理建模為思維樹(shù)來(lái)增強(qiáng)CoT-SC。單個(gè)樹(shù)節(jié)點(diǎn)表示部分解決方案。思維生成器基于一個(gè)給定的節(jié)點(diǎn)構(gòu)造一個(gè)給定數(shù)量的新節(jié)點(diǎn)。然后,狀態(tài)評(píng)估器為每個(gè)這樣的新節(jié)點(diǎn)生成分?jǐn)?shù)。根據(jù)使用情況,評(píng)估可以使用大語(yǔ)言模型本身進(jìn)行,也可以使用人工評(píng)分。最后,擴(kuò)展樹(shù)的時(shí)間由所使用的搜索算法(如BFS或DFS)決定。
GoT框架
這一節(jié)詳細(xì)介紹了GoT框架并與其他提示策略進(jìn)行比較。
形式上,GoT可以建模為元組 ( G , T , E , R ) (G,T,E,R) (G,T,E,R),其中G是LLM推理的過(guò)程(即上下文中的所有LLM思維及其關(guān)系),T是可能的思維變換,E是用于獲得思維分?jǐn)?shù)的評(píng)估器函數(shù),R是用于選擇最相關(guān)思維的排序函數(shù)。
推理過(guò)程
這里,推理過(guò)程被建模為一個(gè)有向圖G=(V , E),其中V是一組頂點(diǎn),E ? V×V是一組邊。G是有向的,因此邊是有序頂點(diǎn)對(duì)E ? V×V的子集。一個(gè)頂點(diǎn)包含對(duì)當(dāng)前問(wèn)題的一個(gè)解答,不管這個(gè)問(wèn)題是最初的問(wèn)題,還是中間的問(wèn)題,或最后的問(wèn)題,這種思維的具體形式取決于用例;其可能是一個(gè)段落(在寫作任務(wù)中)、一個(gè)數(shù)值排序(在排序任務(wù)中)。一個(gè)有向邊(t1,t2)表示思維t2的構(gòu)建方式是將t1用作“直接輸入”,即通過(guò)明確指示LLM使用t1來(lái)生成t2。
在某些用例中,圖節(jié)點(diǎn)屬于不同類別,舉個(gè)例子,在寫作任務(wù)中,一些頂點(diǎn)建模寫出一段文本的計(jì)劃,其他節(jié)點(diǎn)則建模實(shí)際的文本段。在這種情況下,GoT采用異構(gòu)圖G=(V,E,c)來(lái)建模大語(yǔ)言模型推理,其中c將頂點(diǎn)V映射到各自的類C(上述案例中,C={plan,par}),這樣一來(lái),任何頂點(diǎn) v v v都可以建模推理的不同方面。
于是G就與LLM推理過(guò)程聯(lián)系起來(lái)。為了推進(jìn)這一過(guò)程,我們將思想轉(zhuǎn)換應(yīng)用于G。這種轉(zhuǎn)變一個(gè)例子是將得分最高的想法合并到一個(gè)新的想法中。另一個(gè)例子是對(duì)一個(gè)思想進(jìn)行循環(huán),以增強(qiáng)它。注意,這些轉(zhuǎn)換嚴(yán)格擴(kuò)展了CoT、CoT-SC、ToT中可用的轉(zhuǎn)換集合。
思維變換
GoT可以實(shí)現(xiàn)全新的思維變換(得益于將基于圖的模型用于推理),我們稱之為圖使能的變換(graph-enable transformation)。比如,在寫作任務(wù)中可以將多篇輸入文章組合成一篇連貫一致的摘要。在排序時(shí),可以將多個(gè)已排序的數(shù)值子數(shù)組合并為一個(gè)最終已排序數(shù)組。
形式上將,每個(gè)這樣的變換都可以建模成T(G,pθ),其中 G = (V, E) 是反映推理當(dāng)前狀態(tài)的圖,pθ 是所使用的 LLM。T 修改 G 的方式通常是通過(guò)添加新頂點(diǎn)及其傳入邊。于是有 G′ = T (G, pθ) = (V′, E′),其中 V′ = (V ∪ {V+}) \ {V?} 且 E′ = (E ∪ {E+}) \ {E?}。V+ 和 E+ 是注入到 G 中的新頂點(diǎn)和邊,它們分別建模的是新的思維和它們的依賴關(guān)系。
為了最大化 GoT 的表達(dá)能力,用戶還可以刪除思維,做法是指定要?jiǎng)h除的相應(yīng)頂點(diǎn)和邊(分別為 V? 和 E?)。在這里,確保集合 V+、E+、V? 和 E? 有一致的變換是用戶的責(zé)任(舉個(gè)例子,用戶不會(huì)嘗試刪除不存在的頂點(diǎn))。這使得 prompt 方案能無(wú)縫整合,其中用戶可以為了節(jié)省上下文中的空間而移除無(wú)法帶來(lái)提升的推理部分。
T 的具體形式及其影響 G 的方式取決于具體的變換。下面首先詳細(xì)介紹主要幾個(gè)圖使能的思維變換,然后會(huì)描述 GoT 何以囊括之前方案的變換。除非另有說(shuō)明,V? = E? = ?。
聚合變換:
用戶可以使用 GoT 將任意思維聚合成新思維,實(shí)現(xiàn)取長(zhǎng)補(bǔ)短。這里看看只創(chuàng)建一個(gè)新頂點(diǎn)的基礎(chǔ)形式:V+ = {v+} 且 E+ = {(v1, v+), …,(vk, v+)},其中 v1, …, vk 是被融合的 k 個(gè)思維。更一般而言,這能實(shí)現(xiàn)對(duì)推理路徑的聚合,即更長(zhǎng)的思維鏈,而不只是單個(gè)思維。使用圖模型,可以輕松實(shí)現(xiàn)聚合變換:通過(guò)添加來(lái)自建模了幾條鏈中最后思維的頂點(diǎn) v1, …, vk 的傳出邊,使之指向組合這些鏈的單個(gè)思維 v+。
細(xì)化變換:
另一種思維變換是通過(guò)修改內(nèi)容對(duì)當(dāng)前思維 v 進(jìn)行細(xì)化:V+ = {} 和 E+ = {(v, v)}。圖中的這個(gè)循環(huán)表示與原始思維有同樣連接的迭代版思維。
生成變換:
最后,用戶還可以基于已有的單個(gè)思維 v 生成一個(gè)或多個(gè)新思維。這一類別中包含 ToT 或 CoT-SC 等更早期方案中的類似推理步驟。在形式上:
思維的分類和排序
對(duì)思維評(píng)分的目的是為了理解當(dāng)前的解答是否足夠好。分?jǐn)?shù)被建模為一個(gè)一般函數(shù) E (v, G, pθ),其中 v 是所要評(píng)估的思維。為了盡可能讓 E 更普適通用,E 中還使用了推理的整個(gè)過(guò)程 (G),因?yàn)樵谀承┰u(píng)估場(chǎng)景中,分?jǐn)?shù)可能與其它思維相關(guān)。
GoT 也能排名。研究者使用了函數(shù) R (G, pθ, h) 來(lái)建模,其中 h 指定了要被 R 返回的 G 中排名最高的思維的數(shù)量。雖然 R 的具體形式取決于用例,但最常使用一個(gè)簡(jiǎn)單而有效的方法是返回分?jǐn)?shù)最高的 h 個(gè)思維,即 v1, …, vh = R (G, pθ, h)。
E 和 R 的具體形式取決于用例。
系統(tǒng)構(gòu)架和擴(kuò)展
GoT 由一組交互式模塊構(gòu)成,見(jiàn)下圖(藍(lán)色部分)。這些模塊是 Prompter(準(zhǔn)備用于 LLM 的消息)、Parser(解析器,提取 LLM 答復(fù)中的信息)、評(píng)分模塊(驗(yàn)證 LLM 答復(fù)并評(píng)分)、Controller(控制器,協(xié)調(diào)整個(gè)推理過(guò)程,并決定如何推進(jìn)推理)。Controller 中包含另外兩個(gè)重要組件:操作圖(GoO)和圖推理狀態(tài)(GRS)。GoO 是一個(gè)靜態(tài)結(jié)構(gòu),其指定了對(duì)給定任務(wù)的圖分解,即它規(guī)定了應(yīng)用于 LLM 思維的變換及其順序和依賴關(guān)系。GRS 是一個(gè)動(dòng)態(tài)結(jié)構(gòu),其維持著正在進(jìn)行的 LLM 推理過(guò)程的狀態(tài)(其思維及其狀態(tài)的歷史)。
Prompter(提示器)
Prompter準(zhǔn)備發(fā)送給LLM的提示。該模塊負(fù)責(zé)在提示中編碼圖結(jié)構(gòu)的具體細(xì)節(jié)。GoT架構(gòu)允許用戶通過(guò)提供對(duì)圖結(jié)構(gòu)的完全訪問(wèn),來(lái)實(shí)現(xiàn)對(duì)特定于用例的圖形編碼。
Parser(解析器)
解析器從LLM的思想中提取信息。對(duì)于每一個(gè)LLM思想,解析器構(gòu)建了思維狀態(tài),其中包括這些提取的信息。思維 狀態(tài)隨后用于相應(yīng)地更新GRS。
得分和驗(yàn)證
在此驗(yàn)證給定LLM的思想是否滿足潛在的正確性條件,然后給它分配一個(gè)分?jǐn)?shù)。根據(jù)分?jǐn)?shù)的推導(dǎo)方式,模塊可能會(huì)查閱LLM。此外,根據(jù)用例的不同,內(nèi)核也可能由人分配。最后,使用簡(jiǎn)單的本地排序函數(shù)進(jìn)行排序。
控制器(Controller)
控制器執(zhí)行一個(gè)特定的策略來(lái)從其GRS結(jié)構(gòu)中選擇思想。它還選擇應(yīng)該對(duì)哪些思想應(yīng)用哪些變換(聚合變換、細(xì)化變換、生成變換),然后將這些信息傳遞給提示器。它還決定了整個(gè)過(guò)程是否應(yīng)該被最終確定,或者是否應(yīng)該啟動(dòng)與LLM的下一輪互動(dòng)。在目前的設(shè)計(jì)中,這是由GoO中指定的執(zhí)行計(jì)劃決定的。
GoO和GRS
用戶構(gòu)造一個(gè)GoO實(shí)例,該實(shí)例規(guī)定了思維操作的執(zhí)行計(jì)劃。GoO是一個(gè)靜態(tài)結(jié)構(gòu),在執(zhí)行開(kāi)始之前構(gòu)造一次。每個(gè)操作對(duì)象都知道其前一個(gè)操作和后一個(gè)操作。然后,在執(zhí)行過(guò)程中,GoO的一個(gè)實(shí)例維護(hù)關(guān)于LLM推理過(guò)程的不斷更新的信息。這包括到目前為止執(zhí)行了哪些操作,它們的有效性和分?jǐn)?shù),以及任何其他相關(guān)信息。
上述元素提供了可擴(kuò)展的API,包括不同提示方案的直接實(shí)現(xiàn)。API在圖3的綠色部分中進(jìn)行了概述,并在文檔中進(jìn)行了詳細(xì)說(shuō)明。我們還在圖3的紅色部分提供了這些操作使用的提示實(shí)例和響應(yīng)的GRS。
實(shí)驗(yàn)用例
排序
詳細(xì)介紹一個(gè)排序的用例。我們專注于它的分解和操作圖,這是實(shí)現(xiàn)和執(zhí)行GoT中任何工作負(fù)載的核心。我們用雙復(fù)數(shù)對(duì)數(shù)字0-9進(jìn)行排序。由于 重復(fù)計(jì)數(shù)不匹配,大語(yǔ)言模型不能對(duì)某一長(zhǎng)度的數(shù)字進(jìn)行正確的排序。
重復(fù)計(jì)數(shù)的結(jié)果與實(shí)際的重復(fù)元素?cái)?shù)量不匹配
在GoT中,我們使用基于合并的排序:首先,將輸入的數(shù)字序列分解為子數(shù)組。然后,對(duì)這些子數(shù)組進(jìn)行單獨(dú)排序,然后將它們分別合并為最終方案。這里,LLM的思想是一個(gè)排序的數(shù)字序列。
為了對(duì)結(jié)果進(jìn)行評(píng)分,用[a1,a2,…,an]代表一個(gè)輸入序列,[b1,b2,…,bm]代表一個(gè)輸出序列。我們使用下列分?jǐn)?shù)作為錯(cuò)誤的范圍。
X指明有多少連續(xù)的數(shù)字對(duì)被錯(cuò)誤地排序了。如果兩個(gè)數(shù)字
i
i
i和
i
+
1
i+1
i+1排序錯(cuò)了(例如
b
i
>
b
i
b_i>b_i
bi?>bi?+1),那么求和中的表達(dá)式返回1,將錯(cuò)誤的分?jǐn)?shù)增加一。當(dāng)兩個(gè)數(shù)字正確的排序時(shí),求和中的表達(dá)式返回0。然后,Y確定了給定輸出序列在多大程度上保持輸出數(shù)字的頻率。對(duì)于每一個(gè)被考慮的數(shù)字x(x∈{0,…,9}),我們獲得等于x的輸入元素的計(jì)數(shù)與等于x的輸出元素的計(jì)數(shù)之間的差。對(duì)于完全保持輸出頻率為2的輸出序列,這將等于0。該計(jì)數(shù)中的任何一個(gè)“偏差”都會(huì)使“誤差范圍”增大。我們?nèi)缓髮⑵渑c所有考慮的值x相加。在繪制該分?jǐn)?shù)時(shí),為了提高繪圖的清晰度,我們還應(yīng)用了clipping min(error-scope, n),因?yàn)橐恍┗€(IO,CoT)會(huì)導(dǎo)致大量具有高誤差范圍的異常值。最后,要使用“正分?jǐn)?shù)”來(lái)描述“正確排序的范圍”元素,可以使用max(n — error-scope,0)
對(duì)min(error-scope, n)進(jìn)行剪裁。
剪裁是一種常見(jiàn)的數(shù)學(xué)操作,用于限制一個(gè)值的范圍在指定的上下限之間。
在這種情況下,"min(error-scope, n)"返回"error-scope"和"n"中的較小值,而剪裁操作會(huì)確保這個(gè)結(jié)果不會(huì)超過(guò)某個(gè)上限或低于某個(gè)下限。
集合運(yùn)算
此外,我呢還考慮了集合運(yùn)算,重點(diǎn)討論了集合交集。它們?cè)趶幕蚪M或者文檔比較 到模式匹配的問(wèn)題中的眾多應(yīng)用(特別是集合交集)。兩個(gè)集合的集合交集與排序類似。第二個(gè)輸入集合被劃分成子集,并借助LLM確定這些子集與第一個(gè)輸入的集合的交集。在這之后,這個(gè)交集集合被聚合成最終的結(jié)果。為了評(píng)估,我們使用了32,64,128個(gè)元素的不同集合大小,并且我們將兩個(gè)集合中的元素?cái)?shù)量都在變到25%到75%之間。
我們的分?jǐn)?shù)表示最終交叉點(diǎn)中缺失或正確包含的元素的總和。具體來(lái)說(shuō),用A=[a1,a2,…,an]和B=[b1,b2,…,bn]表示兩個(gè)輸入集合,C=[c1,c2,…,cn]表示輸出集合。所以,
其中X1=| C \ (A∩B) |是C中的不應(yīng)該在這的元素的數(shù)量,X2=| (A∩B) \ C|是C中缺失的元素?cái)?shù)量,Xd是C中的重復(fù)數(shù)量(因?yàn)榇笳Z(yǔ)言模型在自然語(yǔ)言中將集合表示為列表)。最后,可以使用max(n — error-scope, 0) 來(lái)使用“正得分”描述“正確計(jì)算的范圍”元素。
關(guān)鍵字計(jì)數(shù)
關(guān)鍵字計(jì)數(shù)找到在輸入文本中的一個(gè)給出類別的頻率(在示例中為:國(guó)家)。GoT將輸入文本劃分成多個(gè)段落,統(tǒng)計(jì)每個(gè)段落的關(guān)鍵字,并對(duì)子結(jié)果進(jìn)行聚類。段落的數(shù)量是可配置的,也可以留給LLM,從而可以將每個(gè)句子視為單獨(dú)的段落。在這里,為了給一個(gè)想法打分,我們首先(對(duì)于每個(gè)關(guān)鍵詞)推導(dǎo)出計(jì)算計(jì)數(shù)和正確計(jì)數(shù)之間差的絕對(duì)值。然后,我們將所有這些差值相加,得到最終的分?jǐn)?shù)。
文檔合并
最后,也提供了文檔合并。目標(biāo)是基于多個(gè)在內(nèi)容上部分重疊的輸入文件產(chǎn)生一個(gè)新的保密協(xié)議(NDA)文檔。這個(gè)目標(biāo)是確保盡量減少重復(fù),同時(shí)最大限度地保留信息。文檔合并廣泛適用,如法律程序,即必須將多個(gè)信息源合并為一個(gè)文檔或文章。為了對(duì)解決方案進(jìn)行評(píng)分,我們查詢LLM中的兩個(gè)值(每個(gè)值3次,取平均值)。第一個(gè)值對(duì)應(yīng)于解決方案的冗余(10表示沒(méi)有冗余,0表示至少一半信息冗余),第二個(gè)值表示信息的保留(10代表保留了所有信息,0表示沒(méi)有保留)。我們計(jì)算這些值的調(diào)和平均值。
延遲和量之間的權(quán)衡
GoT在延遲(GoT中達(dá)到給定最終思維的次數(shù))和量之間的權(quán)衡方面改進(jìn)了以前的提示方案。我們將給定思維 t 的體積定義為先前LLM思想的數(shù)量。形式上,t的體積是GoT中存在通向t的路徑的思想的數(shù)量。我們假設(shè)輸出單個(gè)思想花費(fèi)O(1)時(shí)間,并將每個(gè)提示方案的總成本固定為Θ(n)。
這些方案的結(jié)構(gòu)如下。CoT-SC由源自單一啟動(dòng)思想的k個(gè)獨(dú)立鏈組成。ToT是一個(gè)完整的k元樹(shù)。最后,在GoT中,一顆完整的k元樹(shù)在其葉子處與一顆大小相同但邊緣顛倒的鏡像k元樹(shù)相連。
CoT提供高達(dá)N的大容量,但以N的高延遲為代價(jià)。CoT-SC將延長(zhǎng)減少了k被(對(duì)應(yīng)于其分支),但同時(shí)也將容量減少了k。ToT提供了logkN的延遲,但體積很小。GoT是唯一一個(gè)同時(shí)具有l(wèi)ogkN的延遲和高容量N的方案。這是因?yàn)镚oT利用了思路的聚合,使得從圖分解中的任何其他中間思想中得出最終思想成為可能。
評(píng)估
展現(xiàn)GoT相對(duì)于現(xiàn)有技術(shù)的優(yōu)勢(shì),重點(diǎn)與ToT進(jìn)行了比較,因?yàn)門oT明顯優(yōu)于其他方案。盡管如此,為例進(jìn)行比較,還對(duì)IO、CoT、CoT-SC進(jìn)行了實(shí)驗(yàn)。由于分析結(jié)果在很大的評(píng)估空間中,作者給出了具有代表性的結(jié)果,并省略了不會(huì)帶來(lái)相關(guān)影響的數(shù)據(jù)(如CoT-SC)。
本文為每個(gè)任務(wù)使用100個(gè)輸入樣本,并比較基線。將溫度設(shè)置為1.0,除非另有說(shuō)明,否則我們使用4k的上下文。對(duì)于每個(gè)實(shí)驗(yàn),作者們?cè)诟鱾€(gè)方案中固定了思想的數(shù)量,以在每個(gè)實(shí)驗(yàn)中實(shí)現(xiàn)相似的成本。
參數(shù)
對(duì)分支因子k和水平數(shù)量L進(jìn)行了廣泛的實(shí)驗(yàn),以確保將GoT與具有成本效益和優(yōu)勢(shì)的組合進(jìn)行比較。繪制了ToT的兩個(gè)變體:一個(gè)具有較高的k(分支因子)和較低的深度(ToT),另一個(gè)具有較低的k但較高的L(水平數(shù)量)(ToT2)。通常的目標(biāo)是在稀疏生成輪數(shù)(較低的k)與更多論述(較大的L)之間的權(quán)衡中實(shí)現(xiàn)最佳點(diǎn)。通常,每輪更多的回復(fù)更為昂貴(例如,圖7的總回復(fù)為80比60,但成本為6美元比3美元)。我們還嘗試了不同的問(wèn)題大小P(例如,在排序中,P表示要排序的數(shù)字?jǐn)?shù)量)。使用LLM
由于預(yù)算限制,我們將重點(diǎn)放在GPT-3.5上,使用GPT-4。我們還用Llama-2進(jìn)行了實(shí)驗(yàn),但它通常比GPT-3.5更差,也更慢,因此無(wú)法獲得足夠的樣本。
GoT的優(yōu)勢(shì)
分析的結(jié)果:圖5(排序)、圖6(交集集合)、圖7(關(guān)鍵字統(tǒng)計(jì))、圖8(文檔合并)。
GoT vs. ToT
GoT與ToT相比,在所有考慮的問(wèn)題實(shí)例中,GoT完善了ToT和ToT2。ToT的質(zhì)量往往略高于ToT2,但同時(shí)成本也高得多。GoT的成本總是低于ToT,并且與ToT2相當(dāng)(在某些情況下更低,在另一些情況下更高)。
GoT vs. IO and CoT
已解決問(wèn)題的復(fù)雜性日益增大
關(guān)于任務(wù)分解的討論
當(dāng)將任務(wù)分解為子任務(wù),然后求解這些子任務(wù)時(shí),響應(yīng)和輸入(以令牌表示)的大小會(huì)隨著任務(wù)分解的程度而成比例減少。然而,提示的“靜態(tài)”部分(即少樣本提示)可能會(huì)成為一個(gè)巨大的開(kāi)銷(見(jiàn)圖7中的GoT4到GoT8)。在這里,我們觀察到,這些少樣本的示例 通常也可以縮小大?。ɡ纾糜谘菔娟P(guān)鍵字計(jì)數(shù)的通道也可以縮小,并且仍然可以指示實(shí)際輸入大?。?,從而努力降低成本(例如,見(jiàn)圖7中GoT8和GoTx之間的差異)。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-695547.html
進(jìn)行圖分解時(shí)的總體目標(biāo)是將任務(wù)分解到這樣一個(gè)點(diǎn),即LLM可以使用單個(gè)提示(或通過(guò)一些額外的改進(jìn)步驟)在最長(zhǎng)的時(shí)間內(nèi)正確求解。這顯著降低了在圖探索的后期階段所需的改進(jìn)/細(xì)化步驟的數(shù)量。此外,正如我們的結(jié)果所表明的,組合或合并子結(jié)果通常比從頭開(kāi)始解決大型任務(wù)實(shí)例更容易。因此,LLM在聚合最終解決方案時(shí)通常是成功的。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-695547.html
到了這里,關(guān)于GoT:用大語(yǔ)言模型解決復(fù)雜的問(wèn)題的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!