想要徹底理解思維鏈(CoT),請(qǐng)看此篇!
隨著人工智能語(yǔ)言模型的不斷進(jìn)步,如何引導(dǎo)它們提供更透明、邏輯性強(qiáng)、可驗(yàn)證的輸出成為了一個(gè)重要課題。思維鏈(Chain of Thought,簡(jiǎn)稱CoT)作為一種Prompt提示技術(shù),通過模擬人類解決問題的逐步思考過程,顯著提升了模型在復(fù)雜任務(wù)中的表現(xiàn)。本文將深入探討CoT的概念、應(yīng)用場(chǎng)景以及實(shí)際案例,幫助讀者徹底理解CoT的底層邏輯和實(shí)踐價(jià)值。
隨著人工智能語(yǔ)言模型變得越來越高級(jí),引導(dǎo)它們產(chǎn)生更透明、邏輯性強(qiáng)、可驗(yàn)證的輸出的需求日益增加。CoT提示通過鼓勵(lì)模型展示其工作過程,類似于人類處理復(fù)雜問題解決任務(wù)的方式,來滿足這一需求。這種技術(shù)不僅提高了AI響應(yīng)的準(zhǔn)確性,還使它們更具可解釋性和可信度。 思維鏈(CoT)
記得第一次看到CoT的時(shí)候,還以為是一種大模型底層的訓(xùn)練方案,實(shí)際了解過之后,才發(fā)現(xiàn)這個(gè)更像是一種思路,一種寫好Prompt的思路?!?/p>
CoT(Chain of Thought)從定義上來說是一種Prompt提示技術(shù),用于指導(dǎo)大型語(yǔ)言模型(LLMs)在復(fù)雜推理任務(wù)中表現(xiàn)出更好的性能。它通過在問題和答案之間插入中間推理步驟,模擬人類解決問題時(shí)的逐步思考過程,以提高模型在算術(shù)推理、常識(shí)推理和符號(hào)推理等任務(wù)中的表現(xiàn)?!?/p>
CoT的作用一般有三點(diǎn):
提升復(fù)雜問題解決能力:CoT通過將復(fù)雜問題分解為多個(gè)子問題,提高模型解決復(fù)雜問題的能力。
增強(qiáng)模型可解釋性:CoT提供了模型推理過程的可見性,使得模型的決策過程更加透明。
促進(jìn)學(xué)習(xí)和進(jìn)化:CoT幫助模型更好地理解問題本質(zhì),促進(jìn)模型的學(xué)習(xí)和進(jìn)化。
通過CoT的三種能力,我們會(huì)發(fā)現(xiàn),CoT一般被應(yīng)用于需要復(fù)雜推理的場(chǎng)景,比如:
數(shù)學(xué)問題解決
常識(shí)推理
符號(hào)推理
邏輯謎題
語(yǔ)言理解
在實(shí)際寫法上,一般是將“讓我們一步一步思考”、“讓我們逐步思考”等方式融入到提示詞中,下面我根據(jù)上面的5種應(yīng)用場(chǎng)景,分別舉例分析一下。 案例1: 數(shù)學(xué)應(yīng)用題
Prompt: Plain Text 請(qǐng)舉例說明Kappa系數(shù)是怎么計(jì)算的,請(qǐng)一步一步思考,嚴(yán)謹(jǐn)認(rèn)真地對(duì)待每一個(gè)過程
分析: 經(jīng)過上面的思考過程的引導(dǎo),模型能夠正確理解并解決數(shù)學(xué)問題,后面再提問這類問題,模型就會(huì)按照這個(gè)思考過程給出期望的數(shù)學(xué)結(jié)果了?!?/p>
比如在單獨(dú)問這道題,大模型會(huì)有數(shù)據(jù)計(jì)算的不準(zhǔn),比如下面,在計(jì)算醫(yī)生A診斷糖尿病和醫(yī)生B診斷糖尿病的交叉數(shù)據(jù)時(shí),正確的應(yīng)該是4,但是大模型給出的是5:
加上思考引導(dǎo)之后,大模型計(jì)算的精度就提升了,不會(huì)出現(xiàn)上面明顯的計(jì)算錯(cuò)誤:
案例2: 常識(shí)推理
Prompt: Plain Text問:一個(gè)農(nóng)夫帶著一只羊站在河邊。河上有一條船,可以容納一個(gè)人和一只羊。那么農(nóng)夫帶著一只羊渡河所需的最少渡河次數(shù)是多少?答:1次。問:一個(gè)農(nóng)民帶2只雞過河,一只船只能容納一個(gè)人和2個(gè)動(dòng)物,那么農(nóng)夫帶著兩只雞渡河所需的最少渡河次數(shù)是多少?
分析: 經(jīng)過上面的思考過程,模型能夠正確理解并解決數(shù)學(xué)問題,后面再提問這類問題,模型就會(huì)按照這個(gè)思考過程給出期望的數(shù)學(xué)結(jié)果了?!?/p>
比如在單獨(dú)問這道題,大模型就開始自以為是的用錯(cuò)誤邏輯分析了:
當(dāng)提供思考案例后,大模型有一個(gè)思維路徑后,就會(huì)按照正確的思路去分析數(shù)學(xué)問題:
案例3: 符號(hào)推理
Prompt: Plain Text 將單詞‘Apple’和‘Banana’的最后一個(gè)字母連接在一起。讓我們一步一步思考:‘Apple’的最后一個(gè)字母是‘e’,‘Banana’的最后一個(gè)字母是‘a(chǎn)’,所以連接起來是‘ea’。
分析: 通過告訴大模型如何連接符號(hào),可以正確完成字符串連接任務(wù)?!?/p>
比如:在沒有使用CoT之前
使用了CoT之后
案例4: 邏輯謎題
Prompt:
Plain Text
問題:
學(xué)生小趙、小錢、小孫、小李和小周,他們都想選某老師作為自己的指導(dǎo)老師,現(xiàn)已知:
①5名學(xué)生中有3名屬于20歲以下年齡段,2名屬于20歲及以上年齡段
②有2名學(xué)生的專業(yè)是哲學(xué),其他3名學(xué)生的專業(yè)是文學(xué)
③小趙和小孫的年齡段相同,小李和小周的年齡段不同
④小錢和小周的專業(yè)相同,小孫和小李的專業(yè)不同
最終結(jié)果為,該老師選擇了一名年齡大于20歲的哲學(xué)專業(yè)學(xué)生。
由此可以推出,這名學(xué)生是:
A.小趙
B.小錢
C.小孫
D.小李
試題解析:
第一步,確定題型。
題干有需要匹配的對(duì)象和信息,確定為分析推理。
第二步,進(jìn)行推理。
根據(jù)“小趙和小孫的年齡段相同,小李和小周的年齡段不同”和“有3名屬于20歲以下年齡段,2名屬于20歲及以上年齡段”,可知小李和小周必有一個(gè)大于20歲、有一個(gè)小于20歲,可以推出錢大于20歲,趙孫一定小于20歲,排除A、C項(xiàng);根據(jù)“小錢和小周的專業(yè)相同,小孫和小李的專業(yè)不同”和“有2名學(xué)生的專業(yè)是哲學(xué),其他3名學(xué)生的專業(yè)是文學(xué)”,可以推出錢、周是文學(xué)專業(yè),排除B項(xiàng)。
因此,選擇D選項(xiàng)。
問題:一個(gè)班共有18人,他們分別來自S省、J省、Z省、A省和F省五省。在18
人中,每個(gè)省至少有1人,且來自各省的人數(shù)均不相同。已知:
(1)S省和J省共有5人;
(2)J省和Z省共有6人;
(3)Z省和F省共有7人。
根據(jù)以上信息,可以推出以下哪項(xiàng)?
A.18人中來自S省的有1人
B.18人中來自Z省的有2人
C.18人中來自F省的有5人
D.18人中來自A省的有6人
分析: 通過引導(dǎo)模型按步驟思考邏輯題,從而根據(jù)引導(dǎo)解決邏輯題?!?/p>
如果直接給出問題,AI思考鏈路會(huì)非常單一,得出錯(cuò)誤的答案,比如:
當(dāng)我們給出思考鏈路后,AI會(huì)根據(jù)正確的思考鏈路給出答案:
案例5: 語(yǔ)言理解
Prompt: Plain Text請(qǐng)首先把每個(gè)選項(xiàng)中成語(yǔ)的含義與適用場(chǎng)景分析出來,最后再聯(lián)系問題的場(chǎng)景一步一步的分析哪個(gè)成語(yǔ)最符合場(chǎng)景。
分析: 模型通過逐步解釋,正確理解并解釋了成語(yǔ)?!?/p>
比如在下面我們常見的成語(yǔ)填空問題中,如果沒有思維鏈的搭建,模型對(duì)于成語(yǔ)在哪種語(yǔ)境使用是會(huì)有誤差的,會(huì)得出錯(cuò)誤的結(jié)論:
當(dāng)我們加上了思維鏈的提示,大模型就能一步一步的理解成語(yǔ)與語(yǔ)境,得出正確的答案?!?/p>
自動(dòng)思維鏈(Auto-CoT)
當(dāng)我們體驗(yàn)到思維鏈的好處之后也發(fā)現(xiàn)一個(gè)問題,生活中的場(chǎng)景這么多,如果每個(gè)場(chǎng)景我們都寫個(gè)思維鏈,豈不要累死,于是Amazon Science團(tuán)隊(duì)提出了自動(dòng)思維鏈(Auto-CoT)的概念,它通過自動(dòng)化流程構(gòu)建“讓我們一步步思考”的思維過程,以提高模型在復(fù)雜推理任務(wù)中的表現(xiàn)?!?/p>
自動(dòng)思維鏈的實(shí)現(xiàn)方法主要有2個(gè)階段:
問題聚類:將給定數(shù)據(jù)集的問題劃分為幾個(gè)簇。
示例抽樣:從每個(gè)簇中選擇一個(gè)代表性問題,并使用簡(jiǎn)單的啟發(fā)式方法使用零樣本CoT生成其推理鏈。
簡(jiǎn)單理解就是提前把問題分類,然后自動(dòng)生成每個(gè)問題分類下的思維鏈。
如果有技術(shù)團(tuán)隊(duì)當(dāng)前遇到了無(wú)法一個(gè)一個(gè)寫思維鏈的困擾,可以嘗試用這個(gè)方法,
項(xiàng)目地址:https://github.com/amazon-science/auto-cothttps://github.com/amazon-science/auto-cot
拿走不謝~
總結(jié)
思維鏈在寫Prompt初期的確會(huì)獲得比較好的表現(xiàn),不過有些項(xiàng)目只靠讓AI進(jìn)行啟發(fā)式推理并不能得到我們想要的結(jié)果,所以思維鏈只是寫好Prompt的一個(gè)小環(huán)節(jié),所以千萬(wàn)不要一招鮮,吃遍天,后面我還會(huì)分享更多Prompt相關(guān)的知識(shí),敬請(qǐng)期待!
本文由人人都是產(chǎn)品經(jīng)理作者【宋恒達(dá)】,微信公眾號(hào):【產(chǎn)品自由之路】,原創(chuàng)/授權(quán) 發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自Unsplash,基于 CC0 協(xié)議。
- 目前還沒評(píng)論,等你發(fā)揮!