您的位置:首頁 > 軟件教程 > 教程 > 解鎖LLMs的“思考”能力:Chain-of-Thought(CoT) 技術(shù)推動復(fù)雜推理的新發(fā)展

解鎖LLMs的“思考”能力:Chain-of-Thought(CoT) 技術(shù)推動復(fù)雜推理的新發(fā)展

來源:好特整理 | 時間:2024-06-14 11:49:09 | 閱讀:191 |  標(biāo)簽: T GHT S C in AI LMS 解鎖 ug   | 分享到:

解鎖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

解鎖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)、常識推理(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)勢

    1. 中間步驟:模型在生成最終答案之前,會先產(chǎn)生一系列的中間推理步驟。
    2. 可解釋性:由于CoT提供了推理過程的可見性,因此它有助于提高模型決策的可解釋性。
    3. 邏輯推理:CoT可以幫助模型進(jìn)行復(fù)雜的邏輯推理,尤其是在需要組合多個事實或信息片段的問題上。
    4. 上下文利用:在CoT中,模型可以利用上下文信息,通過逐步推理來解決問題,而不是僅僅依賴于直接的答案。
  • 拓展技術(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)。

解鎖LLMs的“思考”能力:Chain-of-Thought(CoT) 技術(shù)推動復(fù)雜推理的新發(fā)展

2.CoT方法

一般來說CoT會分為兩種:基于人工示例標(biāo)注的Few-shot CoT和無人工示例標(biāo)注的Zero-shot CoT。下面將逐一介紹。

1.1 Few-shot CoT

假設(shè)基于ICL的測試樣本輸入表示為$$,那么加入Few-shot CoT的測試樣本輸入,可表示為$$。

1.1.1 CoT Prompt設(shè)計

我們知道了加入CoT的示例后,能提升LLM的表現(xiàn)。那么我們應(yīng)該如何構(gòu)造或使用CoT?

投票式CoT

《Self-Consistency Improves Chain of Thought Reasoning in Language Models》

論文基于一個思想:一個復(fù)雜的推理任務(wù),其可以有多種推理路徑(即解題思路),最終都能夠得到正確的答案。故Self-Consistency在解碼過程中,拋棄了greedy decoding的策略,而是使用采樣的方式,選擇生成不同的推理路徑,每個路徑對應(yīng)一個最終答案。

具體做法為:

  • 對于單一的測試數(shù)據(jù),通過多次的解碼采樣,會生成多條推理路徑和答案。
  • 基于投票的策略,選擇最一致的答案。

解鎖LLMs的“思考”能力:Chain-of-Thought(CoT) 技術(shù)推動復(fù)雜推理的新發(fā)展

實驗表明,對于同一問題生成更多的推理鏈以供投票往往能取得更好的效果。當(dāng)推理鏈數(shù)量足夠多時,這種方法效果能夠勝過使用greedy decoding的CoT方法。

《On the advance of making language models better reasoners》

論文在Self-Consistency的基礎(chǔ)上,進(jìn)一步做了優(yōu)化。

  • 1.Diverse Prompts
    • 對于每個測試問題,構(gòu)造了$M_1$種不同的prompt(即由不同demonstration構(gòu)造的prompt)
    • 對于每種不同的prompt,讓LLM生成$M_2$條推理路徑。
    • 則對于同一個測試問題,共生成了$M_1*M_2$條結(jié)果
  • 2.Verifier
    • 訓(xùn)練了一個Verifier,用于判斷當(dāng)前推理路徑得出的答案正確與否。
    • 關(guān)于樣本構(gòu)建,使用LLM生成的推理路徑和答案,與grandtruth進(jìn)行對比,一致的即視為正樣本,否則負(fù)樣本。
  • 3.Vote
    • 訓(xùn)練好Verifier后,對與一個測試問題與LLM生成的多條推理路徑,Verifier進(jìn)行二元判別
    • 結(jié)合判別結(jié)果和投票結(jié)果,得出模型的最終預(yù)測。

解鎖LLMs的“思考”能力:Chain-of-Thought(CoT) 技術(shù)推動復(fù)雜推理的新發(fā)展

實驗結(jié)果顯示,本論文的方法相對基于Greedy Decode和Self-Consistency能得到更優(yōu)的效果。

使用復(fù)雜的CoT

《Complexity-based prompting for multi-step reasoning》

面對這么多可選的CoT,簡單的CoT示例和復(fù)雜的CoT示例,對新的樣本推理結(jié)果會不會產(chǎn)生影響?答案是Yes。

論文探討了一個問題,在包含簡單推理路徑的demonstrations和復(fù)雜推理路徑的demonstrations下,哪個效果會表現(xiàn)較好?(這里的簡單和復(fù)雜是指 推理鏈/推理步驟的長度)

本論文繼承了Self-Consistency的思想,具體方法:

  • 1.對于同一個測試問題,使用功能LLM(GPT-3)生成$N$條不同的推理鏈+答案;
  • 2.對于生成的推理鏈+答案,按照推理鏈的長度進(jìn)行倒序排序;
  • 3.保留TopK條推理鏈+答案,并使用投票的方式,選取最終預(yù)測。

實驗結(jié)果表明,本論文的方法效果優(yōu)于以下方法: (1)人工構(gòu)建Cot、(2)random Cot、(2)Complex CoT(數(shù)據(jù)集中最長的多個思維鏈作為demonstrations)。

解鎖LLMs的“思考”能力:Chain-of-Thought(CoT) 技術(shù)推動復(fù)雜推理的新發(fā)展

自動構(gòu)建CoT

《Automatic chain of thought prompting in large language models》

上面提到的方法是基于人工構(gòu)造CoT,那我們能否讓模型自己來生成CoT?本論文就提供了這樣一種自動生成CoT的思路。

本論文提到的Manual-CoT,可以等同于Few-shot CoT來理解。

解鎖LLMs的“思考”能力:Chain-of-Thought(CoT) 技術(shù)推動復(fù)雜推理的新發(fā)展

由于Zero-Shot-CoT方法存在不穩(wěn)定性,而Manual-CoT方法需要大量人工成本投入。作者提出了一種基于Auto-CoT的方法,自動構(gòu)建包含問題和推理鏈的說明樣例(demonstrations)。

整個過程分了兩個階段:

1.question cluster: 目的是將數(shù)據(jù)集中的question劃分到不同簇中。

  • 使用Sentence-Bert計算每個question的向量表示;
  • 使用k-means方法將question記性簇劃分;
  • 最后對每個簇中的question,根據(jù)距離中心點距離,升序排序。

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)得更好。

解鎖LLMs的“思考”能力:Chain-of-Thought(CoT) 技術(shù)推動復(fù)雜推理的新發(fā)展

CoT中示例順序的影響

《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影響較大)

1.1.2 CoT的增強策略

COT(Chain-of-Thought)的增強策略主要包括以下幾種:

  1. 結(jié)合驗證和細(xì)化:

    • 思維鏈推理過程中可能會出現(xiàn)誤差,產(chǎn)生錯誤的推理步驟。為了減少這種現(xiàn)象,可以結(jié)合驗證來獲取反饋,并根據(jù)反饋改進(jìn)推理過程。這與人類的反思過程類似。
    • 例如,VerifyCoT設(shè)計了一種自然程序(NaturalProgram),允許模型產(chǎn)生精確的推理步驟,每個后續(xù)步驟都嚴(yán)格基于之前的步驟。
  2. 問題分解:

    • COT通過將多步驟推理問題分解成多個中間步驟,分配給更多的計算量,生成更多的token,再進(jìn)行求解。這種策略有助于更好地推理問題的每個部分。
  3. 利用外部知識:

    • 在某些情況下,為了促進(jìn)知識密集型任務(wù),可以結(jié)合外部知識對不確定的例子進(jìn)行重新推理,從而減少再分析中的事實錯誤。
  4. 投票排序:

    • DIVERSE等策略利用投票機(jī)制消除錯誤答案,然后對每個推理步驟進(jìn)行獨立的細(xì)粒度驗證,從而提高推理的準(zhǔn)確性。
  5. 提高效率:

    • 通過優(yōu)化模型結(jié)構(gòu)和算法,減少不必要的計算量,提高推理的效率。
  6. 偏差增強一致性訓(xùn)練(BCT):

    • 針對COT可能產(chǎn)生的系統(tǒng)性偏見問題,引入了BCT無監(jiān)督微調(diào)方案。這種方法可以訓(xùn)練模型在包含和不包含偏見特征的提示下給出一致的推理,減少偏見推理。實驗表明,BCT可以顯著降低偏差推理率,提高模型解釋的可信度。
  7. Zero-shot-COT:

    • 引入了一種簡單的零樣本提示方法,通過在問題的結(jié)尾附加“Let's think step by step”等詞語,使大語言模型能夠生成一個回答問題的思維鏈。這種方法無需額外的訓(xùn)練數(shù)據(jù),可以直接應(yīng)用于各種推理任務(wù)。

1.2 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ù)推理上卻能帶來巨大的效果提升。

解鎖LLMs的“思考”能力:Chain-of-Thought(CoT) 技術(shù)推動復(fù)雜推理的新發(fā)展

《Large language models are zero-shot reasoners》

論文首先提出了Zero-shot CoT的方法,整個流程包含兩部分:

  • 1.Reasoning Extraction
    • 使用一個特定的"reasoning" prompt,是語言模型LLM生成原始問題的思維鏈,如"Let's think step by step."(讓我們一步步來思考)
  • 2.Answer Extraction
    • 基于第一步的結(jié)果,添加一個"answer" prompt,要求LLM生成正確的結(jié)果。
    • 這一個步驟中,LLM的輸入格式為:quesiton + "reasoning" prompt + result(CoT) + "answer" prompt,輸出為:result(answer)

值得一提的是,論文同時發(fā)現(xiàn)了,當(dāng)模型LLM變得越來越大,對于使用Zero-shot的結(jié)果帶來的增益不大,但是對使用Zero-shot CoT的結(jié)果帶來的增益較大。

解鎖LLMs的“思考”能力:Chain-of-Thought(CoT) 技術(shù)推動復(fù)雜推理的新發(fā)展

《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)的因素:

  • 1.任務(wù)數(shù)量
  • 2.模型大小
  • 3.指令微調(diào)(instruction tuning)

論文微調(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ù)集。

解鎖LLMs的“思考”能力:Chain-of-Thought(CoT) 技術(shù)推動復(fù)雜推理的新發(fā)展

解鎖LLMs的“思考”能力:Chain-of-Thought(CoT) 技術(shù)推動復(fù)雜推理的新發(fā)展

使用的模型是PaLM,而經(jīng)過instruction tuning的模型,稱為FlanPaLM(Finetuned Language PaLM)。

得到了以下結(jié)論:

  • 1.增加微調(diào)任務(wù)數(shù)量,可以提高LLM表現(xiàn)。但任務(wù)數(shù)量超過一定值后,不管模型尺寸是否增大,受益都不大。推測原因有:
    • (1) 額外的任務(wù)多樣化不足,沒有為LLM提供新的知識;
    • (2) 多任務(wù)指令微調(diào)只是更好地激發(fā)了模型從預(yù)訓(xùn)練任務(wù)中學(xué)習(xí)到知識的表達(dá)能力,而微調(diào)任務(wù)超過一定值后,對表達(dá)能力沒有太大幫助。
  • 2.微調(diào)和未微調(diào)的PaLM,從8B增大到540B,在unseen任務(wù)上效果越來越好;
  • 3.微調(diào)數(shù)據(jù)與CoT數(shù)據(jù)的關(guān)系
    • (1) 微調(diào)數(shù)據(jù)中刪除CoT數(shù)據(jù),會降低PaLM的推理能力
    • (2) 微調(diào)數(shù)據(jù)包含CoT數(shù)據(jù),會全面提高所有評測任務(wù)的表現(xiàn)

3.總結(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隱藏的能力和使用方法,讓我們拭目以待。

4.Reference

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ì)文章,免費獲取閱讀。

小編推薦閱讀

好特網(wǎng)發(fā)布此文僅為傳遞信息,不代表好特網(wǎng)認(rèn)同期限觀點或證實其描述。

鎖
類型:休閑益智  運營狀態(tài):正式運營  語言:中文   

游戲攻略

游戲禮包

游戲視頻

游戲下載

游戲活動

《鎖》(LOCK)是游戲商RixelStudio制作的一個簡單的益智游戲,不會讓你覺得無聊。雖然這個游戲不用計算

相關(guān)視頻攻略

更多

掃二維碼進(jìn)入好特網(wǎng)手機(jī)版本!

掃二維碼進(jìn)入好特網(wǎng)微信公眾號!

本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權(quán),請發(fā)郵件[email protected]

湘ICP備2022002427號-10 湘公網(wǎng)安備:43070202000427號© 2013~2025 haote.com 好特網(wǎng)