前一章思維鏈基礎(chǔ)和進階玩法我們介紹了如何寫Chain-of-thought Prompt來激活生成逐步推理,并提高模型解決復(fù)雜問題的能力,這一章我們追本溯源,討論下COT的哪些元素是提升模型表現(xiàn)的核心?
要進行因果分析,需要把思維鏈中的不同元素拆解開來,然后通過控制變量實驗,來研究不同元素對COT效果的影響。以下兩篇論文的核心差異就在于: COT的變量拆解,以及控制變量的實驗方式。
結(jié)合兩篇論文的實驗結(jié)論,可能導(dǎo)致思維鏈比常規(guī)推理擁有更高準(zhǔn)確率的因素有
- 思維鏈的推理過程會重復(fù)問題中的核心實體,例如數(shù)字,人物,數(shù)字等
- 思維鏈正確邏輯推理順序的引入
友情提示:以下論文的實驗依賴反事實因果推斷,這種因果分析方式本身可能存在有偏性進而得到一些錯誤結(jié)論,讀論文有風(fēng)險,迷信論文需謹(jǐn)慎哈哈~
TEXT AND PATTERNS: FOR EFFECTIVE CHAIN OF THOUGHT IT TAKES TWO TO TANGO
- 測試模型:PaLM-62B,GPT3,CODEX
google這篇論文比較早,按個人閱讀舒適度來劃分個人更推薦第二篇論文喲~
COT元素
論文把影響元素拆分成了Text,Symbol和Pattern三個部分, 如下
論文給出了symbol和pattern的定義,剩下的token全是Text
- symbol:是數(shù)據(jù)集的核心主體,數(shù)學(xué)問題就是數(shù)字,SPORT數(shù)據(jù)集就是運動員和運動項目, DATE數(shù)據(jù)集就是時間,這里的symbol類似實體的概念
- pattern: 可以是symbol的組合,連接符(公式)或者幫助模型理解任務(wù)的表述結(jié)構(gòu)。這里允許pattern和symbol重合,也就是整個公式是pattern,但公式中的數(shù)字同樣是symbol。但在非數(shù)學(xué)問題上我個人覺得pattern的定義有點迷幻...
實驗
論文針對以上3個元素分別進行了實驗,通過改變COT few-shot prompt中特定元素的取值,來分析該元素對COT效果的貢獻
觀點1.Symbol的形式和取值本身對COT影響不大
這里論文用了兩種控制變量的方式:symbol隨機采樣和特殊符號替換
- 特殊符號替換(symb_abs)
abstract symbol就是用特殊符號來替換symbol,這里作者同時替換了question,prompt和answer里面的symbol如下
- 隨機替換(symb_ood)
OOD類似隨機替換,不過論文的替換方式有些迷幻。對于GSM8k數(shù)學(xué)問題,作者用一一對應(yīng)的數(shù)學(xué)數(shù)字替換了文字?jǐn)?shù)字;對于體育常識問題的替換比較常規(guī)作者用隨機的人名和賽事進行替換;對于時間常識問題作者用未來時間替換了當(dāng)前時間?? 注意這里的替換作者保證了推理邏輯的一致性,包括同一數(shù)字用同一symbol替換,替換實體也符合推理邏輯,以及對問題中的答案也進行了替換。所以這里純純只能論證symbol本身的取值和類型(例如數(shù)字1和一)是否對COT有影響
abstract symbol就是用特殊符號來替換symbol,這里作者同時替換了question,prompt和answer里面的symbol如下
這種替換方式下的實驗結(jié)果如下,除了體育問題中的隨機實體替換,其余symbol的替換對COT的效果影響都非常有限。這讓我想到了一篇關(guān)于NER模型的泛化性主要來自模型學(xué)會了不同類型的實體會出現(xiàn)在哪些上下文中,而不僅是對實體本身的形式進行了記憶。他們的實驗方式和作者替換symbol的操作其實很類似,這種替換并不大幅影響下文對上文的Attention。
觀點2. pattern是COT生效的必要不充分條件
對于Pattern作者更換了實驗方式,控制變量采用了只保留pattern,和只剔除pattern這兩種實驗類型。
以數(shù)學(xué)問題為例,只保留pattern就是推理過程只保留數(shù)學(xué)公式,只剔除pattern就是整個推理過程只把公式剔除。其余問題類型,考慮在前面的pattern定義階段個人就感覺有些迷幻,... 所以我們直接跳到實驗結(jié)論吧
- 只有pattern的COT效果很差,和直接推理差不多,說明只有patten肯定是不夠的,這和上一篇博客提到COT小王子嘗試過的只有數(shù)學(xué)公式的COT效果不好的結(jié)論是一致的。
- 剔除pattern的COT效果受到影響,因此pattern對COT有顯著影響,但很顯然還有別的因素
觀點3. 推理出現(xiàn)問題中的關(guān)鍵實體且和問題保持格式一致很重要
最后針對Text部分,作者采用了實體替換和語法替換
- 實體替換(text_diff_entities):把推理中的實體隨機替換成和問題中不一樣的實體,包括數(shù)學(xué)問題中的數(shù)字,常識問題中的時間,地點和任務(wù)。個人感覺這應(yīng)該是symbol的實驗??
效果上,隨機實體替換對所有任務(wù)的COT效果影響非常大, 所以在推理階段使用Question中的核心實體很重要。其次推理和question在語法上的不一致會影響COT在部分任務(wù)上的表現(xiàn)。
Towards Understanding Chain-of-Thought Prompting: An Empirical Study of What Matters
- 測試模型:text-davinci-002, text-davinci-003
整體上第二篇論文的思路更簡單清晰,在拆解元素的同時還定義了關(guān)系。
COT元素
論文首先定義了思維鏈中的兩種核心元素
- Bridge Object: 模型解決問題所需的核心和必須元素。例如數(shù)學(xué)問題中的數(shù)字和公式,QA問題中的實體,有點類似把論文1中pattern和symbol和在了一起,感覺定義更清晰了
- Language Template:除去Bridge Object剩余的部分基本都是Language Template
其次定義了思維鏈的兩種核心關(guān)系
- 一致性(Coherence): 推理步驟之間的邏輯順序, 先說什么后說什么
- 相關(guān)性(Relevance): Question中核心元素是否在推理中出現(xiàn)
實驗
論文的消融實驗通過人工修改few-shot COT中的few-shot樣本,來驗證思維鏈中不同元素的貢獻,這里我們以一個數(shù)學(xué)問題問題為例,看下實驗的兩個階段
觀點1. 完全正確的COT并非必要
第一步作者證明了完全正確的In-Context樣本并不是必須的,用的什么方法嘞?
如下圖所示,作者手工把正確的In-Context COT樣本改寫成錯誤的,改寫方式是在保留部分推理順序,和部分bridge object的前提下,隨機的把推理改成錯誤的推理邏輯。作者發(fā)現(xiàn)魔改后錯誤的few-shot的樣本,對比正確的few-shot-cot保留了80%+的水平,只有小幅的下降。
觀點2.推理順序和核心元素的出現(xiàn)更重要
既然完全正確的COT樣本并非必須,那究竟思維鏈的哪些元素對效果的影響最大呢?針對以上兩種元素和兩種關(guān)系,作者用了數(shù)據(jù)增強的方式來對few-shot樣本進行修改,得到破壞某一種元素/關(guān)系后的few-shot樣本
- 破壞相關(guān)性: 這里使用了Random Substitution; 針對Bridge Obejct,就是固定文字模板,把數(shù)學(xué)問題中出現(xiàn)的數(shù)字在COT里面(32/42/35)隨機替換成其他數(shù)字,這里為了保持上下文一致性相同的數(shù)字會用相同的隨機數(shù)字來替換; 針對template,就固定Bridge Object,從樣本中隨機采樣其他的COT推理模板來進行替換。
- 破壞一致性: 這里使用了Random Shuffle;針對Bridge Object,就是把COT中不同位置的Bridge Obejct隨機打亂順序;針對Template,就固定Bridge Object,把文字模板的句子隨機改變位置。
整體效果如下圖
論文正文用的是text-davinci-002,附錄里也補充了text-davinci-003的效果,看起來003的結(jié)果單調(diào)性更好,二者結(jié)論是基本一致的,因此這里我們只看下003的消融實驗效果,可以得到以下幾個核心結(jié)論
- 對比COT推理的正確性,相關(guān)性和一致性更加重要,尤其是相關(guān)性。也就是在推理過程中復(fù)述question中的關(guān)鍵信息可以有效提高模型推理準(zhǔn)確率。個人猜測是核心元素的復(fù)述可以幫助模型更好理解指令識別指令中的關(guān)鍵信息,并提高該信息對應(yīng)的知識召回【這一點我們在下游難度較高的多項選擇SFT中也做過驗證,我們在多項選擇的推理模板的最后加入了題干的復(fù)述,效果會有一定提升,進一步把選項的結(jié)果完形填空放到題干中,效果會有更進一步的提升】
- Language Template的一致性貢獻度較高。也就是正確的邏輯推理順序有助于模型推理效果的提升。這一點更好理解主要和decoder需要依賴上文的解碼方式相關(guān)?!具€是多項選擇的指令微調(diào),我們對比了把選項答案放在推理的最前面和放在復(fù)述題干之前的效果,都顯著差于先推理分析,復(fù)述題干并填入選項答案,最后給出選項答案這個推理順序】
文章來源:http://www.zghlxwxcb.cn/news/detail-513014.html
想看更全的大模型相關(guān)論文梳理·微調(diào)及預(yù)訓(xùn)練數(shù)據(jù)和框架·AIGC應(yīng)用,移步Github >>?DecryptPropmt文章來源地址http://www.zghlxwxcb.cn/news/detail-513014.html
到了這里,關(guān)于解密Prompt系列10. 思維鏈COT原理探究的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!