大語言模型的預(yù)訓(xùn)練:思維鏈(Chain-of-thought,CoT)原理詳解

大語言模型的預(yù)訓(xùn)練[6]:思維鏈(Chain-of-thought,CoT)定義原理詳解、Zero-shot CoT、Few-shot CoT 以及在LLM上應(yīng)用
1.思維鏈定義
背景
在 2017-2019 年之間,隨著 Transformer 模型的提出,計(jì)算資源與大規(guī)模語料庫不斷出現(xiàn),自然語言處理領(lǐng)域發(fā)生了翻天覆地的變化,傳統(tǒng)的全監(jiān)督學(xué)習(xí)的范式逐漸達(dá)到了瓶頸,很難在傳統(tǒng)的訓(xùn)練方式上取得大幅度提升。這時(shí)大規(guī)模預(yù)訓(xùn)練模型的如 Bert、RoBERTa 等模型的出現(xiàn)使得研究方向轉(zhuǎn)向了以預(yù)訓(xùn)練模型為基礎(chǔ) + 下游任務(wù) Fine-tune 的范式。
然而隨著語言模型規(guī)模的不斷增大,F(xiàn)ine-tune 的成本變得越來越高,以 GPT-3 為例,其參數(shù)量已經(jīng)達(dá)到了驚人的 175B,對(duì)于這樣大規(guī)模的參數(shù),僅依靠傳統(tǒng) Fine-Tune 已經(jīng)很難對(duì)模型起到有效的遷移,且如此大規(guī)模的參數(shù)量使得梯度的反向傳播的代價(jià)也急劇增加。在這樣的背景下,提示學(xué)習(xí)應(yīng)運(yùn)而生。提示學(xué)習(xí)通過改造下游任務(wù)、增加專家知識(shí)等形式,使得目標(biāo)任務(wù)的輸入輸出更加貼合原始語言模型訓(xùn)練時(shí)的數(shù)據(jù)。
2021 年,提示學(xué)習(xí)經(jīng)歷了以離散提示學(xué)習(xí)(提示詞的組合)為開始,連續(xù)化提示學(xué)習(xí)(連續(xù)空間表示)為復(fù)興的多個(gè)階段,逐步達(dá)到高潮。但基于連續(xù)空間的提示學(xué)習(xí)同樣存在較多的局限性,比如資源消耗與訓(xùn)練不穩(wěn)定等多種問題。這一時(shí)期,雖然大多數(shù)研究者普遍認(rèn)同提示學(xué)習(xí)將會(huì)帶來自然語言處理領(lǐng)域下一代革命,但這一時(shí)期大多數(shù)研究工作主要還是與模型訓(xùn)練或新的語言模型結(jié)構(gòu)相關(guān)。
直到 2022 年,大規(guī)模語言模型的效果 “肉眼可見” 的變好,同時(shí)隨著模型規(guī)模的不斷增大,模型也變得更好“提示”,尤其是之前一些沒有辦法做很好的任務(wù)不斷取得突破。但是大模型在做算術(shù)推理、常識(shí)推理和符號(hào)推理時(shí)的表現(xiàn)還不夠好。 大模型的 in-context few shot 能力是極強(qiáng)的,但是創(chuàng)建很多的中間步驟用來做監(jiān)督 finetune 是非常耗時(shí)的,而且傳統(tǒng)的 prompt 方式在數(shù)學(xué)計(jì)算、常識(shí)推理等做的又不好,怎么結(jié)合 in-context few shot 和 中間步驟來改善算術(shù)推理、常識(shí)推理和符號(hào)推理等能力是一個(gè)問題。思維鏈的一系列工作就是在這樣的大環(huán)境下誕生的。
定義
思維鏈 (Chain-of-thought,CoT) 的概念是在 Google 的論文 "Chain-of-Thought Prompting Elicits Reasoning in Large Language Models" 中被首次提出。思維鏈(CoT)是一種改進(jìn)的提示策略,用于提高 LLM 在復(fù)雜推理任務(wù)中的性能,如算術(shù)推理、常識(shí)推理和符號(hào)推理。CoT 沒有像 ICL 那樣簡單地用輸入輸出對(duì)構(gòu)建提示,而是結(jié)合了中間推理步驟,這些步驟可以將最終輸出引入提示。簡單來說,思維鏈?zhǔn)且环N離散式提示學(xué)習(xí),更具體地,大模型下的上下文學(xué)習(xí)(即不進(jìn)行訓(xùn)練,將例子添加到當(dāng)前樣本輸入的前面,讓模型一次輸入這些文本進(jìn)行輸出完成任務(wù)),相比于之前傳統(tǒng)的上下文學(xué)習(xí)(即通過x1,y1,x2,y2,....xtest作為輸入來讓大模型補(bǔ)全輸出ytest),思維鏈多了中間的中間的推導(dǎo)提示,以下圖為例:
可以看到,類似的算術(shù)題,思維鏈提示會(huì)在給出答案之前,還會(huì)自動(dòng)給出推理步驟:
“羅杰先有 5 個(gè)球,2 罐 3 個(gè)網(wǎng)球等于 6 個(gè),5 + 6 = 11”
“食堂原來有 23 個(gè)蘋果,用 20 個(gè)做午餐,23-20=3;又買了 6 個(gè)蘋果,3+6=9”
思維鏈提示給出了正確答案,而直接給出答案的傳統(tǒng)提示學(xué)習(xí),結(jié)果是錯(cuò)的,連很基本的數(shù)學(xué)計(jì)算都做不好。簡單來說,語言模型很難將所有的語義直接轉(zhuǎn)化為一個(gè)方程,因?yàn)檫@是一個(gè)更加復(fù)雜的思考過程,但可以通過中間步驟,來更好地推理問題的每個(gè)部分。
一個(gè)有效的思維鏈應(yīng)該具有以下特點(diǎn):
邏輯性:思維鏈中的每個(gè)思考步驟都應(yīng)該是有邏輯關(guān)系的,它們應(yīng)該相互連接,從而形成一個(gè)完整的思考過程。
全面性:思維鏈應(yīng)該盡可能地全面和細(xì)致地考慮問題,以確保不會(huì)忽略任何可能的因素和影響。
可行性:思維鏈中的每個(gè)思考步驟都應(yīng)該是可行的,也就是說,它們應(yīng)該可以被實(shí)際操作和實(shí)施。
可驗(yàn)證性:思維鏈中的每個(gè)思考步驟都應(yīng)該是可以驗(yàn)證的,也就是說,它們應(yīng)該可以通過實(shí)際的數(shù)據(jù)和事實(shí)來驗(yàn)證其正確性和有效性。
2.思維鏈用于上下文學(xué)習(xí)的方法(In-context learning)
2.1 Few-shot CoT
Few-shot CoT 是 ICL 的一種特殊情況,它通過融合 CoT 推理步驟,將每個(gè)演示〈input,output〉擴(kuò)充為〈input,CoT,output〉。
【CoT prompt 的設(shè)計(jì)】
作為一種直接的方法,研究表明,使用不同的 CoT(即每個(gè)問題的多個(gè)推理路徑)可以有效地提高它們的性能。另一個(gè)直觀的想法是,具有更復(fù)雜推理路徑的提示更有可能引發(fā) LLM 的推理能力,這可以導(dǎo)致生成正確答案的準(zhǔn)確性更高。 然而,這兩種方法都依賴于帶標(biāo)注的 CoT 數(shù)據(jù)集,這限制了在實(shí)踐中的應(yīng)用。為了克服這一限制,Auto-CoT 建議利用 Zero-shot-CoT,通過專門提示 LLM 來生成 CoT 推理路徑,從而消除了手動(dòng)操作。為了提高性能,Auto-CoT 進(jìn)一步將訓(xùn)練集中的問題劃分為不同的聚類,然后選擇最接近每個(gè)聚類中心的問題,這應(yīng)該很好地代表訓(xùn)練集中的提問。盡管 Few-shot CoT 可以被視為 ICL 的一種特殊提示情況,但與 ICL 中的標(biāo)準(zhǔn)提示相比,演示的順序似乎影響相對(duì)較小:在大多數(shù)任務(wù)中,重新排序演示只會(huì)導(dǎo)致小于 2% 的性能變化。【增強(qiáng)的 CoT 策略】
除了豐富上下文信息外,CoT 提示還提供更多選項(xiàng)來推斷給定問題的答案。現(xiàn)有的研究主要集中在生成多條推理路徑,并試圖在得出的答案中找到共識(shí)。例如,在生成 CoT 和最終答案時(shí),提出了 self-consistency 作為一種新的解碼策略。它首先生成幾個(gè)推理路徑,然后對(duì)所有答案進(jìn)行綜合(例如,通過在這些路徑中投票來選擇最一致的答案)。self-consistency 在很大程度上提高了 CoT 推理的性能,甚至可以改進(jìn)一些 CoT 提示通常比標(biāo)準(zhǔn)提示差的任務(wù)。此外,將自一致性策略擴(kuò)展到更通用的集成框架(擴(kuò)展到提示上的集成),發(fā)現(xiàn)不同的推理路徑是提高 CoT 推理性能的關(guān)鍵。
2.2 Zero-shot CoT
與 Few-shot CoT 不同,Zero-shot CoT 在 prompt 中不包括人工標(biāo)注的任務(wù)演示。相反,它直接生成推理步驟,然后使用生成的 CoT 來導(dǎo)出答案。其中 LLM 首先由 “Let's think step by step” 提示生成推理步驟,然后由 “Therefore, the answer is” 提示得出最終答案。他們發(fā)現(xiàn),當(dāng)模型規(guī)模超過一定規(guī)模時(shí),這種策略會(huì)大大提高性能,但對(duì)小規(guī)模模型無效,顯示出顯著的涌現(xiàn)能力模式。
為了在更多的任務(wù)上解鎖 CoT 能力,F(xiàn)lan-T5 和 Flan-PaLM 進(jìn)一步在 CoT 標(biāo)注上執(zhí)行指令調(diào)優(yōu),并且改進(jìn)了在不可見任務(wù)上的零樣本性能。
3. 結(jié)論
CoT 對(duì)小模型作用不大,模型參數(shù)至少達(dá)到 10B 才有效果,達(dá)到 100B 效果才明顯。并且,從小模型的輸出可以看出,它們大部分是輸出了流暢但不合邏輯的 CoT,因此得到錯(cuò)誤的結(jié)果。
CoT 對(duì)復(fù)雜的問題的性能增益更大,例如 GSM8K(更難,因?yàn)榛€最低)上 GPT-3 和 PaLM 的性能增加了一倍多。而對(duì)于 MAWPS-SingleOp(更簡單的任務(wù)),性能改進(jìn)非常小甚至是負(fù)面的。
加上 CoT 的 PaLM 540B 超過了任務(wù)特定的用監(jiān)督學(xué)習(xí)訓(xùn)練的模型的最優(yōu)結(jié)果。不加 CoT 的話 GSM8K 和 MAWPS 任務(wù)上 LLM 的結(jié)果比不過最優(yōu)的監(jiān)督學(xué)習(xí)模型。
思維鏈?zhǔn)墙鉀Q推理任務(wù)時(shí)人類思維過程遵循的一系列典型步驟。 它可以幫助我們將一個(gè)問題分解成一系列的子問題,然后逐個(gè)解決這些子問題,從而得出最終的答案。在大型語言模型中,思維鏈可以用來引出推理。思路鏈方法帶來以下好處:
CoT 允許模型將多步推理問題分解為中間步驟,這意味著額外的計(jì)算可以分配到需要推理的復(fù)雜問題上;
CoT 使大語言模型更具可解釋性,更加可信,并提供了調(diào)試推理路徑錯(cuò)誤的機(jī)會(huì);
CoT 推理能夠被用于數(shù)學(xué)應(yīng)用題、常識(shí)推理和符號(hào)操作等任務(wù),并且可能適用任何人類需要通過語言解決的問題;
CoT 可以通過將其加入到 few-shot prompting 示例中,從而在足夠大的語言模型中引導(dǎo)出推理能力。
當(dāng)前的思維鏈也存在著許多局限性:
首先,盡管設(shè)計(jì)的思維鏈?zhǔn)窃谀M人類的推理過程,但模型是否真正的學(xué)會(huì)了推理仍需進(jìn)一步進(jìn)行驗(yàn)證。
人工設(shè)計(jì)思維鏈仍然是代價(jià)過大,大規(guī)模的人工標(biāo)注思維鏈?zhǔn)遣豢尚械摹?/p>
思維鏈只在大規(guī)模模型上有效(10B 以上)
4.未來對(duì)思維鏈的思考
(1)什么時(shí)候 CoT 對(duì) LLMs 有用
由于 CoT 是一種涌現(xiàn)能力,只對(duì)足夠大的模型(例如,通常包含 10B 或更多的參數(shù))有積極影響,但對(duì)小模型沒有影響。此外,由于 CoT 通過中間推理步驟增強(qiáng)了標(biāo)準(zhǔn)提示,因此它主要有效地改進(jìn)了需要逐步推理的任務(wù),如算術(shù)推理、常識(shí)推理和符號(hào)推理。然而,對(duì)于不依賴于復(fù)雜推理的其他任務(wù),它可能顯示出比標(biāo)準(zhǔn)提示更差的性能,例如 GLUE 的 MNLI-m/mm、SST-2 和 QQP。
(2)為什么 LLMs 可以執(zhí)行 CoT 推理
關(guān)于 CoT 能力的來源,人們普遍假設(shè)它可以歸因于對(duì)代碼的訓(xùn)練,因?yàn)樵诖a上訓(xùn)練的模型顯示出強(qiáng)大的推理能力。從直覺上講,代碼數(shù)據(jù)通過算法邏輯和編程流程進(jìn)行了良好的組織,這可能有助于提高 LLM 的推理性能。然而,這一假設(shè)仍然缺乏消融實(shí)驗(yàn)的公開報(bào)道證據(jù)。此外,指令調(diào)優(yōu)似乎不是獲得 CoT 能力的關(guān)鍵原因,因?yàn)榻?jīng)驗(yàn)表明,對(duì)非 CoT 數(shù)據(jù)的指令調(diào)優(yōu)并不能提高保持的 CoT 基準(zhǔn)的性能。
總之,CoT 提示為誘導(dǎo) LLM 的推理能力提供了一種通用而靈活的方法。也有一些初步嘗試將該技術(shù)擴(kuò)展到解決多模態(tài)任務(wù)和多語言任務(wù)。除了將 LLM 與 ICL 和 CoT 直接結(jié)合使用外,最近的一些研究還探討了如何將 LLM 的能力專門化到特定任務(wù),這被稱為模型專門化。例如,研究人員通過微調(diào) LLM 生成的 CoT 推理路徑上的小規(guī)模 Flan-T5,專門研究 LLM 的數(shù)學(xué)推理能力。模型專業(yè)化也可用于解決各種任務(wù),如問答、代碼合成和信息檢索。
5.關(guān)鍵知識(shí)點(diǎn)
有效的思維鏈應(yīng)具備的特點(diǎn)是:邏輯性、全面性、可行性
思維鏈只能在大語言模型中起作用。
Few-shot CoT是ICL的一種特殊情況。
Zero-shot CoT在prompt中不包括人工標(biāo)注的任務(wù)演示。
CoT使大語言模型更具可解釋性,更加可信。
更多優(yōu)質(zhì)內(nèi)容請(qǐng)關(guān)注公號(hào):汀丶人工智能;會(huì)提供一些相關(guān)的資源和優(yōu)質(zhì)文章,免費(fèi)獲取閱讀。
