從零開始學習思維鏈:讓AI更聰明的技巧

從零開始學習思維鏈:讓AI更聰明的技巧

更新於 發佈於 閱讀時間約 8 分鐘

別再只會亂下Prompt了啦!學會思維鏈(Chain Of Thought),不論你的工作是軟體工程師、PM,掌握思維鏈都能大幅增加你的生產力,而且有機會能解構複雜問題,把大問題拆解成小問題再逐一擊破!

我們都知道大型語言模型可能會有幻覺的問題,常常是在一本正經的說幹話,但你知道其實有一種技術,可以在不改變模型參數量的前提下增強模型的推理能力,避免大多數的幻覺問題,一說幹話就有可能被你馬上發現,而且方法非常簡單!今天要來深入解析思維鏈(Chain of Thought)的技術。讓讀者一文搞懂這個神奇又簡單的技術。

等待模型輸出的時候你是不是也既期待也怕受傷害,其實你的prompt寫得好不好,對模型的輸出有巨大影響,欠萬不能小看Prompt的重要性,只要在你的prompt最後面加上"Think step by step"就能讓模型的推理能力瞬間提升喔!

什麼是提示工程(Prompt Engineering)

提示工程是我們在使用生成式人工智慧時,除了直接告訴AI我們的問題與想要的結果以外,另外對AI進行引導。本質上生成式人工智慧是根據你的Prompt,透過機率選出下一個最有可能出現的詞,所以提示工程就是有系統的設計我們的Prompt去引導AI給出我們想要的結果。

思維鏈(Chain Of Thought)的核心概念

思維鏈(CoT)是 Prompt Engineering 的一種技巧,思維鏈是一種專門用來處理需要多步驟推理的複雜問題提示設計方法。讓 AI 在回答問題時,逐步展開自己的推理過程,而不是直接跳到最終答案。

想像一下,你問一個數學問題:「一個籃子裡有3個蘋果,後來又放進去2個,現在有幾個?」如果直接回答,AI 可能會說:「5個。」 但如果用 CoT 方法,AI 會這樣回答: 「籃子裡原本有3個蘋果,後來又放進去2個蘋果。3加2等於5,所以現在有5個蘋果。」

這種方式就像是讓 AI 把腦子裡的計算過程用語言表達出來。

別急著走開,讓我們看看一些實驗數據

光是嘴上說說思維鏈多厲害好像不夠有說服力,讓我們來看看數據吧!

在Chain-of-Thought Prompting Elicits Reasoningin Large Language Models論文中,作者們用GSM8K這個數據集,GSM8K是高品質數學推理數據集,主要用於訓練和評估人工智慧模型在數學問題解決上的能力。該數據集包含多個日常生活相關的數學問題,能夠測試模型的邏輯推理與計算能力。而PaLM是Google開發的大型語言模型,我們可以看到採用思維鏈後,模型的答對機率提升很多。


raw-image


值得注意的是,思維鏈在越大的模型上表現得更好,見下圖

Y軸為模型能力,X軸為模型參數量,參數量越大時模型能力提升更多


raw-image


最新的GPT-4 o1 Performance

最新發表的GPT-4 o1 就是內部採用了思維鏈與其他技術,大幅增強了模型面對複雜問題的推理能力,連OpenAI都在採用Chain Of Thought增強他們的模型,你就知道這個方法有多強大了吧!接下來我們來看看實驗數據。


raw-image

註:同一個問題,分別測試只問一次、64次、1000次,取最優回答作為最終答案。

AIME(美國奧數選拔賽的數學題)

  • 1次:74%(11.1/15分)
  • 64次:83%(12.5/15分)
  • 1000次:93%(13.9/15分)
  • 這個成績足以進入全美前500名


GPQA Diamond(博士生級別的物理、化學和生物問題)

  • 超越了人類博士的表現
  • 1次:77.3%(答題正確率)
  • 64次:78%(答題正確率)
  • 在物理學科表現特別突出,達到92.8%的正確率


程式能力表現

raw-image

在資訊奧林匹亞競賽中,原本的gpt4o排名PR11,經過思維鏈調整過後的o1排名PR89


為什麼 CoT 很重要?提供了什麼價值

  1. 提升準確性: 通過將複雜任務分解為小步驟,確保模型按邏輯順序思考,減少遺漏重要中間步驟的可能性。特別適用於數學問題解決、數據分析等多步驟推理任務。
  2. 減少偏見: 要求模型提供透明的推理步驟,有助於及早發現和糾正偏見假設。這在法律推理、金融預測等領域特別重要,能產生更公平、平衡的結果。
  3. 類人決策過程: 模仿人類的思維方式,按步驟處理問題,使決策過程更容易理解。對商業分析、戰略規劃等需要理解決策原因的領域特別有用。
  4. 減少幻覺: 通過確保每個推理步驟的邏輯一致性,降低模型產生錯誤或不相關信息的可能性。這對醫療保健、法律分析等高風險領域尤為重要。
  5. 領域適應性強: 可以靈活應用於各種領域,從簡單的數學問題到複雜的文本和圖像任務,在 AI 輔導、法律研究、醫療診斷等領域都能發揮作用。


什麼時候應用思維鏈才有用?

應用思維鏈有三個前提,只有這三個假設同時被滿足時,使用思維鏈技巧才會有顯著的效益提升(推理能力的提升)。

  1. 你的問題足夠複雜,需要多步驟推理
  2. 模型的參數夠多(參數在100B以上時,才會有顯著的效果)
  3. 增加模型參數對表現沒有明顯提升時


如果你只是對模型提問很簡單的問題,用思維鏈不會提升表現。這個部分應該蠻直觀的,大型語言模型面對簡單的問題時,實驗表明證明了即使不需要多步驟推理模型的表現就很好了。


思維鏈的特性與優勢

  1. 思維鏈允許模型將複雜問題分解為多個步驟,透過拆解成多步驟,可以視情況為特別複雜的某步驟分配額外的運算資源。
  2. 思維鏈打開了黑盒子,展示模型的推理過程,讓我們可以基於專業知識與常識判斷模型是否產生幻覺。
  3. 思維鏈推理可用於數學應用題、常識推理和符號操作(symbolic manipulation)等任務,理論上可以適用於任何人類可以通過語言解決的任務。
  4. 只要在prompt中加上一些額外的簡單提示,就能夠在現有大型語言模型內引導模型使用思維鏈的推理方式。




總結

希望讀者看完這篇文章,在你下prompt的時候可以多想一下,要應用思維鏈不難,以Zero-Shot Chain of Thought來說,只要在你的prompt最後那邊加上"Think step by step"模型就會自動應用思維鏈的方法輸出答案了。如果你手上已經有一些範例了,你可採用Few-Shot Chain of Thought,給他幾個你自己的範例,模型的輸出會更好。


參考資料:

  1. https://openai.com/index/learning-to-reason-with-llms/
  2. https://yourgpt.ai/blog/general/chain-of-thought-prompting?t
  3. Chain-of-Thought Prompting Elicits Reasoningin Large Language Models
  4. https://aws.amazon.com/what-is/prompt-engineering/
avatar-img
Gary的小小宇宙
15會員
8內容數
大家好我是Gary,這裡是一個分享投資理財、程式語言、個人成長、心靈健康、讀書心得的地方。
留言
avatar-img
留言分享你的想法!