解鎖LLMs的“思考”能力:Chain-of-Thought(CoT) 技術(shù)推動復(fù)雜推理的新發(fā)展 1.簡介 Chain-of-Thought(CoT)是一種改進(jìn)的Prompt技術(shù),目的在于提升大模型LLMs在復(fù)雜推理任務(wù)上的表現(xiàn),如算術(shù)推理(arithmetic reasoning)、常識推理(co
Chain-of-Thought(CoT)是一種改進(jìn)的Prompt技術(shù),目的在于提升大模型LLMs在復(fù)雜推理任務(wù)上的表現(xiàn),如算術(shù)推理(arithmetic reasoning)、常識推理(commonsense reasoning)、符號推理(symbolic reasoning)。
起源
:CoT技術(shù)的概念是在Google的論文“Chain-of-Thought Prompting Elicits Reasoning in Large Language Models”中被首次提出。
現(xiàn)狀
:隨著大語言模型(LLM)的發(fā)展,CoT技術(shù)已成為提高LLM在復(fù)雜推理任務(wù)中性能的重要手段。通過特定的提示(prompt)或訓(xùn)練策略,可以引導(dǎo)模型生成詳細(xì)的推理過程,從而提高模型的準(zhǔn)確性和可解釋性。
定義
:CoT技術(shù)指的是一種推理過程,其中模型在生成最終答案之前,先逐步推導(dǎo)出一系列的中間步驟或子目標(biāo)。這些中間步驟構(gòu)成了一個“思維鏈”,最終引導(dǎo)模型得到正確的結(jié)果。
核心思想
:模仿人類的推理過程,即人們往往在解決問題時不是直接得出答案,而是通過一系列的思考、分析和推理步驟。
特點與優(yōu)勢
拓展技術(shù)自動思維鏈(Auto-CoT)
:這是一種更高級別的CoT技術(shù),通過簡單的提示,促使模型自我思考,自動展示從設(shè)置方程到解方程的整個推理過程。這種技術(shù)可以在保證每個思維鏈正確性的同時,實現(xiàn)更精簡的提示詞設(shè)計。
思路
ICL的思路是在新測試樣本中加入示例(demonstration)來重構(gòu)prompt。與ICL(In-Context Learning)有所不同,CoT對每個demonstration,會使用中間推理過程(intermediate reasoning steps)來重新構(gòu)造demonstration,使模型在對新樣本預(yù)測時,先生成中間推理的思維鏈,再生成結(jié)果,目的是提升LLM在新樣本中的表現(xiàn)。
一般來說CoT會分為兩種:基于人工示例標(biāo)注的Few-shot CoT和無人工示例標(biāo)注的Zero-shot CoT。下面將逐一介紹。
假設(shè)基于ICL的測試樣本輸入表示為$$,那么加入Few-shot CoT的測試樣本輸入,可表示為$$。
我們知道了加入CoT的示例后,能提升LLM的表現(xiàn)。那么我們應(yīng)該如何構(gòu)造或使用CoT?
《Self-Consistency Improves Chain of Thought Reasoning in Language Models》
論文基于一個思想:一個復(fù)雜的推理任務(wù),其可以有多種推理路徑(即解題思路),最終都能夠得到正確的答案。故Self-Consistency在解碼過程中,拋棄了greedy decoding的策略,而是使用采樣的方式,選擇生成不同的推理路徑,每個路徑對應(yīng)一個最終答案。
具體做法為:
實驗表明,對于同一問題生成更多的推理鏈以供投票往往能取得更好的效果。當(dāng)推理鏈數(shù)量足夠多時,這種方法效果能夠勝過使用greedy decoding的CoT方法。
《On the advance of making language models better reasoners》
論文在Self-Consistency的基礎(chǔ)上,進(jìn)一步做了優(yōu)化。
實驗結(jié)果顯示,本論文的方法相對基于Greedy Decode和Self-Consistency能得到更優(yōu)的效果。
《Complexity-based prompting for multi-step reasoning》
面對這么多可選的CoT,簡單的CoT示例和復(fù)雜的CoT示例,對新的樣本推理結(jié)果會不會產(chǎn)生影響?答案是Yes。
論文探討了一個問題,在包含簡單推理路徑的demonstrations和復(fù)雜推理路徑的demonstrations下,哪個效果會表現(xiàn)較好?(這里的簡單和復(fù)雜是指 推理鏈/推理步驟的長度)
本論文繼承了Self-Consistency的思想,具體方法:
實驗結(jié)果表明,本論文的方法效果優(yōu)于以下方法: (1)人工構(gòu)建Cot、(2)random Cot、(2)Complex CoT(數(shù)據(jù)集中最長的多個思維鏈作為demonstrations)。
《Automatic chain of thought prompting in large language models》
上面提到的方法是基于人工構(gòu)造CoT,那我們能否讓模型自己來生成CoT?本論文就提供了這樣一種自動生成CoT的思路。
本論文提到的Manual-CoT,可以等同于Few-shot CoT來理解。
由于Zero-Shot-CoT方法存在不穩(wěn)定性,而Manual-CoT方法需要大量人工成本投入。作者提出了一種基于Auto-CoT的方法,自動構(gòu)建包含問題和推理鏈的說明樣例(demonstrations)。
整個過程分了兩個階段:
1.question cluster: 目的是將數(shù)據(jù)集中的question劃分到不同簇中。
2.demostration sampling: 目的是從每個簇中選取一個代表性的question,基于LLMs,使用Zero-Shot-CoT生成推理鏈。
對于每一個簇$i$里的每一個問題$q {(i)}_j$,使用Zero-Shot-CoT的方法,將$[Q:q _j,A:[P]]$(其中$[P]$表示"Let's think step by step")輸入到LLMs,LLMs生成該問題的推理鏈$r {(i)}_j$和答案$a _j$;
若問題$q {(i)}_j$不超過60個tokens,且推理鏈$r _j$不超過5個推理步驟,則將問題+推理鏈+答案,加入到demostrations列表中:$[Q:q {(i)}_j,A:r _j。a^{(i)}_j]$;
遍歷完所有簇,將得到k個demostrations,將其拼接上測試question,構(gòu)造成新的Prompt,輸入LLMs便可得到生成結(jié)果。
值得一提的是,Auto-CoT在多個開源推理任務(wù)的數(shù)據(jù)集上,效果與Manual-CoT相當(dāng),甚至某些任務(wù)表現(xiàn)得更好。
《Chain of thought prompting elicits reasoning in large language models》
盡管CoT是ICL的一種特殊形式,但是與ICL有所不同的是,CoT中demonstrations的排序?qū)ζ湓谛聹y試樣本中的生成結(jié)果影響較小,論文對demonstrations進(jìn)行重排序,在多數(shù)推理任務(wù)上僅導(dǎo)致小于2%的性能變化。(demonstrations順序?qū)CL影響較大)
COT(Chain-of-Thought)的增強策略主要包括以下幾種:
結(jié)合驗證和細(xì)化:
問題分解:
利用外部知識:
投票排序:
提高效率:
偏差增強一致性訓(xùn)練(BCT):
Zero-shot-COT:
與Few-shot CoT不同,Zero-shot CoT并不需要人為構(gòu)造demonstrations,只需要在prompt中加入一個特定的指令,即可驅(qū)動LLMs以思維鏈的方式生成結(jié)果。
當(dāng)然這種不需要人工構(gòu)造demonstrations的方式,效果相對Few-shot CoT會表現(xiàn)稍微差一點點。但是相對Zero-shot和Few-shot的方法而言,Zero-shot CoT在復(fù)雜任務(wù)推理上卻能帶來巨大的效果提升。
《Large language models are zero-shot reasoners》
論文首先提出了Zero-shot CoT的方法,整個流程包含兩部分:
值得一提的是,論文同時發(fā)現(xiàn)了,當(dāng)模型LLM變得越來越大,對于使用Zero-shot的結(jié)果帶來的增益不大,但是對使用Zero-shot CoT的結(jié)果帶來的增益較大。
《Scaling Instruction-Finetuned Language Models》
既然在上一篇論文中,已經(jīng)發(fā)現(xiàn)了LLM存在Zero-shot CoT的能力,那如果事先對LLM進(jìn)行基于CoT的instruction tuning,那模型使用Zero-shot CoT方式在對unseen樣本進(jìn)行預(yù)測時,效果會不會更好?本論文給出了肯定的答案。
論文探索了以下可能影響LLM在unseen task上表現(xiàn)的因素:
論文微調(diào)數(shù)據(jù)集包含了1836種指令任務(wù),473個數(shù)據(jù)集和146種任務(wù)類型構(gòu)成,數(shù)據(jù)集中包含了9個人工標(biāo)注的CoT數(shù)據(jù)集。同時保留一個沒出現(xiàn)過的held-out數(shù)據(jù)集作為模型評估數(shù)據(jù)集。
使用的模型是PaLM,而經(jīng)過instruction tuning的模型,稱為FlanPaLM(Finetuned Language PaLM)。
得到了以下結(jié)論:
對于大模型LLM涌現(xiàn)的CoT能力,業(yè)界目前的共識是:當(dāng)模型參數(shù)超過100B后,在復(fù)雜推理任務(wù)中使用CoT是能帶來增益的;而當(dāng)模型小于這個尺寸,CoT并不會帶來效果增益。
還記得在Pretrain+Fine-tuning時代下,對于復(fù)雜數(shù)學(xué)推理任務(wù),如MultiArith、GSM8K下,效果還是不太理想,而短短幾年時間,LLM+CoT的模式已經(jīng)大大提升了該領(lǐng)域的解決能力。隨著LLM的繼續(xù)發(fā)展,未來必定會發(fā)現(xiàn)更多LLM隱藏的能力和使用方法,讓我們拭目以待。
Chain-of-Thought Prompting Elicits Reasoning in Large Language Models
Large language models are zero-shot reasoners
Scaling Instruction-Finetuned Language Models
Self-Consistency Improves Chain of Thought Reasoning in Language Models
On the advance of making language models better reasoners
Chain of thought prompting elicits reasoning in large language models
Complexity-based prompting for multi-step reasoning
Chain of thought prompting elicits reasoning in large language models
更多優(yōu)質(zhì)內(nèi)容請關(guān)注公號:汀丶人工智能;會提供一些相關(guān)的資源和優(yōu)質(zhì)文章,免費獲取閱讀。
機(jī)器學(xué)習(xí):神經(jīng)網(wǎng)絡(luò)構(gòu)建(下)
閱讀華為Mate品牌盛典:HarmonyOS NEXT加持下游戲性能得到充分釋放
閱讀實現(xiàn)對象集合與DataTable的相互轉(zhuǎn)換
閱讀算法與數(shù)據(jù)結(jié)構(gòu) 1 - 模擬
閱讀5. Spring Cloud OpenFeign 聲明式 WebService 客戶端的超詳細(xì)使用
閱讀Java代理模式:靜態(tài)代理和動態(tài)代理的對比分析
閱讀Win11筆記本“自動管理應(yīng)用的顏色”顯示規(guī)則
閱讀本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權(quán),請發(fā)郵件[email protected]
湘ICP備2022002427號-10 湘公網(wǎng)安備:43070202000427號© 2013~2025 haote.com 好特網(wǎng)