大型語言模型容易被無關上下文分散注意力(ICLM) 原創
摘要
大型語言模型在各種自然語言處理任務中取得了令人矚目的性能。然而,它們主要在所有輸入上下文信息都與任務相關的情況下進行評估。在本研究中,我們探討了大型語言模型的分心問題,即模型解決問題的準確性如何受到無關上下文的影響。具體而言,我們引入了帶有無關上下文的小學數學(GSM-IC),這是一個包含無關信息的算術推理數據集。我們利用這一基準測試來衡量大型語言模型的最新提示技術,并發現當包含無關信息時,模型性能顯著下降。我們還確定了幾種緩解這一缺陷的方法,例如使用自洽性解碼,以及在提示中添加指令,告知語言模型忽略無關信息。
1. 引言
提示大型語言模型在多個領域表現出色。然而,大多數評估基準中,問題描述中提供的所有信息都與問題的解決相關,類似于考試中的問題。這與現實世界的情況不同,現實世界中的問題通常帶有多個上下文片段,這些上下文片段可能與我們想要解決的問題相關或不相關。我們必須在解決問題時識別哪些信息是必要的。心理學研究表明,無關信息會顯著降低兒童甚至成人的問題解決準確性。
在本研究中,我們探討了大型語言模型在不同提示技術下的分心問題,即無關上下文如何影響大型語言模型的提示效果,以及可以采用哪些策略來提高性能。為了衡量分心,我們構建了GSM-IC數據集,該數據集基于GSM8K生成,并引入了兩個不同的指標。與以往通過替換基礎問題的句子來生成基準變體的工作不同,我們保留了基礎問題描述,并添加了一個無關句子,確保它不會影響問題的解決(見表1)。
我們使用GPT3模型系列中的Codex(code-davinci-002)和GPT-3.5(text-davinci-003)來評估GSM-IC上的最新提示技術,包括鏈式思考提示(COT; Wei等,2022)、零樣本鏈式思考提示(0-COT; Kojima等,2022)、最少到最多提示(LTM; Zhou等,2022)和程序提示(PROGRAM; Chowdhery等,2022)。我們發現它們在GSM-IC上的表現遠低于原始的GSM8K(不含無關上下文)。然后,我們研究了幾種緩解這一弱點的方法,包括自洽性(Wang等,2022c)和在提示示例中添加無關信息。除了通過示例展示如何處理無關信息外,我們還研究了任務特定指令的使用(Wei等,2021; Sanh等,2021; Ouyang等,2022; Suzgun等,2022; Chung等,2022),在示例前添加指令句“請隨意忽略問題描述中的無關信息”。我們總結了以下關鍵發現:
1. 所有調查的提示技術都對問題描述中的無關信息敏感。特別是,在基線提示可以解決的原始問題中,當添加少量無關信息時,不超過18%的問題能夠一致解決,這表明大型語言模型容易分心,并在添加無關信息時產生不一致的預測。
2. 自洽性提高了所有提示技術在GSM-IC上的性能。特別是,GSM-IC的正確答案的召回率高達99.7%,即在20個樣本中至少有一個解決方案得出正確最終答案,這意味著使用多個樣本允許模型幾乎總是檢索到正確答案。
3. 在提示中添加無關信息始終能提高性能,同樣,添加忽略無關上下文的指令也是如此。這表明語言模型在一定程度上可以通過遵循示例或指令來學習忽略無關信息。
4. 我們確定了無關信息的不同因素,這些因素影響模型對無關上下文的敏感性。我們的細分分析表明,改變無關信息中的數字不會顯著改變模型性能,而與原始問題描述的詞匯重疊程度則有影響。
過濾無關信息對于處理現實世界任務至關重要。我們的評估表明,盡管在解決具有挑戰性的推理問題上表現出色,但最新的語言模型在上下文理解和從輸入中識別相關信息方面仍有根本性的弱點。我們的發現表明,為了更全面地理解語言模型的推理能力,未來的工作除了解決更具挑戰性的問題外,還應考慮模型對無關上下文的敏感性。
2. 相關工作
少樣本提示。 少樣本提示(Brown等,2020; Chowdhery等,2022等)通過各種技術得到了顯著提升,包括生成中間步驟(Ling等,2017; Cobbe等,2021; Nye等,2021; Wei等,2022; Suzgun等,2022; Shi等,2022b等)、問題分解(Zhou等,2022; Drozdov等,2022; Dohan等,2022; Khot等,2022; Press等,2022等)、生成程序(Austin等,2021; Chowdhery等,2022; Gao等,2022; Chen等,2022等)、對共享相同結果的中間步驟進行邊緣化(Wang等,2022c; Shi等,2022a)和集成(Wang等,2022b; Drozdov等,2022)。此外,Kojima等(2022)證明,適當的提示提示即使沒有示例也能取得不錯的性能。在本研究中,我們檢查了這些最新的提示技術(Wei等,2022; Zhou等,2022; Kojima等,2022; Wang等,2022c)在我們的基準測試上的表現,并證明它們對無關輸入上下文敏感。
帶有輸入擾動的自然語言基準。 有關自然語言任務的輸入擾動的長期工作包括模型無關的輸入變換(Liang等,2022; Ravichander等,2022等)和針對單個模型的對抗樣本生成(Jia & Liang,2017; Shi等,2018; Morris等,2020; Wang等,2021)。特別是,先前的工作通過從干凈數據集中改寫基礎問題的句子來構建算術推理基準(Patel等,2021; Kumar等,2021)。與此同時,Liang等(2022)在包括準確性、魯棒性、公平性等方面的多個指標下評估了各種大型語言模型。具體來說,他們魯棒性評估中的輸入變換包括注入拼寫錯誤和修改句子以改變真實類別標簽等語義改變擾動。與上述工作不同,其中擾動可能會改變問題描述的含義,我們保留了原始問題描述中的所有句子,并引入了一個無關句子,確保它不會影響標準答案。
帶有無關輸入上下文的自然語言基準。 Jia & Liang(2017)表明,神經問答系統在很大程度上受到對抗性干擾句子的影響,而后續工作(Khashabi等,2017; Ni等,2019)提出了減輕這一問題的學習策略。類似的問題在事實推理(Kassner & Schütze,2020; Pandia & Ettinger,2021; Misra等,2023; Li等,2022)、代碼生成(Jones & Steinhardt,2022)和句法泛化(Chaves & Richter,2021)等任務中的一般預訓練語言模型中也被發現。特別是,Li等(2022)評估了帶有少樣本提示的T5(Raffel等,2020)和PaLM(Chowdhery等,2022),并提出了知識感知微調,通過在反事實和無關上下文中微調模型來增強模型對噪聲上下文的魯棒性。在我們的評估中,我們表明,即使沒有訓練或微調,通過在提示中添加無關上下文也能減輕底層語言模型的分心問題,并顯著提高模型在我們的GSM-IC基準測試上的性能。
帶有噪聲真相的提示。 一系列工作研究了模型在帶有錯誤提示示例的情況下表現,即示例問題是與錯誤答案配對的(Min等,2022; Kim等,2022)。此外,先前的工作研究了模型對提示其他部分的敏感性,例如帶有誤導性和無關指令的指令調整(Webson & Pavlick,2021)以及示例中的錯誤推理步驟(Madaan & Yazdanbakhsh,2022; Wang等,2022a)。特別是,Madaan & Yazdanbakhsh(2022)得出結論,鏈式思考提示中數字和方程的正確性并不在模型性能中起關鍵作用,但在推理步驟中使用錯誤實體或刪除方程或文本解釋會嚴重阻礙性能。與這條線的工作不同,我們始終在提示中包含正確答案的示例問題,并確保添加到問題描述中的無關上下文不會改變地面真相答案。我們表明,當問題描述中出現無關上下文時,模型性能顯著下降,而無關上下文中數字和實體的不同分布也會導致不同程度的性能下降。
3. GSM-IC 數據集
在本節中,我們介紹GSM-IC數據集的創建過程(第3.1節)和評估指標(第3.2節)。
3.1. 數據集創建
我們從GSM8K訓練集中隨機選擇1,000個問題作為開發集。為了構建我們的基礎數據集,我們從這個開發集中選擇100個問題,這些問題至少可以通過本文提到的一種提示技術正確解決;也就是說,我們的基礎數據集是GSM8K的一個“簡單”子集(見表2)。每個基礎問題需要兩到七個推理步驟來解決。在100個基礎問題中,60個問題可以通過兩個推理步驟解決。完整數據集統計信息見附錄A。
然后,我們通過向每個基礎問題添加一個包含無關信息的句子來生成新數據集的示例。我們使用基于模板的方法(見圖1)來生成這些句子,這些句子的特征可以歸納為以下三個因素:
- 插入句子的話題。 我們為相關話題和無關話題的句子編寫了模板。相關話題的句子與原問題的話題密切相關,而無關話題的句子則涉及不同的內容。
- 角色名稱重疊。 大多數句子模板包含一些角色名稱的空白,這些空白可以填入與原問題描述中的角色名稱相同或不同的名稱。對于與原角色名稱重疊的空白,我們:(1)從原問題描述中隨機選擇一個角色名稱A,并(2)使用類似“A的父親”和“A的妹妹”的模板來創建空白。
- 數字范圍。 由于我們關注的是算術推理,大多數句子模板還包含一個數字空白。我們可以選擇用與原問題描述或解決方案中的數字相似或不同的數字來填充數字空白。具體來說,對于一個數字a,如果存在原問題描述或解決方案中的數字b,使得1/10≤a/b≤10,我們將其視為范圍內的數字;否則,我們將其視為范圍外的數字。由于GSM8K問題的標準答案都是正整數,我們只考慮正整數作為數字空白的填充。
我們手動驗證了以下兩點:(1)所有生成的句子在英語中都是可接受的,(2)添加這些句子不會影響基礎問題的標準解決方案。由于上述因素是正交的,我們為每個基礎示例生成了一組具有不同因素組合的派生示例。完整的GSM-IC基準測試包含58,052個示例。關于數據集創建過程的更多細節可以在附錄A中找到。
3.2. 評估指標
對于一個問題p,我們用s(p)表示其標準解決方案,用M(p)表示方法M的解決方案。為了評估方法M的分心程度,我們考慮以下兩個指標:
- 微精度(Micro Accuracy) Accmicro(M; P) 是方法M在所有測試問題P上的平均精度。
這意味著微精度將所有單個測試問題同等對待。
- 宏精度(Macro Accuracy) Accmacro(M; B) 是方法M在測試問題類上的平均精度,其中每個類P(b)由基礎示例b ∈ B的所有測試示例組成。我們定義方法M對類P(b)的預測為正確,當且僅當M對類中的所有問題的預測都正確。
這意味著宏精度是基礎問題中無論添加了什么無關句子都能一致解決的比率。
- 歸一化精度 衡量方法受干擾因素影響的程度,考慮其在基礎問題上的精度。對于方法M在微精度或宏精度上達到的精度aM,我們通過以下公式計算相應的歸一化精度:
其中,nM表示方法M在基礎問題上的精度(見表2)。
4. 調查的解決方案
在以下部分,我們回顧了調查的提示技術(第4.1節),介紹了我們的提示格式(第4.2節),并引入了指令式提示(第4.3節)。
4.1. 基礎技術
- 鏈式思考提示(COT; Wei等,2022) 是一種引導語言模型以逐步方式解決問題的提示技術。通過在提示中展示帶有中間推理步驟的示例,COT顯著提高了推理性能,優于不帶中間推理步驟的直接答案預測。
- 零樣本鏈式思考提示(0-COT; Kojima等,2022) 是COT的一種變體,提示中不包含任何示例。相反,模型直接被呈現感興趣的問題,后面跟著指令“讓我們一步一步思考:”。
- 最少到最多提示(LTM; Zhou等,2022) 教授語言模型將問題分解為子問題,并使用COT依次解決這些子問題。最終答案是最后一個子問題的答案。
- 程序提示(PROGRAM; Chowdhery等,2022) 將算術推理過程表示為程序。根據先前在GSM8K問題中使用代碼的工作(Chowdhery等,2022; Gao等,2022; Chen等,2022),我們在提示中包含了解決問題的Python程序,并使用外部Python解釋器執行生成的Python代碼以獲得最終答案。
- 自洽性(SC; Wang等,2022c; Shi等,2022a) 可以通過考慮具有相同最終結果的多個推理步驟來進一步提高推理性能。實際上,SC可以通過(1)從大型語言模型中采樣多個解決方案并(2)取多數投票來實現。注意,SC與上述技術正交,可以與任何技術結合使用。
4.2. 提示設計
我們展示了實驗中使用的一些示例提示(見圖2)。對于少樣本提示技術(即COT、LTM和PROGRAM),輸入提示在感興趣的問題之前包含示例問題及其解決方案。為了保持簡單并避免提示工程中的過擬合,我們遵循Zhou等(2022)的示例創建方法;也就是說,我們只使用一個簡單的示例進行主要實驗。這個示例要么基于[原始問題],要么基于[帶有無關上下文的問題],這使我們能夠調查提示示例中無關信息的影響。對于0-COT,我們遵循Kojima等(2022)的方法,直接呈現感興趣的問題,后面跟著“A: 讓我們一步一步思考:”。
圖2.右側所列技術的提示格式,這些格式由左側的構建模塊精心構建(彩色顯示效果更佳)。通過在原始問題描述中添加一個無關的句子(斜體并下劃線),我們得到了[帶有無關上下文的問題],這可以作為右側提示中[原始問題]的替代選項。在這些提示中,用括號突出顯示的標識符(例如,[感興趣的問題])將被相應構建模塊的內容所替換。所有設置的提示格式詳見附錄C。
4.3. 指令式提示
除了在示例中呈現無關信息外,我們還調查了自然語言指令是否有助于語言模型忽略無關上下文,減少分心。擴展了包括在示例之前添加一般任務描述的工作(Suzgun等,2022; Sanh等,2021; Ouyang等,2022),我們在提示中的示例之前添加了句子“解決小學數學問題。請隨意忽略問題中的無關信息。”,這明確指示語言模型忽略問題描述中的無關信息。
5. 實驗
考慮到實驗成本,我們從GSM-IC數據集中均勻采樣了4,000個示例(記為GSM-IC-4K),用于整個論文的評估和分析。除非另有說明,我們主要在實驗中使用code-davinci-002,并評估了經過RLHF訓練以更好地遵循指令的text-davinci-003(Ouyang等,2022)。對于沒有自洽性解碼的實驗,我們使用貪婪解碼(即溫度τ = 0);對于需要多個樣本的自洽性實驗,我們按照Wang等(2022c)的方法,使用溫度τ = 0.7采樣20個響應。
5.1. 主要結果在GSM-IC上
我們在GSM-IC-4K上比較了不同提示技術的性能(見表3),包括微精度和宏精度及其相應的歸一化精度。總體而言,我們觀察到所有提示技術在兩個模型上的性能都有顯著下降。宏精度的下降尤為顯著,表明在添加干擾因素后,不到30%的基礎問題能夠一致解決。比較兩個模型的結果,text-davinci-003在歸一化微精度上優于code-davinci-002,盡管其宏精度大多更差。在圖3中,我們展示了GSM-IC-4K中的一個示例,其中單個無關句子在調查的提示技術中引發了不同類型的錯誤。一個常見的錯誤類型是錯誤地使用了無關句子中的數字,如LTM預測和其他附錄B中的示例所示。即使模型沒有直接使用無關數字進行數值計算,無關句子僅出現在推理步驟中也會導致錯誤預測,如COT預測所示。
表 3. GSM-IC-4K 數據集上的微觀準確率(Micro Accuracy)和宏觀準確率(Macro Accuracy)(×100 表示百分比)。SC 表示自一致性(self-consistency)。Norm 表示通過已解決的基礎問題比例(表 2)歸一化的總體準確率,這是衡量模型針對無關信息魯棒性的一項指標。對于 text-davinci-003 模型,使用鏈式思維(COT)的基礎問題準確率為 80.0,使用逐步解決法(LTM)的基礎問題準確率為 81.0。在每一部分中(即使用 code-davinci-002 或 text-davinci-003,是否使用帶有無關上下文的示例,或是否應用自一致性),每列的最佳結果以加粗字體表示。
圖 3. 使用不同提示技術的示例問題及其對應輸出(彩色查看效果最佳)。原始問題的 COT 答案用綠色高亮表示。新增的無關句子用紅色高亮并采用斜體顯示,這些無關信息導致了所有提示技術產生不同的錯誤,這些錯誤用黃色高亮表示。更多模型預測的示例可以在附錄 B 中找到。
在表3中,我們總結了不同提示技術在GSM-IC-4K數據集上的微精度和宏精度。LTM在所有子類別中表現最為穩健。使用code-davinci-002時,LTM的宏精度約為COT的兩倍。然而,使用text-davinci-003時,盡管LTM在微精度上優于COT,但其宏精度較低。具體而言,text-davinci-003對角色重疊的無關上下文高度敏感,導致在需要超過兩個推理步驟的問題上,宏精度降至0。表4進一步展示了不同無關上下文因素的細分性能。
表 4. 針對添加的無關句子因素的準確率分解(×100 表示百分比)。較低的準確率表明模型對相應類型的無關上下文更脆弱。需要注意的是,此處的宏觀平均準確率高于表 3 中報告的對應值,因為我們僅包含了一部分創建的問題(即與相關因素對應的問題)來計算該指標。每列的最佳結果以加粗字體表示。
5.2. 細分分析
5.2.1. 無關上下文的因素?
我們分析了COT、LTM和PROGRAM在考慮的無關句子因素(第3.1節)上的性能(見表4)。對于兩個模型,我們發現(1)相關話題句子與(2)角色名稱重疊和(3)范圍內的數字結合時,通常更具挑戰性,如圖3所示。對于LTM,后兩個因素對微精度的影響不大,但對宏精度的影響顯著。值得注意的是,使用示例中的無關上下文時,使用范圍內數字的干擾因素比范圍外數字的干擾因素更具挑戰性。再次使用code-davinci-002時,LTM在所有子類別中優于COT和PROGRAM。
5.2.2. 按推理步驟細分的精度?
我們分析了不同推理步驟問題的細分精度(見圖4)。雖然我們在需要四個或更多推理步驟的問題上觀察到COT和PROGRAM的精度顯著下降,但LTM的性能在不同難度水平上保持一致。除了Zhou等(2022)證明的LTM在復雜問題上的優勢外,我們的結果表明,LTM對需要更多步驟解決的復雜問題中的無關上下文也較少敏感。
5.3. 指令式提示提高了對無關上下文的魯棒性
我們已經證明,使用帶有干擾因素的示例可以提高對無關上下文的魯棒性。我們還在表3中比較了指令式提示和沒有指令的提示的性能。向COT、LTM和PROGRAM添加指令始終提高了它們的性能。令人驚訝的是,對于COT和LTM,使用原始示例的指令式提示達到了與使用帶有干擾因素的示例的無指令提示相當甚至更好的性能。需要注意的是,僅添加指令“解決小學數學問題。”并不會顯著提高性能;而是指令“請隨意忽略問題中的無關信息。”起到了關鍵作用。類似于0-COT中使用的指令“讓我們一步一步思考。”,這表明語言模型在一定程度上能夠遵循自然語言指令,顯著改變其解決問題的行為,這表明此類指令可能對指導語言模型在更多任務上的行為有用。
在原始的GSM8K開發集(Cobbe等,2021; Zhou等,2022)上,我們沒有觀察到在使用帶有無關信息的示例、添加自然語言指令或兩者結合時精度下降(見表5)。這令人印象深刻,因為GSM-IC的結果表明,提示中的示例和指令式提示都提高了魯棒性。對于PROGRAM提示,我們發現使用帶有干擾因素的示例甚至在SVAMP上提高了性能。
表 5. 在 GSM8K 開發集和 SVAMP 測試集上的準確率(×100 表示百分比)。IRRCTX 表示使用無關上下文,+INST. 表示使用指令提示(instructed prompting)。基準結果(即使用最簡單的示例且無無關上下文或指令提示的情況)用下劃線標注。
5.4. 復雜提示可能損害對無關上下文的魯棒性
我們將1-exemplarCOT提示(見圖2)與Zhou等(2022)報告的在GSM8K上表現最佳的4-示例提示(附錄D)進行了比較。雖然4-exemplar提示在原始的GSM8K開發集上表現更好,但該提示在無關上下文提供的干擾上出乎意料地更敏感。特別是,4-exemplar提示在需要超過兩個中間步驟的問題上始終比1-exemplar提示表現更差。即使對于2步提示,從添加更多示例中獲得的精度提升也幾乎可以忽略不計,當使用指令時(79.0 vs 79.2)。總體而言,這一發現表明,添加更多示例會使提示更不魯棒,因為它導致了一些過擬合。
5.5. 擴展到DROP
除了GSM-IC外,我們還將評估擴展到DROP數據集(Dua等,2019),其中任務是根據包含無關上下文的長段落回答問題。我們展示了關于足球比賽的示例(見表8)。
我們使用Zhou等(2022)中的COT和LTM提示作為基線,并評估了在示例之前添加指令“根據以下問題回答。請隨意忽略問題中的無關信息。”的提示變體。需要注意的是,通過在示例解決方案中添加問題簡化步驟,最少到最多提示隱含地引導模型提出相關子問題來解決給定問題。同樣,我們觀察到指令在DROP的足球分割上始終提高了COT和LTM提示的性能(見表7)。
6. 結論和討論
在本研究中,我們介紹了GSM-IC,這是一個支持全面研究大型語言模型在存在無關上下文時的分心問題的數據集。我們在GSM-IC上檢查了各種提示技術,并證明了它們都對問題中的無關信息敏感。在研究的技術中,自洽性(Wang等,2022c)在普遍提高對無關上下文的魯棒性方面取得了實質性進展,展示示例中的無關上下文也始終提高了性能。同樣,我們發現簡單地添加忽略無關信息的指令在我們的基準測試上帶來了顯著的性能提升。
盡管通過這些方法取得了改進,但一個根本問題仍然存在:一個單一的無關信息可以分散模型的注意力,并顯著降低其性能,即使在它們正確解決的清潔版本上也是如此。我們鼓勵研究人員在開發新的訓練和提示技術時,也優先考慮改進這一根本限制。我們將在未來的工作中進一步調查其他任務和不同語言模型的分心問題。
本文轉載自公眾號AIRoobt ,作者:Freda Shi等
原文鏈接:??https://mp.weixin.qq.com/s/VsHVfJFx9PCnZ2WGRNxdXw???
