24 點游戲、幾何圖形、一步將死問題,這些推理密集型任務,難倒了一片大模型,怎么破?北大、UC 伯克利、斯坦福研究者最近提出了一種全新的 BoT 方法,用思維模板大幅增強了推理性能。而 Llama3-8B 在 BoT 的加持下,竟多次超越 Llama3-70B!
大語言模型不擅長推理怎么辦?用思維緩沖區(qū)(Buffer of Thoughts,BoT)來解決!
最近,北大、UC 伯克利、斯坦福的研究人員提出了一種元緩沖區(qū)(meta-buffer)。它可以存儲一系列信息豐富的高級思維,也就是所謂的「思維模板」,它是從各種任務的問題解決過程中蒸餾出來的。
然后,對于每個問題,都可以檢索相關的思維模板,然后用特定的推理結構讓它自適應,這樣就可以進行有效的推理了!
在以往,24 點游戲(Game of 24)、幾何圖形任務(Geometric Shapes)、一步將死問題(Checkmate-in-One)這些推理密集型任務,難倒了不少 LLM。
而使用思維緩沖區(qū)(BoT)后,與之前的 SOTA 相比,LLM 在 24 點游戲的性能提升了 11%,幾何圖形任務的性能提升了 20%,一步將死問題的性能則一舉提升了 50%。
分析顯示,BoT 具有卓越的泛化能力和模型魯棒性。
甚至,原本在各項任務中慘敗的 Llama3-8B 小模型,在 BoT 的加持下,竟然性能大升級,在多項任務上一舉超越了 Llama3-70B!
在實驗過程中,團隊設計了一種緩沖區(qū)管理器(buffer-manager)。這種管理器可以從各種解決方案中,蒸餾出思維模板,而隨著 LLM 解決的任務越來越多,元緩沖區(qū)的容量也在不斷增大。
而且,BoT 的成本也很香,平均只需要多查詢提示方法成本的 12%。
LLM 推理難,兩種方法均有局限
咱們都知道,GPT-4、PaLM、Llama 這些大模型選手,都是完成推理任務的佼佼者了。
怎么能讓它們的推理性能變強,更上一層樓呢?
除了擴大模型規(guī)模,還有一個辦法,就是通過更有效的提示方法。
具體來說,這些方法分為兩類。
1. 單查詢推理
這類方法主要是靠提示工程,讓推理過程在單個查詢中完成,比如 CoT 的「讓我們一步一步思考」。
或者 Few-shot Prompting,能提供與任務相關的示例來幫助生成答案。
然而,單查詢推理通常需要事先假設或推理過程的相關示例,逐個任務地手動設計,顯然是不切實際的。因而它缺乏普適性和泛化性。
2. 多查詢推理
包括 Least-to-Most、ToT、GoT 等,它們側(cè)重于利用多個 LLM 查詢,來引出不同的合理推理路徑,從而將復雜問題分解為一系列更簡單的子問題。
然而,由于推理路徑的遞歸擴展,多查詢推理在為每個特定任務找到推理過程背后唯一的內(nèi)在結構時,通常是計算密集型的。
另外,這兩種方法都受限于設計范例和推理結構的限制,而且之前的任務做完了就做完了,它們不會從中得到高級的指導方針和思維。再遇到類似問題時,它們依然效率很低。
因此,BoT 誕生了!
這種新穎、多功能的思維增強框架,能夠規(guī)避上述兩種方法的弱點。
BoT 有三個關鍵優(yōu)勢 ——
1. 準確性:通過共享的思維模板,LLM 可以自適應地實例化高層次思維來解決不同任務,由于期間無需從頭構建推理結構,因此推理的準確性便得到了提高。
2. 推理效率:通過思維增強推理,LLM 能夠直接利用信息豐富的歷史推理結構進行推理,由于期間無需復雜的多查詢過程,因此推理的效率便得到了提高。
3. 魯棒性:從思維檢索到思維實例化的過程,類似于人類的思維過程,這就讓 LLM 能夠以一致的方式解決類似問題,從而顯著增強了模型的魯棒性。
Buffer of Thoughts
從圖 2 中,可以看出 BoT 是怎樣用核心思維增強推理任務的。
對于給定的特定任務,團隊首先會用問題蒸餾器來提取關鍵認為的具體信息,以及相關限制。
蒸餾出這些信息后,就可以在包含了一系列高級思維(思維模板)的元緩沖區(qū)中進行搜索了。這個過程中,會檢索到與任務最相關的思維模板。
隨后,就可以用更多特定任務的推理結構,實例化搜索到的思維模板,進行推理過程。
最后一步,就是使用緩沖區(qū)管理器來總結整個問題解決過程,并且蒸餾出增加其容量的高層思維。
不同推理過程的示意圖(橙色為思維模板,藍色為實例化的思維)
問題蒸餾器
大多數(shù)復雜任務,都包含隱含的約束、復雜的對象關系以及上下文中的復雜變量和參數(shù)。
因此,在推理階段,LLM 需要克服三個主要挑戰(zhàn):提取重要信息、識別潛在約束以及進行準確推理。
對于單個 LLM,這些挑戰(zhàn)會造成顯著的負擔。
因此,團隊選擇將任務信息的提取和理解階段與最終的推理階段分開,通過在推理過程中添加一個問題蒸餾器來實現(xiàn)。
為此,他們設計了一個元提示(meta prompt)φ,用于首先蒸餾和形式化任務信息。
蒸餾后的任務信息可以表示為:
問題蒸餾器的詳細元提示如下:
作為信息蒸餾領域的高度專業(yè)和智能專家,你擅長從用戶輸入查詢中提取關鍵信息以解決問題。你能夠熟練地將提取的信息轉(zhuǎn)化為適合相應問題類型的格式。
請分類并提取解決問題所需的關鍵信息,包括:
1. 關鍵信息:從用戶輸入中提取的關鍵變量的值和信息,這些信息將交給相應的專家進行任務解決,確保提供解決問題所需的所有必要信息。
2. 限制條件:問題的目標和相應的約束。
3. 蒸餾任務:基于 1 和 2 擴展問題,總結一個可以解決用戶查詢并處理更多輸入和輸出變化的元問題。結合擴展問題的真實場景以及原始問題中的關鍵變量類型和信息約束來限制擴展問題中的關鍵變量。之后,使用用戶查詢輸入的關鍵信息作為輸入來解決問題作為示例。
用元緩沖區(qū),讓思維推理增強
- 動機
人類在解決問題時,常??偨Y和歸納出高層次的指導方針,然后將其應用于相關問題。
正是受此啟發(fā),團隊提出了元緩沖區(qū)(meta-buffer),這是一種包含一系列高層次思維(思維模板)的輕量級庫,用于解決各種類型的問題。
與傳統(tǒng)方法不同,這種高層次思維模板可以在解決不同問題時自適應地實例化,從而為 LLM 提供更高的精度和靈活性。
- 思維模板
作為一種高層次的指導方針,思維模板存儲在元緩沖區(qū)中,并由緩沖區(qū)管理器從各種問題解決過程中獲取。
為了讓 BoT 能夠為各種任務提供通用的推理方法,團隊相應地將思維模板分類為六類:文本理解、創(chuàng)造性語言生成、常識推理、數(shù)學推理、代碼編程和應用調(diào)度。
這樣的思維模板分類,可以促進模板檢索,找到最適合解決不同問題的方案。
其中,思維模板、模板描述及其對應的類別表示為 (Ti, D_Ti, Ck),其中 i 表示元模板的索引,k∈Z^+ 且 1≤k≤6。
以下就是六個不同類別的思維模板示例。
1. 文本理解
在這個任務中,LLM 需要分析一張涉及企鵝各種屬性(如姓名、年齡、身高、體重)的表格,然后回答有關這些屬性的問題。
解決方案描述:
為了準確回答有關企鵝屬性的問題,必須能夠解釋表格形式的數(shù)據(jù),理解自然語言提供的附加信息,并運用邏輯推理來識別正確的屬性。
思維模板:
步驟 1:解析初始表格,提取標題信息和每只企鵝的屬性到結構化格式中(例如,一個字典列表)。
步驟 2:閱讀并整合任何更新或添加到表格中的自然語言信息,確保數(shù)據(jù)保持一致。
步驟 3:識別所問的屬性(例如,最老的企鵝、最重的企鵝)和表格中的相應列。
步驟 4:運用邏輯推理比較所有條目的相關屬性,以找到正確答案(例如,最老的企鵝的最高年齡)。
步驟 5:從提供的選項中選擇與邏輯比較結果相匹配的答案。
2. 創(chuàng)造性語言生成
在這項任務中,LLM 需要生成一首十四行詩,遵循傳統(tǒng)的押韻模式「ABAB CDCD EFEF GG」,并在詩中逐字包含三個特定的詞。
解決方案描述:
寫十四行詩需要創(chuàng)作 14 行詩歌,遵循特定的押韻模式。這些詩行通常采用抑揚格五音步,但為了創(chuàng)意可以在節(jié)奏上進行適當調(diào)整。給定的押韻模式規(guī)定了每行的結尾音,以確保詩歌的結構性。逐字包含提供的三個詞需要在詩行中進行巧妙安排,以保持詩歌的連貫性和主題一致性。
思維模板:
步驟 1:確定必須包含在十四行詩中的三個詞。
步驟 2:理解押韻模式「ABAB CDCD EFEF GG」,并準備一份可以使用的押韻詞列表。
步驟 3:為十四行詩設計一個可以自然包含這三個詞的主題或故事。
步驟 4:開始起草十四行詩,按照「ABAB」押韻模式寫第一節(jié)(四行),確保包含一個或多個提供的詞。
步驟 5:繼續(xù)寫第二節(jié)「CDCD」,第三節(jié)「EFEF」,最后是結束的對聯(lián)「GG」,每次根據(jù)需要包含提供的詞。
步驟 6:檢查十四行詩的連貫性、流暢性和對押韻模式的遵循情況,并根據(jù)需要進行調(diào)整。
3. 常識推理
在這項任務中,會給出任務的日期和事件(例如假期或歷史事件),讓 LLM 確定日期。
解決方案描述:
要確定下一個日期,我們需要考慮日歷的結構、每個月的天數(shù)以及是否是閏年。通常,每月的天數(shù)是固定的,但二月可能因閏年而有所不同。一年中的第二天通常是日期增加一天,除非是月底,那么第二天將是下個月的第一天。對于年底第二天將是下一年的 1 月 1 日。
思維模板:
步驟 1:識別給定日期的月份和日期。
步驟 2:檢查是否是月底;如果是,則確認下個月的開始日期。
步驟 3:如果不是月底,只需在日數(shù)上加一即可。
步驟 4:特別注意年底,確保年份遞增。
4. 數(shù)學推理
在這項任務中,LLM 需要解決形式為 ax^2 + bx + c = 0 的二次方程,并考慮所有可能的情況。
5. 代碼編程
在這項任務中,會給定一組數(shù)字,此時 LLM 需要嘗試利用四種基本數(shù)學運算(加、減、乘、除)來得到目標數(shù)字。
6. 應用調(diào)度
在這項任務中,LLM 需要根據(jù)給定的國際象棋的標準代數(shù)記譜法(SAN)棋步,更新棋盤狀態(tài)。
- 模板檢索
對于每個任務,BoT 會通過計算描述 D_Ti 和蒸餾問題 xd 之間的嵌入相似性,檢索出與蒸餾問題 xd 高度相似的思維模板 Ti。
其中,檢索過程可以表述為:
- 實例化推理
第一種情況是 BoT 成功為任務檢索到一個思維模板 Tj。
這時,BoT 將使用團隊設計的實例化提示自適應地實例化為合適的推理結構。
例如,在一步將死問題中,就會使用蒸餾信息 xd 和檢索到的模板 Tj 對任務 x 進行實例化推理,并生成其解決方案 Sx,如下所示:
第二種情況是 BoT 將該任務被識別為一個新的任務。
為此,團隊準備了三個通用的粗粒度思維模板,而 BoT 則會基于蒸餾的任務信息 xd,自動分配一個合適的思維模板到推理過程中。
你是一位元推理者,精通各個領域的知識,包括計算機科學、數(shù)學、物理、文學、歷史、化學、邏輯推理、文化、語言等。你還能根據(jù)不同任務找到合適的高級思維方式。以下是三種推理結構:
i) 基于提示的結構:在處理常識推理、應用調(diào)度等問題時表現(xiàn)良好。
ii) 基于過程的結構:在處理創(chuàng)造性任務如創(chuàng)造性語言生成和文本理解時表現(xiàn)良好。
iii) 基于編程的結構:在處理數(shù)學推理和代碼編程時表現(xiàn)良好,還可以將現(xiàn)實世界的問題轉(zhuǎn)化為編程問題,從而高效地解決問題。
(推理實例化)
你的任務是:
1. 深思熟慮地考慮上下文和問題蒸餾器蒸餾出的響應中的問題,并利用你對問題的理解找到適合解決問題的領域?qū)<摇?/p>
2. 考慮蒸餾的信息,為問題選擇一種推理結構。
3. 如果提供了思維模板,請直接按照思維模板實例化給定問題。
緩沖區(qū)管理器
緩沖區(qū)管理器(buffer-manager)的作用是,總結從每個問題解決過程中獲得的高層次指導方針和思維。
它可以將每個具體解決方案推廣到更多問題中,并以思維模板的形式將關鍵的蒸餾知識存儲在元緩沖區(qū)中。
與為每個問題臨時生成示例或指令的方法不同,緩沖區(qū)管理器可以確保在準確性、效率和魯棒性方面的永久性提升。
模板蒸餾提示:
用戶:[問題描述]+[解決方案步驟或代碼]
要提取和總結解決此類問題的高級范例和一般方法,請按照以下步驟進行回復:
1. 核心任務總結:
識別并描述問題的基本類型和核心挑戰(zhàn),例如將其分類為數(shù)學問題(例如,求解二次方程)、數(shù)據(jù)結構問題(例如,數(shù)組排序)、算法問題(例如,搜索算法)等,并分析解決問題的最有效方法。
2. 求解步驟描述:概述求解的一般步驟,包括如何定義問題、確定變量、列出關鍵方程或約束、選擇合適的求解策略和方法,以及如何驗證結果的正確性。
3. 通用答案模板:根據(jù)上述分析,提出一個可以泛應用于此類問題的模板或方法,包括可能的變量、函數(shù)、類定義等如果是編程問題,提供一組基類和接口可用于構建具體問題的解決方案。
請確保你的回答高度簡潔和結構化,以便具體解決方案可以轉(zhuǎn)化為可推廣的方法。
[可選] 以下是思想模板的一些示例:(選擇跨任務或-基于核心任務總結分析的任務范例。)
- 模板蒸餾
為了提取通用的思維模板,團隊提出了一個三步法:
(1)核心任務總結:識別并描述問題的基本類型和核心挑戰(zhàn);
(2)解決步驟描述:總結解決問題的一般步驟;
(3)通用回答模板:基于上述分析,提出一個可以廣泛應用于類似問題的解決模板或方法。
此外,為了提高模板蒸餾的泛化能力和穩(wěn)定性,團隊精心設計了兩種上下文示例來生成思維模板 —— 任務內(nèi)示例和跨任務示例。
跨任務示是指,選擇從某個任務中蒸餾出的模板,來解決其他任務的問題。例如,用與代碼相關的思維模板來解決數(shù)學問題。
從輸入任務 x 中蒸餾出的新模板可以表示為:
- 元緩沖區(qū)的動態(tài)更新
在模板蒸餾之后,需要考慮是否將蒸餾的模板更新到元緩沖區(qū)中。
- 如果初始化了一個空的元緩沖區(qū)或遇到?jīng)]有合適思維模板的問題,蒸餾的思維模板將直接存儲在元緩沖區(qū)中;
- 如果是用了檢索到的思維模板解決的問題,也可能會在實例化某個思維模板的過程中會產(chǎn)生新的見解。
因此,為了在保持新生成有用思維的同時避免元緩沖區(qū)的冗余,需要計算
和
的嵌入向量之間的相似性,并根據(jù)以下規(guī)則更新元緩沖區(qū):
否則,這意味著元緩沖區(qū)已經(jīng)具備解決此任務所需的知識,不需要進行更新。
這種動態(tài)更新策略有效減少了模板檢索的計算負擔,同時確保了元緩沖區(qū)的輕量化特性。
實驗結果
- 數(shù)據(jù)集和任務
為了評估 BoT 的有效性,并與之前的方法進行比較,團隊選擇了一組多樣化的任務和數(shù)據(jù)集。
這些任務和數(shù)據(jù)集需要不同程度的數(shù)學和算法推理、特定領域知識以及文學創(chuàng)造力:
1. 來自 ToT 的 24 點游戲(Game of 24)
2. 三個 BIG-Bench Hard (BBH)任務:幾何圖形(Geometric Shapes),多步算術二(Multi-Step Arithmetic Two),和單詞排序(Word Sorting);
3. 直接從 BIG-Bench 中獲得的三個推理任務:一步將死(Checkmate-in-One)、企鵝(Penguins),以及日期理解(DateUnderstanding);
4. Python 編程題(P3),一組用 Python 編寫的具有不同難度級別的挑戰(zhàn)性編程題;
5. 多語言小學數(shù)學(MGSM),GSM8K 數(shù)據(jù)集的多語言版本,包含十種語言類型(包括孟加拉語、日語和斯瓦希里語);
6. 根據(jù)元提示進行的莎士比亞十四行詩寫作(Sonnet Writing)。
- 實現(xiàn)和基線
為了與之前的方法進行公平比較,團隊選擇了 GPT-4 作為 BoT 的基線模型。
并且還在 NVIDIA A100-PCIE-40GB GPU 上使用 Llama3-8B 和 Llama3-70B 進行了分析。
更好的準確性、效率和魯棒性
- 推理準確性
結果顯示,BoT 在多個具有挑戰(zhàn)性的基準測試中始終優(yōu)于所有之前的提示方法,特別是在諸如如 24 點游戲和一步將死這類的復雜推理任務上。
在 24 點游戲中,與原始 GPT-4 相比,BoT 的準確性實現(xiàn)了高達 79.4% 的驚人提升;而與該項之前的 SOTA——ToT 相比,BoT 也實現(xiàn)了 8.4% 的提升。
與最近提出的元提示相比,BoT 在 24 點游戲中提高了 23% 的準確性,在幾何圖形中提高了 20%,在一步將死中提高了 51%。
現(xiàn)有方法需要復雜的、迭代的和啟發(fā)式的搜索策略來逐個解決這些問題。
而 BoT 則會利用思維模板中的歷史見解和信息性指導方針,并自適應地實例化一個更優(yōu)的推理結構來解決這些復雜問題。
- 推理效率
除了在準確性上有著顯著提升之外,作為一種多查詢方法,BoT 在各種任務中還可以實現(xiàn)與單查詢方法相當?shù)耐评頃r間,同時顯著少于傳統(tǒng)的多查詢方法(如 ToT)。
例如,在 24 點游戲中,單查詢和多查詢方法都需要迭代和啟發(fā)式搜索來找到可行的解決方案。
這個過程特別耗時且效率低下,尤其是對于多查詢方法,它涉及進行多次查詢搜索和回溯階段。
相比之下,BoT 能夠直接檢索代碼格式的思維模板,從而實例化一個程序來遍歷數(shù)字和符號的組合,從而無需從頭構建推理結構。
這使得在調(diào)用問題蒸餾器后,僅用一次查詢即可解決問題,顯著減少了復雜推理所需的時間。
值得注意的是,BoT 平均僅需多查詢方法 12% 的成本。
- 推理魯棒性
為了更好地評估 BoT,團隊設計了一種用于評估推理魯棒性的新指標 —— 成功率。
首先,從各種基準中隨機抽取 1000 個示例作為測試子集,并在該子集上評估不同的方法。其次,重復這一評估過程 10 次,并將平均準確率作為不同方法在每個基準上的成功率。
結果顯示,與其他方法相比,BoT 在各種任務中都保持著最高的成功率 ——
不僅在平均成績上,比 ToT 高出了 10%;甚至在 24 點游戲中,比原始的 GPT-4 高出了 71% 之多。
這是因為 BoT 在不同任務中蒸餾的思維模板,有著出色的泛化能力。通過利用思維模板中提供高層次思維,BoT 在不同任務中的穩(wěn)定性得到了極大提升。
模型分析
- 思維模板的分布分析
測試結果顯示,在包含更多多樣化場景的 MGSM 任務中,BoT 生成了更多的思維模板。而在相對簡單的任務中,則生成了更具針對性的固定思維模板。
模板的分布表明,BoT 可以有效地為不同的基準發(fā)現(xiàn)合適的思維模板。
- 時間成本分布分析
在時間成本方面,蒸餾任務信息和模板檢索所需的時間相對較短,而實例化推理所需的時間較長。
考慮到不同組件的復雜性,BoT 整體上還是實現(xiàn)了相對平衡的時間成本分布,展示出了新框架的高效。
思維模板和時間的分布分析(左為思維模板;右為時間成本)
- 更好的規(guī)模與性能權衡
可以看到,原始 Llama3-8B 和 Llama3-70B 模型在測試任務中的表現(xiàn)很差,但在獲得 BoT 的加持之后,它們的準確性都有顯著提升。
不僅如此,BoT+Llama3-8B 還在 24 點游戲和一步將死任務中成功實現(xiàn)了對 Llama3-70B 的大幅超越。
消融研究
- 問題蒸餾器的影響
當問題蒸餾器被禁用時,Llama3-70B 和 GPT-4 的準確性都有所下降。
其中,在諸如 24 點游戲和一步將死這類更為復雜的問題上,降幅更為明顯。而在諸如單詞排序和 MGSM 這類相對簡單的問題上,降幅較小。
這是因為,在處理復雜問題時,提取關鍵信息和潛在約束更具挑戰(zhàn)性,由此使得問題蒸餾器的作用更加突出。
- 元緩沖區(qū)的影響
當元緩沖區(qū)被禁用時,Llama3-70B 和 GPT-4 模型的性能顯著下降,特別是在需要復雜推理的基準測試中,如 24 點游戲和一步將死。
這進一步強調(diào)了我們元緩沖區(qū)在解決復雜問題上的優(yōu)勢。
- 緩沖區(qū)管理器的影響
實驗共分 4 輪,每一輪都會從各個基準中隨機抽取 50 個問題并進行推理。
隨著輪次的增加,帶有緩沖區(qū)管理器的模型不斷擴展元緩沖區(qū),同時利用從先前解決的問題中獲得的思維模板來幫助解決后續(xù)類似的問題。
因此可以看到,BoT 的準確性在每一輪中穩(wěn)步提高。相反,沒有緩沖區(qū)管理器的模型未能表現(xiàn)出上升趨勢。
推理時間方面,當輪次增加時,帶有緩沖區(qū)管理器的模型的推理效率會持續(xù)提高。
這是因為隨著元緩沖區(qū)的不斷擴展,檢索到合適思維模板的可能性也增加。因此,模型可以避免從頭構建推理結構,從而相應地提高推理效率。
作者介紹
Ling Yang
論文的共同一作 Ling Yang 目前是北京大學的三年級博士生,導師是 Bin Cui、Luxia Zhang 和 Ming-Hsuan Yang。
他的研究興趣包括擴散模型(Diffusion Models)、多模態(tài)學習(Multimodal Learning)和 AI for Science。
他曾擔任多個國際會議和期刊的程序委員會成員或?qū)徃迦?,包?SIGGRAPH、TPAMI、ICML、ICLR、NeurIPS、CVPR、KDD、AAAI。
崔斌(Bin Cui)
崔斌現(xiàn)為北京大學計算機學院教授、博士生導師,擔任數(shù)據(jù)科學與工程研究所長。在相關領域頂級會議和期刊發(fā)表學術論文 300 多篇。
他主持和承擔多個科研項目,如國家自然科學基金、國家重點研發(fā)計劃、核高基項目、863 計劃等。
他擔任 / 曾擔任中國計算機學會理事、數(shù)據(jù)庫專委會副主任,VLDB 理事會理事,DSE 期刊主編,IEEE TKDE、VLDB Journal、DAPD 等國際期刊編委,擔任過數(shù)十個國際會議的程序委員會委員,包括一流國際會議 SIGMOD、VLDB、ICDE、KDD 等。
參考資料:
https://arxiv.org/abs/2406.04271
廣告聲明:文內(nèi)含有的對外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結果僅供參考,IT之家所有文章均包含本聲明。