簡介
什麼是大型語言模型中的自動思維鏈提示?在這篇部落格中,我們將這個問題拆解成小部分,從思維鏈(CoT)提示的定義開始,再到 Auto CoT 的優勢與發展。最後,我們將討論 LLM API 作為應用 Auto CoT 的核心部分。敬請關注,探索強大的 Auto CoT!
什麼是 CoT 提示?
思維鏈(Chain-of-Thought,簡稱 CoT)提示是一種用於增強大型語言模型(LLMs)推理能力的技術。LLM(如 GPT-3)在問答、文字生成和問題解決等多種任務上表現出色。
然而,在許多複雜的推理任務中,LLM 可能難以提供完整且連貫的逐步解決方案。CoT 提示旨在透過引導語言模型生成「思維鏈」(一系列中間推理步驟,最終導向答案)來解決這個問題。
CoT 提示的核心概念是促使語言模型明確地思考問題,而不僅僅是給出直接答案。這通常是透過在輸入問題旁邊加入類似「讓我們一步一步思考」或「解釋你的推理」的提示來實現。CoT 提示能夠產生更準確且可解釋的輸出,特別是在複雜的多步驟任務中。

為什麼我們需要 Auto CoT?
關鍵問題在於,思維鏈提示主要有兩種方法,而兩者都有明顯的缺點。
零樣本 CoT(Zero-Shot-CoT)的限制
這種方法中,你只需給語言模型一個問題,並要求它「逐步思考」以得出答案。優點是使用起來非常簡單——無需提供任何額外資訊或範例。然而,最大的缺點是語言模型的逐步推理常常有缺陷或包含錯誤,因此最終答案可能不可靠。
手動 CoT(Manual-CoT)的限制
這種方法需要手動為語言模型建立詳細的範例,展示如何將問題分解為邏輯步驟並得出正確答案。透過提供這些精心製作的範例,語言模型可以更好地利用這些知識來解決新問題。好處是語言模型的推理更穩健、更準確。但主要缺點是建立這些詳細範例極度耗時,需要大量人力和專業知識,完全無法擴展。

使用 Auto-CoT 克服限制
總而言之,零樣本 CoT 簡單但不可靠,而手動 CoT 較穩健但非常耗費人力。這就是作者提出「Auto-CoT」方法所要解決的關鍵挑戰。
一些學者提倡的 Auto-CoT 核心概念是自動生成語言模型可用的示範範例,而無需人工努力。這有可能同時結合兩種既有方法的優點——可靠的推理,同時更具可擴展性。
人們如何開發 Auto CoT?
在本節中,我們將深入探討 2022 年由 Zhuosheng Zhang、Aston Zhang、Mu Li 和 Alex Smola 發表的論文《大型語言模型中的自動思維鏈提示》。如果您對研究細節不感興趣,可以跳到下一節。

提出的方法
為了解決現有 CoT 方法的限制,作者提出了一種「Auto-CoT」範例,自動為 CoT 提示建構示範範例。
關鍵步驟如下:
- 利用 LLM 配合「讓我們一步一步思考」的提示,為示範問題生成推理鏈。
- 考慮到生成的推理鏈可能包含錯誤,作者專注於確保所選示範問題的多樣性。
- 作者開發了一個兩步驟方法來自動建構示範:
a. 根據相似性將資料集中的問題分群。
b. 從每個群集中選出一個代表性問題,並使用零樣本 CoT 生成其推理鏈。
評估
作者使用 GPT-3 在十項基準推理任務(包括算術、常識和符號推理)上評估 Auto-CoT 方法,並與零樣本 CoT 和手動 CoT 範例進行比較。
主要發現
結果顯示,Auto-CoT 方法持續達到或超越需要手動設計示範的手動 CoT 範例的表現。這證明了 LLM 無需人工努力即可進行有效的 CoT 推理。
Auto CoT 如何運作?
Auto-CoT 的核心概念是自動生成語言模型可用於思維鏈提示的示範範例,而不是依賴手動製作的示範。
以下是 Auto-CoT 方法的逐步運作方式:
步驟 1 問題分群:
- 第一步是將測試問題集(語言模型將被評估的問題,以及來自標準基準資料集的既有問題)根據相似性分成幾個群組。
- 這個分群有助於確保示範問題涵蓋不同類型的問題,而不是過於相似。
步驟 2 示範生成:
- 對於每個問題群集,Auto-CoT 會從該群集中選出一個代表性問題。
- 然後,它使用「讓我們一步一步思考」的提示,要求語言模型為該代表性問題生成一個推理鏈。
- 這個由中間步驟和最終答案組成的推理鏈,即成為該群集的示範範例。
步驟 3 提示語言模型:
- 在對新的測試問題進行評估時,Auto-CoT 會向語言模型提供一組自動生成的示範範例。
- 語言模型然後可以使用這些示範來引導自己的逐步推理過程,從而得出測試問題的答案。

如何使用 Auto CoT?
需求:
- Python 3.8 或更高版本
安裝:
- 使用指定的版本和 PyPI URL 安裝所需的 PyTorch 與 torchtext 套件:
pip install torch==1.8.2+cu111 torchtext==0.9.2 -fhttps://download.pytorch.org/whl/lts/1.8/torch_lts.html - 執行
pip install -r requirements.txt安裝其他需求。
資料集:
從以下 GitHub 儲存庫下載資料集:
- https://github.com/kojima-takeshi188/zero_shot_cot/tree/main/dataset
- https://github.com/kojima-takeshi188/zero_shot_cot/tree/main/log
快速開始:
請參閱 try_cot.ipynb notebook 以取得快速入門指南。
說明:
建構示範:
- 執行以下命令以建構「multiarith」任務的示範:
python run_demo.py --task multiarith --pred_file log/multiarith_zero_shot_cot.log --demo_save_dir demos/multiarith
執行推理:
- 執行以下命令以在「multiarith」資料集上執行推理:
python run_inference.py --dataset multiarith --demo_path demos/multiarith --output_dir experiment/multiarith
引用 Auto-CoT:
如果您在研究中使用了 Auto-CoT,請引用以下論文:
@inproceedings{zhang2023automatic,
title={Automatic Chain of Thought Prompting in Large Language Models},
author={Zhang, Zhuosheng and Zhang, Aston and Li, Mu and Smola, Alex},
booktitle={The Eleventh International Conference on Learning Representations (ICLR 2023)},
year={2023}
}

LLM API 作為應用 Auto-CoT 的核心部分
將 Auto-CoT 與 LLM API 結合有哪些好處?
- 存取強大的語言模型:
- Auto-CoT 依賴大型語言模型的能力來生成逐步推理鏈並產生準確的輸出。
- 透過整合 LLM API,研究人員和開發人員可以利用最新、最強大的語言模型(如 GPT-3、Megatron-LLM 或 InstructGPT)來驅動 Auto-CoT 系統。
2. 靈活性與自訂性:
- 不同的語言模型可能有不同的優勢、偏見和能力。整合 LLM API 允許使用者針對特定任務和應用實驗並比較不同模型的表現。
- 這種靈活性使研究人員能夠根據需要微調和自訂語言模型,從而提高 Auto-CoT 系統的整體效能。
3. 可擴展性與部署:
- LLM API 通常提供可擴展且可靠的基礎設施來提供和部署語言模型,使 Auto-CoT 系統能夠處理更大的工作負載並服務更多的使用者。
- 透過利用 LLM API 的擴展能力,研究人員和開發人員可以更輕鬆地在生產環境中部署和維護 Auto-CoT 系統。
4. 持續的模型改進:
- 語言模型正在快速演進,新版本和改進版本頻繁發布。整合 LLM API 使 Auto-CoT 系統能夠受益於這些進步,並與最新的語言模型能力保持同步。
- 這確保 Auto-CoT 系統能夠繼續提供高品質的結果,並隨著語言模型的發展保持競爭力。
如何將 LLM API 整合到我的專案中?
Novita AI 為使用者提供 LLM API,其中包含多種模型可供呼叫,包括最新發布的 llama-3–8b 和 llama-3–70b。您可以在我們的 Playground 上免費試用不同模型並比較其表現,然後再整合我們的 LLM API。

此外,為滿足自訂需求,您可以調整關鍵參數,例如 temperature(控制模型輸出的隨機性和探索度)、top_p(溫度採樣的替代方案,稱為核採樣,模型會考慮具有 top_p 機率質量的 token 結果)、presence_penalty(鼓勵模型產生與之前生成內容不同的文字)和 maximum tokens(設定模型生成輸出的最大長度),以針對您的特定應用需求最佳化模型輸出。這種程度的調整讓您能將 LLM 的能力與您的 Auto-CoT 系統充分結合。

您可以造訪我們的網站以獲取更多關於 LLM API 的資訊,包括整合的程式碼說明、定價和其他功能。

結論
在這篇部落格中,我們探討了思維鏈(CoT)提示的概念,以及對自動化方法 Auto-CoT 的需求。現有的 CoT 方法雖然有其限制,但 Auto-CoT 方法旨在自動生成示範範例,以引導語言模型進行逐步推理,無需人工努力。我們討論了 Auto-CoT 的關鍵步驟,包括問題分群和示範生成。最後,我們強調了整合 LLM API 如何能為 Auto-CoT 系統提供強大且靈活的語言模型,從而提升效能、擴展性以及持續的模型改進。總體而言,Auto-CoT 代表了增強大型語言模型推理能力的一項令人振奮的發展。
Novita AI 是一站式平台,為無限創意提供超過 100 個 API。從影像生成、語言處理,到音訊增強和影片操控,採用低成本的按用量計費模式,讓您在建立自有產品的同時,無需煩惱 GPU 維護。立即免費試用。
