ICML 2024|Transformer究竟如何推理?基于樣例還是基于規(guī)則
本文經(jīng)計算機視覺研究院公眾號授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。
- 論文地址:https://arxiv.org/abs/2402.17709
- 項目主頁:https://github.com/GraphPKU/Case_or_Rule
- 論文標題:Case-Based or Rule-Based: How Do Transformers Do the Math?
Case-based or rule-based?
人類可以輕松地學(xué)習(xí)加法的基本規(guī)則,例如豎式加法,并將其應(yīng)用于任意長度的新的加法問題,但 LLMs 卻難以做到這一點。相反,它們可能會依賴于訓(xùn)練語料庫中見過的相似樣例來幫助解決問題。來自北京大學(xué)張牧涵團隊的 ICML 2024 論文深刻研究了這一現(xiàn)象。研究者們將這兩種不同的推理機制定義為 “基于規(guī)則的推理”(rule-based reasoning)和 “基于樣例的推理”(case-based reasoning)。圖 1 展現(xiàn)了兩種推理機制在遇到同一個加法問題時,采用的不同模式。
圖 1:case-based reasoning 與 rule-based reasoning 示意圖
由于 rule-based reasoning 對于獲得系統(tǒng)性的泛化能力 (systematic generalization) 至關(guān)重要,作者在文章中探討了 transformers 在數(shù)學(xué)問題(例如 "")中到底是使用何種推理機制。為了測試模型是否依賴特定樣例來解決問題,作者使用了 Leave-Square-Out 方法。主要思想是首先需要定位模型可能依賴的訓(xùn)練集中的樣例,然后將它們從訓(xùn)練集中移除,以觀察它們是否影響模型的測試性能。對于數(shù)學(xué)推理,作者的假設(shè)是,在解決某個測試樣本時,transformers 傾向于依賴與測試樣本 “接近” 的訓(xùn)練樣本來進行推理。因此,作者在樣本的二維空間中挖掉了一塊正方形作為測試集(test square)。根據(jù)假設(shè),若模型在做 case-based reasoning,且模型依賴的是與 test sample 距離較近的 training sample 來做推理,那么模型將無法答對正方形中心附近的 test samples,因為模型在訓(xùn)練集中沒有見過接近的樣例。
圖 2:GPT-2 在加法、模加法、九進制加法、線性回歸上利用 Leave-Square-Out 方法進行 fine-tune 后在全數(shù)據(jù)集上的正確率。其中,紅框中的方形區(qū)域為測試集,其他部分為訓(xùn)練集合。
通過在五個數(shù)學(xué)任務(wù)(包括加法、模加法、九進制加法、線性回歸以及雞兔同籠問題)的干預(yù)實驗,transformers 無一例外都表現(xiàn)出了 case-based reasoning 的行為。作者利用 Leave-Square-Out 方法對 GPT-2 進行了 fine-tune,具體的模型表現(xiàn)展示于圖 2。可見,測試集內(nèi),模型的性能由邊界到中心迅速下降,出現(xiàn)了 holes。這說明當我們把 holes 周圍的 similar cases 移出訓(xùn)練集時,模型便無法做對 holes 中的 test samples 做出準確推理。也即展現(xiàn)出模型依賴 similar cases 進行推理的行為。為了確保結(jié)論的公平性,作者同時利用 random split 方法對數(shù)據(jù)集進行了訓(xùn)練集 / 測試集的劃分,并觀察到 random split 下模型可輕易在測試集上達到接近 100% 的準確率,說明 Leave-Square-Out 實驗中的訓(xùn)練樣例數(shù)是足夠模型完成推理的,且再次側(cè)面印證了 transformers 在做基于樣例的推理(因為 random split 下所有 test samples 都有接近的 training samples)。
Scratchpad 是否會改變模型推理行為?
圖 3:利用 scratchpad 對 GPT-2 在加法任務(wù)上進行 fine-tune 后的模型在 test square 中的準確率。
此外,作者探討了是否可以通過加入 scratchpad,即引導(dǎo)模型在輸出中一位一位地做加法來消除 case-based reasoning 的行為,使模型轉(zhuǎn)向 rule-based reasoning(scratchpad 的具體方法可見圖 4)。圖 3 展示了利用 scratchpad 對 GPT-2 在加法任務(wù)上進行 fine-tune 后的模型在 test square 中的準確率。
一方面,可發(fā)現(xiàn) test square 中仍然有一部分模型無法做對的區(qū)域,表現(xiàn)出模型仍然在做 case-based reasoning;另一方面,與不加入 scratchpad 時模型在 test square 中出現(xiàn)整塊連續(xù)的 hole 的現(xiàn)象相比,模型在使用 scratchpad 時對于訓(xùn)練樣例的依賴情況顯然發(fā)生了變化。
具體而言,test square 中無法做對的區(qū)域呈現(xiàn)為三角形,其斜邊沿著個位和十位的 “進位邊界”。例如,圖 3 中自左向右第 2 張圖(test square 邊長)有兩個三角形區(qū)域,模型的準確率幾乎為零。小三角形表示,模型無法解決如47+48的問題,因為訓(xùn)練集中沒有包含十位上進位的步驟(所有四十幾 + 四十幾的樣例都在測試集中)。而對于不涉及十位進位的測試樣本,如42+43 ,模型則能夠成功,因為它可以從大量其他訓(xùn)練數(shù)據(jù)中學(xué)習(xí)到 4+4這個中間步驟(例如)。對于大三角形中的數(shù)據(jù)而言,模型無法解決例如57+58這樣的問題,因為訓(xùn)練集中沒有包含十位上需要進位到百位的案例。
這些黑色區(qū)域的形狀和位置表明,只有當測試案例的每一步在訓(xùn)練集中都出現(xiàn)過時,模型才能夠成功;否則就會失敗。更重要的是,這一現(xiàn)象表明,即使有 step-by-step 的推理過程的幫助,transformers 也難以學(xué)會 rule-based reasoning —— 模型仍然在機械地記憶見過的單個步驟,而沒有學(xué)會背后的規(guī)則。
其他影響因素
Scratchpad 以外,作者也在文章中對 test square 的位置、大小,模型的大?。ò?GPT-2-Medium,與更大的模型:Llama-2-7B 和 GPT-3.5-Turbo),數(shù)據(jù)集的大小等因素進行了豐富的測試。模型在做 case-based reasoning 的結(jié)論是統(tǒng)一的。具體的實驗細節(jié)可見文章。
Rule-Following Fine-Tuning (RFFT)
通過上述的干預(yù)實驗,作者發(fā)現(xiàn) transformers 在數(shù)學(xué)推理中傾向于使用 case-based reasoning,然而,case-based reasoning 會極大地限制模型的泛化能力,因為這意味著模型如果要做對新的 test sample ,就需要在訓(xùn)練集中見過相似的樣本。而在訓(xùn)練集中覆蓋到所有未知推理問題的相似樣本是幾乎不可能的(尤其對于存在長度泛化的問題)。
圖 4:direct answer,scratchpad 與 rule-following 三種方法的 input-output sequence
為了緩解此類問題,作者提出了名為 Rule-Following Fine-Tuning(RFFT)的規(guī)則遵循微調(diào)技術(shù),旨在教 transformers 進行 rule-based reasoning。具體來說,如圖 4 所示,RFFT 在輸入中提供顯式的規(guī)則,然后指導(dǎo) transformers 逐行地回憶規(guī)則并執(zhí)行。
實驗中,作者在 1-5 位數(shù)的加法上使用圖 4 所示的三種方法對 Llama-2-7B 和 GPT-3.5-turbo 進行了 fine-tune,并分別在 6-9 與 6-15 位數(shù)的 OOD 的加法任務(wù)上進行了測試。
圖 5:Llama-2-7b 和 GPT-3.5-turbo
由圖 5 可見,RFFT 在長度泛化的性能上明顯超過了 direct answer 和 scratchpad 這兩種微調(diào)方法。使用 Llama-2-7B 進行 RFFT 時,模型在 9 位數(shù)的加法中也能保持 91.1% 的準確率。相比之下,使用 scratchpad 進行 fine-tune 的模型在此任務(wù)中的準確率不到 40%。對于擁有更強的基礎(chǔ)能力的 GPT-3.5-turbo,RFFT 使其能夠驚人地泛化到涉及多達 12 位數(shù)字的加法,盡管只在 1-5 位加法上訓(xùn)練了 100 個訓(xùn)練樣本,但其在 12 位數(shù)的加法上仍然保持了 95% 以上的準確率。這也顯著超過了 scratchpad 和 direct answer 的結(jié)果。這些結(jié)果突出顯示了 RFFT 在引導(dǎo) transformers 進行 rule-based reasoning 方面的有效性,并展現(xiàn)了其在增強模型長度泛化能力方面的潛力。
值得注意的是,作者發(fā)現(xiàn) Llama-2-7B 需要 150,000 個訓(xùn)練樣本才能泛化到 9 位數(shù)字,而 GPT-3.5 僅用 100 個訓(xùn)練樣本就能掌握規(guī)則并泛化到 12 位數(shù)字。因此,規(guī)則遵循(rule-following)可能是一種 meta learning ability—— 它可能通過在多樣化的 rule-following 數(shù)據(jù)上進行訓(xùn)練而得到加強,并可更容易地遷移到新的未在訓(xùn)練集中見過的領(lǐng)域中。相應(yīng)地,基礎(chǔ)模型越強大,理解并學(xué)習(xí)新的規(guī)則就越容易。這也與人類學(xué)習(xí)新規(guī)則的能力相符 —— 經(jīng)驗豐富的學(xué)習(xí)者通常學(xué)習(xí)得更快。
總結(jié)
本文探究了 transformers 在做數(shù)學(xué)推理問題時究竟是采用 case-based reasoning 還是 rule-based reasoning,并提出了 Rule-Following Fine-Tuning 的規(guī)則遵循微調(diào)方法來顯式地教會 transformers 進行 rule-based reasoning。RFFT 展現(xiàn)了強大的長度泛化能力,并有潛力全面提升 LLMs 的推理能力。