前一章思維鏈基礎和進階玩法我們介紹瞭如何寫Chain-of-thought Prompt來啟用生成逐步推理,並提高模型解決複雜問題的能力,這一章我們追本溯源,討論下COT的哪些元素是提升模型表現的核心?
要進行因果分析,需要把思維鏈中的不同元素拆解開來,然後通過控制變數實驗,來研究不同元素對COT效果的影響。以下兩篇論文的核心差異就在於: COT的變數拆解,以及控制變數的實驗方式。
結合兩篇論文的實驗結論,可能導致思維鏈比常規推理擁有更高準確率的因素有
友情提示:以下論文的實驗依賴反事實因果推斷,這種因果分析方式本身可能存在有偏性進而得到一些錯誤結論,讀論文有風險,迷信論文需謹慎哈哈~
- 測試模型:PaLM-62B,GPT3,CODEX
google這篇論文比較早,按個人閱讀舒適度來劃分個人更推薦第二篇論文喲~
論文把影響元素拆分成了Text,Symbol和Pattern三個部分, 如下
論文給出了symbol和pattern的定義,剩下的token全是Text
論文針對以上3個元素分別進行了實驗,通過改變COT few-shot prompt中特定元素的取值,來分析該元素對COT效果的貢獻
這裡論文用了兩種控制變數的方式:symbol隨機取樣和特殊符號替換
abstract symbol就是用特殊符號來替換symbol,這裡作者同時替換了question,prompt和answer裡面的symbol如下
OOD類似隨機替換,不過論文的替換方式有些迷幻。對於GSM8k數學問題,作者用一一對應的數學數位替換了文字數位;對於體育常識問題的替換比較常規作者用隨機的人名和賽事進行替換;對於時間常識問題作者用未來時間替換了當前時間?? 注意這裡的替換作者保證了推理邏輯的一致性,包括同一數位用同一symbol替換,替換實體也符合推理邏輯,以及對問題中的答案也進行了替換。所以這裡純純只能論證symbol本身的取值和型別(例如數位1和一)是否對COT有影響
abstract symbol就是用特殊符號來替換symbol,這裡作者同時替換了question,prompt和answer裡面的symbol如下
這種替換方式下的實驗結果如下,除了體育問題中的隨機實體替換,其餘symbol的替換對COT的效果影響都非常有限。這讓我想到了一篇關於NER模型的泛化性主要來自模型學會了不同型別的實體會出現在哪些上下文中,而不僅是對實體本身的形式進行了記憶。他們的實驗方式和作者替換symbol的操作其實很類似,這種替換並不大幅影響下文對上文的Attention。
對於Pattern作者更換了實驗方式,控制變數採用了只保留pattern,和只剔除pattern這兩種實驗型別。
以數學問題為例,只保留pattern就是推理過程只保留數學公式,只剔除pattern就是整個推理過程只把公式剔除。其餘問題型別,考慮在前面的pattern定義階段個人就感覺有些迷幻,... 所以我們直接跳到實驗結論吧
最後針對Text部分,作者採用了實體替換和語法替換
- 語法替換(text_yoda_thought): 把常規的英文表達改成了Yoda的說法風格。Yoda是按照名詞-形容詞-動詞順序來說話的。例如常規是This is my home,Yoda會說My home this is。只對thought進行語法替換,question保持正常的英文表達。
效果上,隨機實體替換對所有任務的COT效果影響非常大, 所以在推理階段使用Question中的核心實體很重要。其次推理和question在語法上的不一致會影響COT在部分任務上的表現。
- 測試模型:text-davinci-002, text-davinci-003
整體上第二篇論文的思路更簡單清晰,在拆解元素的同時還定義了關係。
論文首先定義了思維鏈中的兩種核心元素
其次定義了思維鏈的兩種核心關係
論文的消融實驗通過人工修改few-shot COT中的few-shot樣本,來驗證思維鏈中不同元素的貢獻,這裡我們以一個數學問題問題為例,看下實驗的兩個階段
第一步作者證明了完全正確的In-Context樣本並不是必須的,用的什麼方法嘞?
如下圖所示,作者手工把正確的In-Context COT樣本改寫成錯誤的,改寫方式是在保留部分推理順序,和部分bridge object的前提下,隨機的把推理改成錯誤的推理邏輯。作者發現魔改後錯誤的few-shot的樣本,對比正確的few-shot-cot保留了80%+的水平,只有小幅的下降。
既然完全正確的COT樣本並非必須,那究竟思維鏈的哪些元素對效果的影響最大呢?針對以上兩種元素和兩種關係,作者用了資料增強的方式來對few-shot樣本進行修改,得到破壞某一種元素/關係後的few-shot樣本
整體效果如下圖
論文正文用的是text-davinci-002,附錄裡也補充了text-davinci-003的效果,看起來003的結果單調性更好,二者結論是基本一致的,因此這裡我們只看下003的消融實驗效果,可以得到以下幾個核心結論