iT邦幫忙

2023 iThome 鐵人賽

DAY 5
1
AI & Data

OpenAI 從提示工程(Prompt Engineering)到語義核心(Semantic Kernel)的實踐系列 第 5

提示工程(Prompt Engineering):Prompt 進階技法 chain-of-thought (CoT)

  • 分享至 

  • xImage
  •  

提示工程(Prompt Engineering):Prompt 進階技法 chain-of-thought (CoT)

前言

前一篇提到 In-Context Learning技法,在不更新模型參數與訓練集的情況下,賦予模型學習新資料的能力,某種程度上在 In-Context Learning 過程中,也是賦予模型去思考在prompt裡給的參考資料。事實上在進階技法裡有個 chain-of-thought 技法,稱為"思維鏈(CoT)",它的概念是大型語言模型(LLM)在給出最終答案之前先作為一連串思考的過程,思維鏈(CoT)透過引導模型使用模仿思路的推理步驟,進而提高推理能力,這個方法有助於大型語言模型克服一些需要邏輯思維或多個步驟來解決的推理任務,例如ChatGPT一開始出來時,很快的被發現在數學運算的回答正確率不佳,其根本原因是ChatGPT做為語言模型而非推理模型,擅長語言的接龍,而非面對邏輯運算,而利用思維鏈(CoT)技法,則能有效改善其邏輯運算正確率。

接下來的內容均以ChatGPT-4模型做為示範

什麼是思維鏈(CoT)

在這篇研究論文(https://arxiv.org/pdf/2201.11903.pdf) 中,探討如何利用chain-of-thought prompting方法,來提升大型語言模型的推理能力,chain-of-thought prompting是指在少量範例示範中,在中間提供一些的自然語言推理步驟,進而引導模型產生最終的答案。作者在三種大型語言模型上進行實驗,分別是GPT-3、LaMDA和PaLM,並且在算術運算、常識和符號推理等任務上測試了chain-of-thought prompting的效果。

實驗的結果顯示,chain-of-thought prompting可以顯著提高模型的表現,如下圖顯示PaLM 540B模型採用chain-of-thought prompting反而表現的比Finetuned後的GPT-3模型還要好。作者發現,chain-of-thought prompting是一種隨著模型規模增大而出現的能力,並且可以擴大模型解決任務的能力範圍。

https://ithelp.ithome.com.tw/upload/images/20230920/20126569fSrZjPfmyk.png
(來源:https://arxiv.org/pdf/2201.11903.pdf)

思維鏈(CoT)的運用

chain-of-thought prompting與一般Prompt不同,chain-of-thought prompting的技法重點在於給與範例時,把運算過程的思路表達出來,藉以啟發模型學習思路,接著遇相似的問題時,其回應即會按思路思考,進而生成較精準的回答,如下圖所示,以一個數學題為例,用demonstration的方式激發LLM的in-context learning,可以看到模型無法做出正確的回答,但如果餵給模型解題的思路,把解題過程寫出來,然後再給最終的答案,這時候模型後續就能依這樣的思路去解題。

https://ithelp.ithome.com.tw/upload/images/20230920/201265699pK9ZCxptu.png
(來源:https://arxiv.org/pdf/2201.11903.pdf)

研究中除了算術解題外,還有其它實驗情境,可以參閱下圖

https://ithelp.ithome.com.tw/upload/images/20230920/20126569Ko5EoO95D8.png
(來源:https://arxiv.org/pdf/2201.11903.pdf)

並且研究還發現涉及推理的問題時,standard prompting配合的模型大小作用不是很大,但是如果改用思維鏈(CoT),配合的模型大小作用提升就明顯不少,也就是模型愈大,思維鏈(CoT)效果愈好

https://ithelp.ithome.com.tw/upload/images/20230920/201265690iUzLEVHYH.png
(來源:https://arxiv.org/pdf/2201.11903.pdf)

神奇的咒語 let's think step by step

從思維鏈(CoT)的運用,可以發現到在prompt裡引導模型思路是思維鏈(CoT)能否成功的關鍵,然而在Zero shot的情境下,卻也只能靠著一句神奇的咒語 "let's think step by step",讓模型進行思考,在這篇研究(https://arxiv.org/pdf/2205.11916.pdf) 發現,在prompt裡不引導思路,但加入了"let's think step by step",可以得到與思維鏈(CoT)相同的效果,意思是模型理解"let's think step by step"這個語意,因此觸發它進行思路的分析後,再生成回應。研究實驗結果表明,Zero-shot-CoT讓GPT-3模型成績從17提升到78,PaLM模型成績也從25提升到66,如下圖,同時研究也證實Zero-shot-CoT在算術、符號、邏輯推理任務上會有顯著提升,但在常識推理任務上則沒有明顯差異。

https://ithelp.ithome.com.tw/upload/images/20230920/201265692dDs6ImYCO.png
(來源:https://arxiv.org/pdf/2205.11916.pdf)

https://ithelp.ithome.com.tw/upload/images/20230920/20126569ZknEu4cnZu.png
(來源:https://arxiv.org/pdf/2205.11916.pdf)

https://ithelp.ithome.com.tw/upload/images/20230920/201265695HYwgKiKj0.png
(來源:https://arxiv.org/pdf/2205.11916.pdf)

同樣的,這個方法同樣在愈大的模型,效果愈好。
https://ithelp.ithome.com.tw/upload/images/20230920/20126569oNsDDZ2Jrn.png
(來源:https://arxiv.org/pdf/2205.11916.pdf)

事實上"let's think step by step"在細節上會讓你的prompt進行改裝,如下圖所以,模型在思考後產生內部prompt,然後再加入原本的prompt裡,形成最終的prompt再依這個prompt進行回應,也就是原本我們要自已給的思路prompt,藉由"let's think step by step"句子後,模型會自己生成。
https://ithelp.ithome.com.tw/upload/images/20230920/20126569FJyThyZynX.png
(來源:https://arxiv.org/pdf/2205.11916.pdf)

思維鏈(CoT) do it

實際操作一個推理範例,首先用Zero-shot直接問,果然無法回答
https://ithelp.ithome.com.tw/upload/images/20230920/20126569UjI4hUbGw7.png

接著使用思維鏈(CoT)技法,可以看到模型採取提示中的思路,順利解題
https://ithelp.ithome.com.tw/upload/images/20230920/20126569Q0ycZSbEvs.png

最後使用神奇的咒語"let's think step by step",也可以順利解題
https://ithelp.ithome.com.tw/upload/images/20230920/20126569c6eGbrWqCW.png

結語

現在我們理解了思維鏈(CoT)技法的概念與實際用法,往後遇到推理性的問題,就可以善用思維鏈(CoT)技法,增強模型的回應以及準確度。

參考資料:
https://arxiv.org/pdf/2201.11903.pdf
https://arxiv.org/pdf/2205.11916.pdf

嗨,我是Ian,我喜歡分享與討論,今年跟2位朋友合著了一本ChatGPT主題書,如果你是一位開發者,這本書或許會有些幫助,https://www.tenlong.com.tw/products/9786263335189
這次的鐵人賽文章也會同時發佈於個人blog,歡迎關注我的blog : https://medium.com/@ianchen_27500


上一篇
提示工程(Prompt Engineering):Prompt 進階技法 In-Context Learning
下一篇
提示工程(Prompt Engineering):Prompt 進階技法 Tree of Thoughts (ToT)
系列文
OpenAI 從提示工程(Prompt Engineering)到語義核心(Semantic Kernel)的實踐30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言