文章目錄
- CoT 的組成
- CoT 的作用
- CoT 的推理結構變體
- CoT 的特點
- CoT 的適用場景
- 總結
在人工智能領域,尤其是自然語言處理和機器學習中,有一種名為思維鏈(Chain of Thought,CoT)的技術,它正逐漸改變著我們對 AI 模型推理能力的認知。CoT 由 Google 在 2022 年的論文《Chain-of-Thought Prompting Elicits Reasoning in Large Language Models》中首次提出,其核心思想是讓大模型逐步參與將一個復雜問題分解為一步一步的子問題并依次進行求解,通過顯式輸出中間逐步的推理步驟來增強大模型的算數、常識和推理的質量。
CoT 的組成
一個完整的包含 CoT 的提示詞一般由以下三部分組成:
- 指令(Instruction) :用于描述問題并且告知大模型的輸出格式,讓模型明確知道需要做什么。
- 邏輯依據(Rationale) :指 CoT 的中間推理過程,可以包含問題的解決方案、中間推理步驟以及與問題相關的任何外部知識,是模型思考過程的具體體現。
- 示例(Exemplars) :以少樣本的方式為大模型提供輸入輸出對的基本格式,每個示例都包含問題、推理過程與答案,幫助模型更好地理解和學習如何進行推理。
根據是否包含示例,可將 CoT 分為 Zero-Shot-CoT 與 Few-Shot-CoT。Zero-Shot-CoT 僅在指令中添加一行經典的 “Let’s think step by step”,無需提供具體示例,即可喚醒大模型的推理能力;而 Few-Shot-CoT 則在示例中詳細描述了解題步驟,讓模型照貓畫虎得到推理能力。
CoT 的作用
- 提升模型推理能力 :CoT 將復雜問題分解為多個子問題,使模型能夠逐步解決,從而更好地應對復雜任務,顯著提高了大語言模型在復雜推理任務上的性能,如在數學推理任務 GSM8K 上,PaLM-540B 的準確率從 17% 提升至 58%。
- 增強模型的可解釋性 :顯式輸出的中間推理步驟為人們提供了一個觀察模型思考過程的窗口,方便使用者了解模型是如何得出答案的,也便于發現模型可能存在的錯誤,進而提高了大模型推理的可解釋性和可信度。
- 具有廣泛的適用性 :CoT 能用在數學應用題、常識推理和符號操作等多種任務上,幾乎涵蓋任何人類通過語言能解決的問題,并且支持任何語言模型使用,只需將其加在 few-shot 的樣例中即可生效,無需重新訓練模型。
CoT 的推理結構變體
- PoT(Program of Thought) :對思維鏈中大模型有可能出錯的一些計算問題,讓大模型生成編程語言在解釋器中運行,將復雜計算與模型的文本生成解耦,從而提高計算的準確性和可靠性。
- Tab-CoT(Tabular Chain of Thought) :迫使大模型在每一步的推理中記錄一個 “∣步數∣子問題∣過程∣結果∣” 的推理表格,并從生成的表格中提取答案,增強大模型的推理能力。
- ToT(Tree of Thought) :將 CoT 的鏈式結構擴展為樹形結構,讓大模型在解決子問題時生成多個不同的答案選擇,通過建立的樹形結構展望未來確定下一步的決策,并通過追溯來糾正歷史決策。
- GoT(Graph of Thought) :基于 ToT 的思想,將 Tree 拓展為 Graph,其核心在于一個 “控制器”,控制器處理對圖的操作以及圖狀態推理,將任務分解為相互連接的節點 - 邊關系,并維護大模型在生成的圖上的推理過程。
CoT 的特點
- 以人類解決問題的方式為靈感 :CoT 模仿人類解題時的思考模式,通過一系列連貫的邏輯推導來促進系統地解決問題,使 AI 模型更接近人類的思維方式。
- 涌現性 :當模型參數量達到百億級別時,CoT 才能顯著生效,發揮出其在提升模型推理能力方面的作用。
CoT 的適用場景
- 數學應用題 :對于復雜的數學問題,CoT 可以幫助模型逐步分解問題,進行算術推理,從而得到正確的答案。
- 常識推理 :在涉及常識的問答中,CoT 能夠讓模型展示出其推理過程,更好地運用常識進行推理和判斷。
- 符號操作 :如代碼生成等任務,CoT 可引導模型按照邏輯步驟生成正確的代碼。
- 其他需要邏輯推理的任務 :如邏輯謎題解答、數據解讀等,只要是可以將問題分解為多個步驟并通過邏輯推理解決的場景,CoT 都有其用武之地。
總結
CoT 作為一種簡單而有效的方法,為提高 AI 模型的推理能力和可解釋性提供了一種新的思路和解決方案。它通過引入中間推理步驟,使模型能夠更像人類一樣逐步思考和解決問題,在各種復雜任務中展現出了巨大的潛力和價值。隨著研究的不斷深入,CoT 將不斷進化和完善,并與其他技術相結合,進一步推動 AI 模型的發展和應用,為我們帶來更強大、更智能的人工智能系統。