首頁  >  文章  >  科技週邊  >  思維鏈CoT進化成思考圖GoT,比思考樹更優秀的提示工程技術誕生了

思維鏈CoT進化成思考圖GoT,比思考樹更優秀的提示工程技術誕生了

PHPz
PHPz轉載
2023-09-05 17:53:091079瀏覽

要讓大型語言模型(LLM)充分發揮其能力,有效的 prompt 設計方案是必不可少的,為此甚至出現了 prompt engineering(提示工程)這一新興領域。

在各種prompt 設計方案中,思維鏈(CoT)憑藉其強大的推理能力吸引了許多研究者和用戶的眼球,基於其改進的CoT-SC 以及更進一步的思維樹(ToT )也收穫了大量關注。

近日,蘇黎世聯邦理工學院、Cledar 和華沙理工大學的一個研究團隊提出了更進一步的想法:思維圖(GoT)。讓思考從鏈到樹到圖,為 LLM 建構推理過程的能力不斷提升,研究者也透過實驗證明了這一點。他們也發布了自己實現的 GoT 框架。

思維鏈CoT進化成思考圖GoT,比思考樹更優秀的提示工程技術誕生了

研究論文:https://arxiv.org/pdf/2308.09687v2.pdf

官方實作:https://github.com/spcl /graph-of-thoughts

論文概覽

大型語言模型正在變成人工智慧世界的主導技術。近年來高速發展的模型主要基於僅解碼器 Transformer 的變體,例如 GPT、PaLM 或 LLaMA。

而在解決不同的 LLM 任務時,prompt 工程設計是一種能有效利用資源的方法。簡單來說,就是在傳送給 LLM 的輸入中包含任務的描述。如果能以適當的形式描述該任務,那麼 LLM 就能藉助其用於生成文本的基於自回歸 token 的機制來解決該任務。這樣的prompt 可能包含帶有解答的範例任務(少樣本prompt 設計,也被稱為上下文學習(ICL),也可能完全不包含範例任務(零樣本prompt 設計)。近些年的研究和應用表明,此機制可用於解決涉及數學、常識或符號推理的多種類型的任務。

思維鏈(CoT)便是一種用於設計prompt 的方法,即prompt 中除了有任務的輸入和輸出外,還包含推理的中間步驟(中間思維)。研究表明,CoT 能極大地提升LLM 的能力,使之無需任何模型更新便能解決一些難題。

也有研究者改進了CoT,提出了使用CoT 實現自我一致的方法(CoT-SC);這個方案是產生多個CoT,再選出其中最佳的結果。

最近還有研究者更進一步提出了思維樹(ToT),其做法是透過樹(tree)來建模LLM 推理過程。這能讓模型使用不同的思維路徑,並能提供全新的功能,例如基於不好的結果反向回溯推理過程。不幸的是,由於ToT 方法為思考過程強加了嚴格的樹結構,所以會極大限制prompt 的推理能力。更多詳情請參閱本站文章《思考、思考、思考不停歇,思維樹ToT“軍事訓練」LLM》

蘇黎世聯邦理工學院、Cledar 和華沙理工大學的這個研究團隊認為,如果能將LLM 的思維建構成任意的圖結構,那麼就能為prompt 的能力帶來重大提升。他們表示,這個想法受到了多種現象的啟發,例如人類的推理方式、大腦結構和演算法的執行方式。

在進行思考時,人類不會像CoT 那樣僅遵循一條思維鏈,也不是像ToT 那樣嘗試多種不同途徑,而是會形成一個更複雜的思維網。舉個例子,一個人可能會先探索一條思維鏈,然後回溯再探索另一條,然後可能會意識到之前那條鏈的某個想法可以和當前鏈結合起來,取長補短,得到一個新的解決方案。類似地,大腦會形成複雜的網絡,呈現出類似圖的模式,比如循環模式。演算法執行時也會揭示出網路的模式,這往往可以表示成有向無環圖。

研究者表示,如果將這種對應的圖使能的變換用於LLM 思維,那麼有望創造一種強大的設計prompt 的方法,但這種變換無法透過CoT 或ToT 自然地表達出來。

然後他們觀察到:如果將LLM 的推理過程建模成圖,那麼就能自然地實現這些以及其它許多思維變換。基於這一觀察,他們提出了思維圖(GoT/Graph of Thoughts),這種方法可以透過網路形式的推理來增強LLM 的能力。

在 GoT 中,一個 LLM 思維會被建模成一個頂點,頂點之間的依賴關係則建模為邊。使用 GoT,透過建構有多於一條輸入邊的頂點,可以將任意思維聚合起來。整體而言,GoT 使用的圖抽象方法可無縫地將 CoT 和 ToT 泛化到更複雜的思維模式,而這個過程無需更新模型。

然而,要實際實現 GoT,還需要解決一些設計上的挑戰。例如,對於不同的任務,最佳的圖結構是什麼樣的呢?為了最大化準確度和最小化成本,聚合思考的最佳方法是什麼?

為了解答這些問題以及更多其它問題,這些研究者設計了實現 GoT 的模組化架構。設計有兩大亮點。

一是可實現對各個思維的細粒度控制。這讓使用者可以完全控制與 LLM 進行的對話並使用先進的思維變換,例如將正在進行的推理中兩個最有希望的思維組合起來得到一個新的。

二是這種架構設計考慮了可擴展性 —— 可無縫地擴展用於新的思維變換、推理模式(即思維圖)和 LLM 模型。這讓使用者可使用 GoT 快速為 prompt 的新設計想法建立原型,同時實驗 GPT-3.5、GPT-4 或 Llama-2 等不同模型。

研究者也展現了 GoT 的一些用例(排序、摘要的關鍵字計數、集合運算、文件合併),他們​​也詳細說明瞭如何使用基於圖的範式來實現它們。他們透過實驗評估了 GoT,展現了相對於其它當前最佳方法的優勢。

研究者表示,整體而言,GoT 尤其適用於可自然分解成更小子任務的任務,並且這些子任務可以分開解決,然後融合成一個最終解答。在這方面,GoT 的表現優於其它方案,例如在排序任務上,GoT 分別優於 CoT 和 ToT 約 70% 和 62%,同時成本還比 ToT 低 31% 以上。

表 1 給出了 GoT 與其它 prompt 設計方案的定性比較。 GoT 是唯一能在一個 prompt 內實現任意基於圖的思維變換的方案(例如聚合),從而能將先前的所有方案囊括進來。

思維鏈CoT進化成思考圖GoT,比思考樹更優秀的提示工程技術誕生了

他們還有另一項貢獻,即提出一種新的評估指標 —— 思維容量(the volume of a thought),可用來評估 prompt 設計策略。研究者表示,使用此指標的目標是更好地理解 prompt 設計方案之間的差異。

對於一個給定的思維 v,v 的容量是指 LLM 思維的數量,使用者可以基於此使用有向邊得到 v。直觀上說,這些就是所有有望對 v 做出貢獻的 LLM 思維。

作者透過研究表明,透過整合聚合等思維變換技術,GoT 能讓思維容量比其它方案顯著更大。

GoT 框架

下面詳細介紹一下 GoT 框架。其示意圖見圖 1,圖中也給出了其它 prompt 設計策略的示意圖。

思維鏈CoT進化成思考圖GoT,比思考樹更優秀的提示工程技術誕生了

在數學形式上,GoT 可以建模為一個元組(G, T, E, R),其中G 是LLM 推理過程(即上下文中的所有LLM 思維及其關係),T 是可能的思維變換,E 是用於獲得思維分數的評估器函數,R 是用於選擇最相關思維的排序函數。

推理過程

這裡,推理過程被建模為一個有向圖G = (V, E),其中V 是一組頂點,E ⊆ V × V 是一組邊。 G 是有向的,因此邊是有序頂點對 E ⊆ V × V 的子集。一個頂點包含目前問題的一個解答,不管這個問題是最初的問題、還​​是中間問題或最後的問題。這種思維的具體形式取決於用例;其可能是一段文字(在寫作任務中),也可能是一個數值序列(在排序任務中)。有向邊 (t_1, t_2) 表示思維 t_2 的建構方式是將 t_1 用作「直接輸入」,即透過明確指示 LLM 使用 t_1 來產生 t_2。

在某些用例中,圖節點屬於不同類別。舉個例子,在寫作任務中,某些頂點建模寫出一段文本的計劃,其它節點則建模實際的文本段。在這種情況下,GoT 採用異構圖G = (V, E, c) 來建模LLM 推理,其中c 將頂點V 映射到各自的類別C(在上述案例中,C = {plan, par} )。這樣一來,任何頂點 v 都可以建模推理的不同面向。

於是 G 就與 LLM 推理過程關聯了起來。為了推進此過程,使用者可對 G 使用思維變換。舉個這種變換的例子:將目前為止分數最高的思維融合成一個新的。另一個例子是對一個思維進行循環,以對其增強。請注意,這些變換嚴格擴展了 CoT、CoT-SC 或 ToT 中可用轉換的集合。

思維變換

得益於將基於圖的模型用於推理,GoT 能實現全新的思維變換。研究者稱之為圖使能的變換(graph-enabled transformation)。例如,在寫作任務中可以將多篇輸入文章組合成一篇連貫一致的摘要。在排序時,可將多個已排序的數值子數組合併為一個最終已排序數組。圖 2 給出了聚合和生成的範例。

思維鏈CoT進化成思考圖GoT,比思考樹更優秀的提示工程技術誕生了

從數學形式上講,每個這樣的變換都可以建模成T (G, p_θ),其中G = (V, E) 是反映推理當前狀態的圖,p_θ 是所使用的LLM。 T 修改 G 的方式通常是透過增加新頂點及其傳入邊。於是有G′ = T (G, p_θ) = (V′, E′),其中V′ = (V ∪ {V^ }) \ {V^−} 且E′ = (E ∪ {E^ }) \ {E^−}。 V^ 和 E^ 是注入到 G 中的新頂點和邊,它們分別建模的是新的思維和它們的依賴關係。

為了最大化 GoT 的表達能力,使用者也可以刪除思維,做法是指定要刪除的對應頂點和邊(分別為 V^− 和 E^−)。在這裡,確保集合 V^ 、E^ 、V^− 和 E^− 有一致的變換是使用者的責任(舉個例子,使用者不會嘗試刪除不存在的頂點)。這使得 prompt 方案能無縫整合,其中使用者可以為了節省上下文中的空間而移除無法帶來提升的推理部分。

T 的具體形式及其影響 G 的方式取決於具體的變換。以下首先詳細介紹主要幾個圖使能的思考變換,然後會描述 GoT 何以囊括之前方案的變換。除非另有說明,V^− = E^− = ∅。

聚合變換:使用者可以使用 GoT 將任意思維聚合成新思維,實現取長補短。這裡看看只創造一個新頂點的基礎形式:V^ = {v^ } 且E^ = {(v_1, v^ ), ...,(v_k, v^ )},其中v_1, ..., v_k 是被融合的k 個思維。更一般而言,這能實現對推理路徑的聚合,即更長的思考鏈,而不只是單一思維。使用圖模型,可以輕鬆實現聚合變換:透過添加來自建模了幾條鏈中最後思維的頂點 v_1, ..., v_k 的傳出邊,使之指向組合這些鏈的單一思維 v^ 。

細化變換:另一個思考變換是透過修改內容對當前思考 v 進行細化:V^ = {} 和 E^ = {(v, v)}。圖中的這個循環表示與原始思維有同樣連結的迭代版思維。

產生變換:最後,使用者也可以基於現有的單一思維 v 產生一個或多個新思維。這一類別中包含 ToT 或 CoT-SC 等更早方案中的類似推理步驟。從數學形式上講,有 

思維鏈CoT進化成思考圖GoT,比思考樹更優秀的提示工程技術誕生了

對思維進行評分和排名

對思維評分的目的是為了理解當前的解答是否夠好。分數被建模為一個一般函數 E (v, G, p_θ),其中 v 是所要評估的思維。為了盡可能讓 E 更普適通用,E 中也使用了推理的整個過程 (G),因為在某些評估場景中,分數可能與其它思考相關。

GoT 也能排名。研究者使用了函數 R (G, p_θ, h) 來建模,其中 h 指定了要被 R 返回的 G 中排名最高的思維的數量。雖然 R 的具體形式取決於用例,但最常使用簡單而有效的方法是傳回分數最高的 h 個思維,即 v_1, ..., v_h = R (G, p_θ, h)。

E 和 R 的具體形式取決於用例。

系統架構與擴充能力

GoT 由一組互動式模組構成,見圖 3(藍色部分)。這些模組是Prompter(準備用於LLM 的訊息)、Parser(解析器,提取LLM 答案中的信息)、評分模組(驗證LLM 答案並評分)、Controller(控制器,協調整個推理過程,並決定如何推進推理)。 Controller 中包含另外兩個重要元件:操作圖(GoO)和圖推理狀態(GRS)。 GoO 是一個靜態結構,其指定了對給定任務的圖分解,即它規定了應用於 LLM 思維的變換及其順序和依賴關係。 GRS 是一個動態結構,其維持著正在進行的 LLM 推理過程的狀態(其思維及其狀態的歷史)。

思維鏈CoT進化成思考圖GoT,比思考樹更優秀的提示工程技術誕生了

用例範例

研究者描述一些GoT 的一些用例,包括排序、集合運算、關鍵字計數、文件合併;下圖4 便是GoT 的排序用例中一個圖分解範例。這裡我們不對用例做詳細介紹,詳情請參考原論文。

思維鏈CoT進化成思考圖GoT,比思考樹更優秀的提示工程技術誕生了
思維鏈CoT進化成思考圖GoT,比思考樹更優秀的提示工程技術誕生了

延遲與容量的權衡

延遲(在思維圖中抵達給定最終思維的跳數)和容量之間的權衡也非常重要,研究者表明:GoT 在這一權衡上也優於先前的prompt 設計方案。這篇論文定義了一個新指標 —— 思維容量,即可以影響給定思維 t 的先前 LLM 思維的數量。從數學上看,思考 t 的容量就是在思考圖中,與 t 之間存在路徑的思考的數量。研究者假設輸出單一思維的成本為 O (1),並將每個提示方案的總成本固定為 Θ(n)。

各種方案的架構如下。 CoT-SC 由源自單一起始思維的 k 個獨立鏈所構成。 ToT 是一條完全 k 叉樹。而在 GoT 中,會在其葉節點處加入一個完全 k 叉樹,並帶有一個「鏡像」k 叉樹 —— 其大小一樣而邊是反向的。

詳細分析見表 2。 CoT 的容量較大,最大可至 N,但也有 N 的高延遲成本。 CoT-SC 將延遲降低了 k 倍(對應於其分支因子),但同時其容量也會減少 k 倍。 ToT 的延遲為 log_k N,但容量也很低。 GoT 是唯一能做到低延遲 log_k N 和高容量 N 的方案。 GoT 之所以能做到這一點,是因為其利用了思維聚合,使其可從圖分解中任何其它中間思維得到最終思維。

思維鏈CoT進化成思考圖GoT,比思考樹更優秀的提示工程技術誕生了

評估

研究者透過實驗展現了 GoT 相對於其它方案的優勢。其中重點比較的是 GoT 和 ToT,因為 ToT 的表現已經優於它方案了。當然,他們也還是用 IO、CoT 和 CoT-SC 做了一些實驗。

圖 5(排序)、6(集合交集)、7(關鍵字計數)、8(文件合併)展示了實驗結果。

思維鏈CoT進化成思考圖GoT,比思考樹更優秀的提示工程技術誕生了
思維鏈CoT進化成思考圖GoT,比思考樹更優秀的提示工程技術誕生了
思維鏈CoT進化成思考圖GoT,比思考樹更優秀的提示工程技術誕生了
思維鏈CoT進化成思考圖GoT,比思考樹更優秀的提示工程技術誕生了

#整體而言,在實驗評估過在的所有基準上,GoT 的輸出品質都優於ToT,並且也實現了更低的推理成本。

以上是思維鏈CoT進化成思考圖GoT,比思考樹更優秀的提示工程技術誕生了的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:jiqizhixin.com。如有侵權,請聯絡admin@php.cn刪除