別再只會亂下Prompt了啦!學會思維鏈(Chain Of Thought),不論你的工作是軟體工程師、PM,掌握思維鏈都能大幅增加你的生產力,而且有機會能解構複雜問題,把大問題拆解成小問題再逐一擊破!
我們都知道大型語言模型可能會有幻覺的問題,常常是在一本正經的說幹話,但你知道其實有一種技術,可以在不改變模型參數量的前提下增強模型的推理能力,避免大多數的幻覺問題,一說幹話就有可能被你馬上發現,而且方法非常簡單!今天要來深入解析思維鏈(Chain of Thought)的技術。讓讀者一文搞懂這個神奇又簡單的技術。
等待模型輸出的時候你是不是也既期待也怕受傷害,其實你的prompt寫得好不好,對模型的輸出有巨大影響,欠萬不能小看Prompt的重要性,只要在你的prompt最後面加上"Think step by step"就能讓模型的推理能力瞬間提升喔!
提示工程是我們在使用生成式人工智慧時,除了直接告訴AI我們的問題與想要的結果以外,另外對AI進行引導。本質上生成式人工智慧是根據你的Prompt,透過機率選出下一個最有可能出現的詞,所以提示工程就是有系統的設計我們的Prompt去引導AI給出我們想要的結果。
思維鏈(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開發的大型語言模型,我們可以看到採用思維鏈後,模型的答對機率提升很多。
值得注意的是,思維鏈在越大的模型上表現得更好,見下圖
Y軸為模型能力,X軸為模型參數量,參數量越大時模型能力提升更多
最新發表的GPT-4 o1 就是內部採用了思維鏈與其他技術,大幅增強了模型面對複雜問題的推理能力,連OpenAI都在採用Chain Of Thought增強他們的模型,你就知道這個方法有多強大了吧!接下來我們來看看實驗數據。
註:同一個問題,分別測試只問一次、64次、1000次,取最優回答作為最終答案。
AIME(美國奧數選拔賽的數學題)
GPQA Diamond(博士生級別的物理、化學和生物問題)
在資訊奧林匹亞競賽中,原本的gpt4o排名PR11,經過思維鏈調整過後的o1排名PR89
應用思維鏈有三個前提,只有這三個假設同時被滿足時,使用思維鏈技巧才會有顯著的效益提升(推理能力的提升)。
如果你只是對模型提問很簡單的問題,用思維鏈不會提升表現。這個部分應該蠻直觀的,大型語言模型面對簡單的問題時,實驗表明證明了即使不需要多步驟推理模型的表現就很好了。
希望讀者看完這篇文章,在你下prompt的時候可以多想一下,要應用思維鏈不難,以Zero-Shot Chain of Thought來說,只要在你的prompt最後那邊加上"Think step by step"模型就會自動應用思維鏈的方法輸出答案了。如果你手上已經有一些範例了,你可採用Few-Shot Chain of Thought,給他幾個你自己的範例,模型的輸出會更好。
參考資料: