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