機(jī)器之心發(fā)布作者:符堯符堯(yao.fu@ed.ac.uk),愛丁堡大學(xué) (University of Edinburgh) 博士生,本科畢業(yè)于北京大學(xué)。本文原文為英文,由作者與 GPT-4 交互翻譯為中文。感謝艾倫人工智能研究所 彭昊,Tushar Khot 的深入討論。
最近,很多關(guān)于較小模型的研究取得了令人振奮的對話能力,這讓人們想象,是否較小的模型能具有與像 GPT-3.5 這樣的大型模型相當(dāng)?shù)男阅堋?/span>一般來說,語言模型具有多維能力,所以模型之間的相互對比較為困難。找到正確的衡量標(biāo)準(zhǔn)對于開發(fā)強(qiáng)大的語言模型至關(guān)重要。在目前階段,研究者們急切想知道什么是度量大語言模型潛力的關(guān)鍵因素。
在 GPT-4 發(fā)布博客中,作者寫道:“在一次隨意的談話中,GPT-3.5 和 GPT-4 之間的區(qū)別可能是微妙的。當(dāng)任務(wù)的復(fù)雜程度達(dá)到足夠的閾值時,差異就會顯現(xiàn)出來?!?這意味著復(fù)雜任務(wù)很可能是大型和小型語言模型的關(guān)鍵差異因素。
更重要的是,復(fù)雜推理為基于語言模型構(gòu)建大量應(yīng)用程序提供了機(jī)會,從而使語言模型有機(jī)會成為下一代計算平臺 / 操作系統(tǒng)。這有可能從根本上改變?nèi)祟惻c機(jī)器的交互方式,重塑整個計算生態(tài)系統(tǒng)。
在這篇文章中,我們將仔細(xì)分析討論如何讓大語言模型擁有強(qiáng)大的復(fù)雜推理能力。
在天體攝影中,當(dāng)使用長曝光拍攝星軌時,北極星位于星軌的中心,始終指向真正的北方。在古代,它為旅行者指引方向。目錄
1 - 動機(jī):大語言模型作為新一代計算平臺我們研究復(fù)雜推理的原因有兩個:- 正如上文提到的,復(fù)雜推理是標(biāo)志著小模型與大模型差異的關(guān)鍵因素,這一點在 GPT-4 發(fā)布文章中已經(jīng)討論過。
- 復(fù)雜推理是使模型成為下一代操作系統(tǒng)的核心能力。
將語言模型視為下一代操作系統(tǒng)的愿景尤為有趣,因為它為構(gòu)建新應(yīng)用程序和創(chuàng)建基于語言模型的計算生態(tài)系統(tǒng)(可能比超級應(yīng)用程序如 ChatGPT 提供更大的機(jī)會)開辟了無數(shù)可能性。復(fù)雜推理能力是基礎(chǔ),因為如果我們希望模型成為新的操作系統(tǒng),它需要能夠通過與工具、用戶和外部環(huán)境的所有元素互動來完成復(fù)雜的指令。本文研究了如何訓(xùn)練具有強(qiáng)大復(fù)雜推理能力的模型,如何進(jìn)行提示工程以充分發(fā)揮模型的推理能力,以及如何評估模型的推理性能。本文的內(nèi)容分為以下幾部分:- 在第 2 部分,我們討論了構(gòu)建具有強(qiáng)大復(fù)雜推理能力的語言模型的現(xiàn)有方法。復(fù)雜推理的方案與通用大型語言模型(LLM)開發(fā)的方案相似,包括三個階段:持續(xù)訓(xùn)練 (continue training)、指令微調(diào) (instruction finetuning) 和強(qiáng)化學(xué)習(xí) (reinforcement learning)。我們還會進(jìn)一步討論代碼與推理之間令人驚訝的耦合關(guān)系。
- 在第 3 部分,我們討論了復(fù)雜推理的提示工程 (prompt engineering) 技術(shù)。當(dāng)語言模型成為新一代操作系統(tǒng)內(nèi)核時,提示工程 / 場景學(xué)習(xí)將成為新一代腳本編程 (shell script)。
- 在第 4 部分,我們討論了如何評估大型語言模型的推理能力。我們介紹 Chain-of-thought Hub,這是一個包含 100 多個推理任務(wù)的數(shù)據(jù)集合,清楚地標(biāo)示了大型與小型模型的差異。我們重點介紹了 LLaMA 65B 的出色表現(xiàn)。我們認(rèn)為它具有非常強(qiáng)大的潛力,可作為再現(xiàn) ChatGPT-3.5 的基座模型。
2 - 增加大語言模型推理能力的方案推理的方案與構(gòu)建通用大型語言模型和聊天機(jī)器人的方案密切相關(guān)??偣灿腥齻€階段:- 預(yù)訓(xùn)練 / 持續(xù)訓(xùn)練:在這個階段,我們通常在大型數(shù)據(jù)集(如科學(xué)文獻(xiàn)或代碼數(shù)據(jù))上訓(xùn)練大型模型。
- 有監(jiān)督微調(diào):在這個階段,我們對模型進(jìn)行微調(diào),以便完成復(fù)雜任務(wù)的指令。
- 強(qiáng)化學(xué)習(xí):在這個階段,我們使用諸如任務(wù)是否已全部 / 部分完成的信號作為獎勵。
我們進(jìn)一步回顧了在代碼上進(jìn)行訓(xùn)練也可以提高模型推理能力的假設(shè)。因此,在我們的文獻(xiàn)分析中,我們同時考慮推理和編碼。我們將看到,就學(xué)習(xí)方法而言,這兩者之間存在驚人的相關(guān)性。2.1 - 預(yù)訓(xùn)練與持續(xù)訓(xùn)練我們分析以下幾項研究:Lewkowycz et. al. 2022. Minerva: Solving Quantitative Reasoning Problems with Language Models
Taylor et. al. 2022. Galactica: A Large Language Model for Science
Chen et. al. 2021. Codex: Evaluating Large Language Models Trained on Code
這些研究發(fā)現(xiàn),在大量科學(xué)文獻(xiàn) / 代碼上進(jìn)行訓(xùn)練可以顯著提高基礎(chǔ)模型的推理/編碼能力。
2.2 - 監(jiān)督微調(diào)我們分析:目前關(guān)于指令微調(diào)的理解是:通過使用對話格式的數(shù)據(jù),將基本模型調(diào)優(yōu)為聊天機(jī)器人相對容易(參見像 Alpaca 和 MOSS 這樣的優(yōu)秀示例)。然而,閑聊的能力并不能轉(zhuǎn)化為執(zhí)行復(fù)雜任務(wù)的能力。從這個角度來看,模型就像人類一樣:說得多不如干得好,代碼見真章。
實際上,指令調(diào)優(yōu)問題是一個數(shù)據(jù)混合問題:如何最好地混合來自不同來源的指令數(shù)據(jù),以便從所有角度均勻地提高模型性能(而不是像在 CoT specialization 和 the flan collection 中討論的那樣,增加一個維度但降低另一個維度)。
數(shù)據(jù)混合的簡單起點是:使用 10-20 個非思維鏈的數(shù)據(jù)點(以平衡不同維度的能力),但盡可能多地使用鏈?zhǔn)剿季S數(shù)據(jù)(以最大化推理能力)。
2.3 - 強(qiáng)化學(xué)習(xí)我們分析:這兩項工作都使用中間信號(對于推理,看中間步驟是否正確;對于編碼,看代碼是否編譯)和最終信號(對于推理,最終答案是否正確;對于編碼,代碼是否通過測試)作為獎勵。需要注意的是,這種類型的強(qiáng)化學(xué)習(xí)與基于人類反饋的強(qiáng)化學(xué)習(xí)(RLHF)有所不同,因為它不需要人類反饋。2.4 - 推理能力和代碼能力的耦合在我們之前的討論中,我們提出了一個假設(shè),即在代碼上進(jìn)行訓(xùn)練可能會提高推理能力,原因如下:
代碼注釋是自然存在的鏈?zhǔn)剿季S數(shù)據(jù)
面向過程編程類似于逐步解決任務(wù)。這適用于簡單和中等復(fù)雜度的任務(wù)
面向?qū)ο缶幊填愃朴趯⑷蝿?wù)分解為較小的任務(wù),然后分別解決它們。這適用于較高復(fù)雜度的任務(wù)。
從這個顯著的一致性中,我們看到提高推理能力與提高編程能力非常相似。在此,我們通過強(qiáng)調(diào)訓(xùn)練大型語言模型進(jìn)行推理或編碼的配方相似性,深化了這個假設(shè):
我們看到推理和代碼都經(jīng)歷了:- 在連續(xù)訓(xùn)練階段,可以在基礎(chǔ)模型上增加代碼和科學(xué)文獻(xiàn)數(shù)據(jù)。
- 在有監(jiān)督的微調(diào)階段,可以根據(jù)要求完成復(fù)雜任務(wù)的指令或編寫代碼對模型進(jìn)行微調(diào)
- 在強(qiáng)化學(xué)習(xí)階段,將中間推理步驟 / 編譯率和最終推理結(jié)果 / 代碼通過率作為獎勵
- 在解碼過程中,推理和編碼都會采樣多個解決方案,然后從解碼空間中選擇最佳方案。
這些相似性使得代碼和推理之間的聯(lián)系非常有趣。在討論了如何構(gòu)建具有強(qiáng)大推理能力的模型之后。在本節(jié)中,我們將討論如何有效地提示模型以充分釋放模型的潛力。3.1 - 基礎(chǔ)思維鏈提示工程以下論文推薦給初學(xué)者:- Wei et. al. 2022. Chain-of-Thought Prompting Elicits Reasoning in Large Language Models.
- 本文是第一篇發(fā)現(xiàn)當(dāng)使用鏈?zhǔn)剿季S進(jìn)行提示時,存在一個相變現(xiàn)象,表明大型模型在很大程度上優(yōu)于較小的模型,這進(jìn)一步導(dǎo)致了涌現(xiàn)能力的發(fā)現(xiàn)。
- Wang et. al. 2022. Self-Consistency Improves Chain of Thought Reasoning in Language Models
- 對采樣的 CoT 推理路徑進(jìn)行多數(shù)投票,顯著提高了推理性能。
- Suzgun et. al. 2022. Challenging BIG-Bench Tasks and Whether Chain-of-Thought Can Solve Them
- 使用 CoT 處理 big-bench 中困難的任務(wù)。這篇論文的一個有意義的副產(chǎn)品是 BigBench Hard 數(shù)據(jù)集,它在測試模型推理能力方面非常有效。
3.2 - 進(jìn)階技巧及分析以下論文討論了高級 CoT 提示實踐:- Fu et. al. 2023. Complexity-Based Prompting for Multi-Step Reasoning
- Khot et. al. 2023. Decomposed Prompting: A Modular Approach for Solving Complex Tasks
- 將復(fù)雜任務(wù)分解為更簡單的任務(wù),然后逐個解決
通常,對于復(fù)雜任務(wù),首先將其分解為更簡單的任務(wù),然后逐步解決更簡單的任務(wù)。以下論文討論了上下文學(xué)習(xí)為什么起作用:- Xie et. al. 2021. An Explanation of In-context Learning as Implicit Bayesian Inference
- 語言模型在提示中的示例之間推斷出一個潛在概念,并進(jìn)入相應(yīng)的任務(wù)模式
- Wei et. al. 2023. Larger language models do in-context learning differently
- 當(dāng)出現(xiàn)與先驗知識相矛盾的上下文示例時,盡管大型模型可能具有更強(qiáng)的語義先驗,大型模型可以根據(jù)提示詞來覆蓋語義先驗。
簡而言之,上下文學(xué)習(xí)的要點是提示中的示例使模型進(jìn)入相應(yīng)的任務(wù)模式,然后執(zhí)行任務(wù)。以下論文討論了模型在進(jìn)行思維鏈推理時的行為:- Min et. al. 2022. Rethinking the Role of Demonstrations: What Makes In-Context Learning Work?
- 當(dāng)某些標(biāo)簽錯誤時,模型仍然可以做出正確的預(yù)測。這表明模型更受提示的 [格式] 影響,而不是提示的 [意義] 。
- Wang et. al. 2022. Towards Understanding Chain-of-Thought Prompting: An Empirical Study of What Matters
- 即使提示中的推理錯誤,模型仍然可以正確推理,但提示的相關(guān)性和推理步驟的順序更為重要 —— 這再次表明,模型更受提示的 [格式] 影響,而不是提示的[意義]。
- Madaan and Yazdanbakhsh. 2022. Text and Patterns: For Effective Chain of Thought, It Takes Two to Tango.
- 詳細(xì)分析顯示,提示的格式可以改善 CoT 推理(雖然內(nèi)容的正確性可能不起到強(qiáng)烈作用)
簡而言之,模型只關(guān)注提示的格式,但可能不會受到提示正確性的顯著影響。然而,模型在多大程度上會受到提示正確性的影響,或者提示可以在多大程度上覆蓋模型的先驗信念,還是一個尚待研究的問題。以下論文討論了如何通過改進(jìn)和反饋來提高模型性能:- Madaan. et. al. 2023. Self-refine: Iterative refinement with self-feedback
- 模型可以在多個場景中(包括代碼優(yōu)化、數(shù)學(xué)推理、對話響應(yīng)生成等)對自身的推理進(jìn)行優(yōu)化和改進(jìn)。
- Madaan et. al. 2023. Learning Performance-Improving Code Edits
- 在程序軌跡上進(jìn)行訓(xùn)練可以改善編碼。
簡而言之,以自然語言形式(而非強(qiáng)化學(xué)習(xí)中的獎勵形式)對模型進(jìn)行改進(jìn)和反饋非常有效,可以進(jìn)一步提高語言模型的性能(無論是通過上下文學(xué)習(xí)還是微調(diào))。在討論了訓(xùn)練強(qiáng)大模型的方法和提示技巧之后,現(xiàn)在我們討論對語言模型推理能力的評估。4.1 - 評價方法的基礎(chǔ)知識在談?wù)撛u估時,有三個重要因素需要考慮:數(shù)據(jù)格式、能力類型和模型類型。首先,提示時有四種數(shù)據(jù)格式:
其中:- In-context 指的是在測試問題之前附加一系列上下文示例。
- Zero-shot 是指在沒有上下文示例的情況下直接將測試問題輸入給模型。
- Chain-of-thought 是指在回答之前生成推理。
- Answer-only 是指沒有鏈?zhǔn)剿季S,直接給答案。
對于模型能力,有兩種大致正交的能力類型:- 知識 knowledge:模型是否了解世界
- 推理 reasoning:模型是否可以根據(jù)其知識進(jìn)行推理。
這兩個方面并不是嚴(yán)格正交的,因為一些推理規(guī)則也可以被視為某種形式的知識。然而,在評估時,這兩種能力有明顯的差異:- 一些數(shù)據(jù)集更注重對知識的評估,如 MMLU,它測試模型是否具有高達(dá)大學(xué)水平的知識。
- 一些數(shù)據(jù)集更注重對推理的評估,如 BBH,它測試模型是否具有逐步解決問題的能力。
- 對于知識,鏈?zhǔn)剿季S與僅回答的表現(xiàn)相似(參見 FlanPaLM 論文)
- 對于推理,鏈?zhǔn)剿季S比僅回答表現(xiàn)得更好(參見原始 CoT 論文,然后參見 FlanPaLM 論文)
在實踐中,因為 CoT 在達(dá)到或優(yōu)于 Answer-only 的表現(xiàn),而且 CoT 更加用戶友好(因為它告訴用戶思考過程),現(xiàn)代聊天機(jī)器人總是部署 CoT(無論你問 ChatGPT 什么,它都會告訴你一堆它的想法)。最后,在評估方面,我們區(qū)分了兩種類型的模型:預(yù)訓(xùn)練之后的 checkpoint 和指令微調(diào)之后的 checkpoint。4.2 - Chain-of-thought Hub 簡介
項目鏈接:https://github.com/FranxYao/chain-of-thought-hub在討論了所有評估基礎(chǔ)知識之后,我們介紹 Chain-of-thought Hub,這是一個正在進(jìn)行的工作,希望成為評估語言模型推理能力的統(tǒng)一平臺。我們匯編了一個包括數(shù)學(xué)(GSM8K)、科學(xué)(MATH)、符號(BBH)、知識(MMLU)等復(fù)雜推理任務(wù)的列表,以衡量哪些模型確實更好。下面是當(dāng)前的排行榜。盡管許多數(shù)字還沒跑出來,但當(dāng)前的內(nèi)容仍然能給一個大概的模型排名:
總的來說:- 我們根據(jù) GSM8K 對模型性能進(jìn)行排名,這是一個經(jīng)典的基準(zhǔn)測試,用于衡量鏈?zhǔn)剿季S數(shù)學(xué)推理性能。這不是唯一的度量標(biāo)準(zhǔn),但一個很好的解釋是 “在保持其他通用能力的同時,模型在數(shù)學(xué)方面的表現(xiàn)如何” —— 這也非常困難。
- GPT-4 在 GSM8K 和 MMLU 上明顯優(yōu)于所有其他模型。
- 65B LLaMA 與 text/code-davinci-002 非常接近,這意味著基于它,如果 SFT 和 RLHF 操作正確,我們很有可能基于 65B LLaMA 復(fù)現(xiàn) ChatGPT。
- Claude 是唯一可以與 GPT 系列相媲美的模型家族。
- 較小的模型,如 FlanT5 11B 和 LLaMA 7B,明顯落后于排行榜,這意味著復(fù)雜推理可能只是大型模型的能力。
進(jìn)一步地,在 github 倉庫中,我們包括了:- 詳細(xì)的實驗設(shè)置和結(jié)果分析
- 用于重現(xiàn) GPT 和 Claude 所有結(jié)果的腳本
試一下吧 :)在這篇文章中,我們討論了大型語言模型的推理能力。復(fù)雜推理不僅僅是因為它是更強(qiáng)模型與更弱模型之間的核心區(qū)分點,而且它還是模型成為下一代計算平臺 / 操作系統(tǒng)的基礎(chǔ)能力,從而有可能在大模型上建立一個新的生態(tài)系統(tǒng)。我們討論了構(gòu)建具有強(qiáng)大推理能力的模型的方法:預(yù)訓(xùn)練、有監(jiān)督的微調(diào)和強(qiáng)化學(xué)習(xí)。我們發(fā)現(xiàn)提高推理能力的方法與提高代碼能力的方法密切相關(guān),這加深了我們先前關(guān)于推理與代碼之間密切關(guān)系的假設(shè)。我們進(jìn)一步討論了高級提示工程技巧和在執(zhí)行復(fù)雜推理時模型行為的分析。最后,我們討論了如何評估模型的推理能力,并介紹了 chain-of-thought hub,這是一個正在進(jìn)行的項目,旨在統(tǒng)一評估語言模型的推理性能。我們希望這篇文章能成為構(gòu)建具有強(qiáng)大推理能力的開源模型的路線圖。人世間數(shù)百萬個閑暇的小時流逝過去,方始出現(xiàn)一個真正的歷史性時刻,人類星光閃耀的時刻 —— 《人類群星閃耀時》斯蒂芬·茨威格
- Lil’Log 2023. Prompt Engineering
- Microsoft Semantic Kernel
- Prompt Engineering Guide
- Huang and Chang 2022. Towards Reasoning in Large Language Models: A Survey
注:文中所提論文可以在原文頁面找到相應(yīng)網(wǎng)址。原文鏈接:https://yaofu.notion.site/6dafe3f8d11445ca9dcf8a2ca1c5b199
? THE END
投稿或?qū)で髨蟮溃篶ontent@jiqizhixin.com
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。