簡潔思考:輸出長度對大型語言模型推理和成本的影響 原創
一、結論寫在前面
論文標題:Concise Thoughts: Impact of Output Length on LLM Reasoning and Cost
論文鏈接:??https://arxiv.org/pdf/2407.19825??
當今的大型語言模型(LLMs)能夠解決具有挑戰性的問答任務,而諸如思維鏈(CoT)等提示工程技術因其增強輸出解釋和正確性而受到關注。然而,模型生成附帶詳細推理細節的答案需要大量時間。
為了解決這一問題,本文分析了輸出長度對LLM推理管道的影響,并提出了新的指標來評估其正確簡潔性。同時,通過一種精細的提示工程策略——約束CoT(constrained-CoT,CCoT),探討了控制輸出長度的影響,該策略鼓勵模型限制輸出長度。
在預訓練LLMs上的實驗證明了所提出指標的益處以及CCoT在不同模型中的有效性。從所進行實驗的結果中,首先可以觀察到并非所有模型都能控制其輸出的長度(RQ2)。具體而言,小型模型如Falcon-7b、LLama2-7b和Vicuna-13b在遵守CCoT提示中的長度約束方面存在更多困難,而大型模型如Falcon-40b和Llama2-70b則展現出更強的控制能力。這種小型大型語言模型(LLMs)的困難可能受到多種因素的影響,例如訓練過程中使用的數據集和模型參數的數量。理解這些問題并評估將所提議的指標整合到微調過程中的可能性,需要更深入的研究,這是論文未來工作的一部分。
另一方面,對于大型模型,例如Falcon-40b和LLaMA2-70b,CCoT能夠提高LLMs相對于普通提示和CoT的準確性和效率(RQ1)。某些模型(LLaMA2-70b和Vicuna-13b)在準確性上的提升,雖然超出了本研究的范圍,但暗示了未來研究分析簡潔性對潛在幻覺現象或錯誤推理影響的有趣方向。此外,另一個有趣的后續方向可能是將提出的指標與使用評判模型評估LLMs正確簡潔性的最新評估技術相結合。
總之,本研究強調了需要更多關注LLMs的簡潔性,提出了能夠評估輸出與其長度正確性的新型性能指標。此外,提出的CCoT提示方法提供了一種簡單但有趣的策略來解決簡潔性問題,這可能開啟新的研究方向,使LLMs更加可預測和高效:
?提出了三種新穎的指標,用于評估LLM輸出正確性的同時考慮輸出推理的簡潔性,強調簡潔和效率的重要性。
?本文介紹了一種新穎的提示工程策略——約束鏈式思維(Constrained-Chain-of-Thought, CCoT),該策略鼓勵大型語言模型(LLMs)限制其推理長度,從而提高其時間可預測性。
?報告了針對預訓練LLMs的若干實驗,展示了CCoT在提升大型模型準確性和響應時間方面的有效性,同時強調了不同模型規模下的局限性。
二、論文的簡單?介紹
2.1 論文的背景
思維鏈(CoT)提示通過鼓勵LLM通過中間推理步驟闡述其答案,增強了輸出的解釋和正確性。但CoT提示法可能導致輸出更長,從而增加了模型生成響應所需的時間。這是由于自回歸變換器的本質特性,它們逐字解碼文本,每次運行解碼器模塊的新推理過程。這意味著生成響應所需的時間很大程度上受所提供推理長度的影響,而推理長度又可根據提示的不同而變化。在大型語言模型(LLM)需要通過交互式對話與用戶交流時,這種長且可變的響應延遲是不理想的。這一問題凸顯了考慮以下兩點的必要性:i) 評估輸出簡潔性的指標;ii) 避免過度冗長推理鏈的解決方案。
論文的第一部分展示了一些動機實驗,以表明輸出長度與LLM推理時間之間的關系。隨后,提出了三個新穎的指標,以考量生成答案的簡潔性和正確性。所提出指標的目標是通過考慮影響模型推理時間和其時間可預測性的輸出長度相關方面,來重新加權給定模型的準確性。
為了應對鏈式思考(CoT)技術導致的輸出長度顯著增加的問題,論文的第二部分探討了如何通過特定的提示請求來控制CoT推理的長度。具體而言,論文引入了一種名為約束CoT(constrained-CoT,CCoT)的精細化提示工程策略,旨在促使大型語言模型(LLM)限制輸出長度并控制推理過程。其核心思想是明確要求模型提供一個長度小于給定界限的輸出,從而推動LLM生成簡潔的推理。在此過程中,論文必須確保模型輸出的準確性和時效性。
2.2. 動機考慮
LLM的輸出生成時間受多種因素影響,包括模型架構、預處理和后處理步驟、答案解碼過程以及所提出的問題,同時還要考慮使用提示工程方法。雖然計算成本的影響已被充分理解,但其他方面對整體生成時間的影響尚不明確,需要進一步研究。更正式地,LLM可以表示為一個函數 f,它接受一個包含 N ( x ) 個詞元的提示 x 作為輸入,并生成一個包含 N ( y^ ) 個詞元的輸出 y^=f ( x ),其中 N 是一個簡單的詞元計數操作符。輸入 x 可以看作由原始用戶輸入 x 和根據所用技術生成的提示工程文本 x_p 組成。例如,在零樣本CoT設置中,提示可以計算為 x=concat ( x_us, x_p ),其中 x_p 是明確要求在答案中提供推理步驟的文本,而 concat ( a, b ) 是將兩個向量 a 和 b 合并為一個的連接操作符。
圖 1 展示了三個LLM在不同數據集(CNN/dailynews、squad組合、FELM和AG)的幾個樣本中,響應時間與輸出長度之間的關系,這些數據集包括了總結、問答、先上下文后問答以及主題建模等下游任務。
在Transformer使用的編碼器-解碼器架構中,設 f_e ( x ) 和 f_d ( x ) 分別表示與編碼器和解碼器相關的函數。那么,輸出 y^ 是一個詞元列表 [ a^( 1 ), ..., a^( N ( y^ ) ) ],其中每個 a^( i ) 是基于先前生成的詞元和編碼器的嵌入表示 f_e ( x ) 計算得出的。即:
從公式 (1) 可以看出,答案中輸出詞元集合越大,模型生成答案所需的時間就越長,這是因為解碼器被調用的次數增加了。
為了突顯這種依賴關系,論文對四個不同規模的模型進行了初步測試,具體是Falcon 7b/40b和Llama2-7b/70b,測試了不同的下游任務,如摘要生成、問答、上下文問答和主題建模,使用了來自CNN/dailynews、squad組合、FELM)和AG數據集的少量樣本。測試結果如圖1所示。如圖所示,對于每個大型語言模型,總響應時間(生成時間)與各種任務中答案的長度密切相關,隨著輸出長度的增加而顯著增加。
圖2 Falcon-40b 效率中 CoT 影響的分析:(a) 響應時間與輸出長度關系,無 CoT(藍點)與有 CoT(紅點),跨越 GSM8K 測試集的 100 個問題。(b) 使用 GSM8K 測試集的 50 個隨機樣本,CoT 與無 CoT 輸出長度之間的輸出詞變化
在不同下游任務上,如摘要、QA、上下文然后 QA 和主題建模,使用 CNN/每日新聞、squad 組合、FELM和 AG等數據集的幾個樣本,對 7b/40b 和 Llama2-7b/70b進行了測試。測試結果如圖 1 所示。如圖所示,對于每個 LLM,總響應時間(生成時間)與答案長度在各種任務中密切相關,隨著輸出長度的增加顯著增加。
還在 Falcon-40B 上進行了另一項測試,以評估 CoT 方法在回答算術問題中的影響,使用 GSM8K 數據集的 100 個隨機問題子集。測試結果如圖 2a 所示,其中紅色和藍色點分別表示使用和不使用 CoT 給出的答案。
散點圖顯示,CoT顯著增加了輸出長度和生成時間。這表明,盡管CoT提高了響應的正確性,但應更多關注其引入的時間成本。為了更好地理解CoT對輸出長度的影響,圖2b報告了Falcon-40b在一組50個GSM8K問題上的輸出長度(以生成的單詞數量表示),無CoT(藍色條)和有CoT(粉色條)。注意,紫色區域表示兩個條形重疊的區域。
2.3. 簡潔正確性的度量
受前述考慮的啟發,本節提出了三個新穎的度量標準,用于評估LLM提供正確且簡潔響應的能力。其思想是將簡潔性方面重新定義經典的準確性度量標準,以整合到LLM輸出正確性中。形式上,如果通過后處理函數Gamma提取的結論與給定的真實值y匹配,則認為答案y^是正確的。因此,LLM的準確性可以計算為
其中N是測試樣本的數量,I ( u, v )是指示函數,如果u=v則返回1,否則返回0。請注意,Gamma表示一個用戶定義的函數,可以根據正則表達式(例如,通過從句子中提取特定模式)或使用偽判斷方法(例如,使用次級大型模型作為判斷)來實現。
從公式 (2) 出發,通過將指示函數乘以一個懲罰項 p ( y_i ) ∈[ 0, 1 ],可以綜合考慮輸出 y_i 的簡潔性和正確性,該懲罰項對于長輸出會降低其值:
以下通過設置適當的懲罰函數來定義三種特定的度量標準。
硬 k簡潔準確率(Hard-k Concise Accuracy):HCA ( k )。它衡量不超過用戶指定長度 k 的正確輸出所占的比例:
該度量標準不考慮超過指定最大長度的響應,從而促進簡潔性。論文認為在嚴格遵守長度約束至關重要的場景中,例如實時系統或計算資源有限的環境中,它可能特別有用。
軟性 k 簡潔準確率(Soft-k Concise Accuracy):SCA ( k, α)。它通過懲罰超過最大長度 k 的正確答案并引入一個隨衰減因子α 呈指數下降的項來推廣先前的度量標準:
在該公式中,用戶定義的衰減 α≥0 可以視為一種容差,它控制長度對總體準確性的影響程度;α 值越高,對超過指定長度 k 的答案的容忍度就越高。注意,當α=0 時,SCA ( k, 0 ) 簡化為HCA ( k )。
一致簡潔準確率(Consistent Concise Accuracy):CCA (k, α, β)。它通過考慮所有獲得輸出的長度變化進一步推廣了先前的度量標準:
在公式 (6) 中,σ表示輸出長度分布的標準差,而β是一個控制對長度變化容忍度的參數;β值越高,容忍度越高。注意,給定一個容忍度 β,當σ ≤ β時,p_var (σ, β)=1,而當σ> β 時,它會呈指數下降。
CCA 度量標準旨在促進響應長度的一致性。較低的標準差 σ表示模型產生的響應長度均勻。相反,較高的 σ值表示模型響應變化大,使得預測其響應時間變得困難。
2.4. CCoT 提示
輸出長度與推理時間之間的關系需要更深入的認識。為此,這里重點關注改進思維鏈(CoT)的使用,旨在保留該技術的優點,同時更加注意答案的長度,以在效率和準確性之間取得更好的平衡。
為此,論文引入了受限思維鏈(CCoT)提示,該提示包含一個明確句子,限制生成輸出的最大詞匯數,鼓勵模型壓縮推理過程并在較短時間內產生更簡潔的答案。如第3節所述,CoT提示可計算為 x=concat(x_us, x_p),其中 x_p 是生成答案中要求提供推理步驟的明確請求(例如,“讓論文一步步思考”)。從技術上講,為了鼓勵大型語言模型(LLMs)返回更簡潔的推理,CCoT提示被形式化為 x=concat(x_us, x_p, x_l),其中 x_l 表示指定輸出長度約束的句子(例如,“并將答案長度限制在30詞以內”)。
圖3展示了一個示例,說明了CoT提示與CCoT提示之間的差異。請注意,使用CoT提示生成的特定問題的答案包含67個單詞,而使用CCoT提示(指定45個單詞的約束)生成的相同問題的答案包含34個單詞,并且仍然是正確的。
2.5. 實驗
這里展示了一系列實驗,旨在評估所提出的CCoT方法在經典指標下的有效性,并說明所提出指標在評估簡潔正確性方面的優勢。具體而言,在接下來的實驗中探討了以下研究問題:
?(RQ1) CCoT方法在效率和準確性方面是否有益?
?(RQ2) 與經典CoT相比,哪些模型能從CCoT中獲益?
?(RQ3) 大型語言模型(LLM)根據明確的提示請求控制輸出長度的能力如何?
?(RQ4) 所提出的指標是否有助于解決效率和準確性方面的問題?CCoT的影響是否體現在所提出的指標中?
2.5.1. 實驗設置
所有實驗均在配備8塊NVIDIA A100 GPU的文本生成推理(TGI)平臺上進行。具體而言,論文評估了來自Hugging Face的五個公開可用的預訓練大型語言模型(LLM),例如Vicuna-13b-v1.5(Zheng et al., 2024),指令調優模型Falcon-40b-instruct、Falcon-7b-instruct(Almazrouei et al., 2023),以及利用私有數據訓練和增強的兩個模型,即Llama2-7b-chat-hf和Llama2-70b-chat-hf(Touvron et al., 2023)。
所有實驗均在GSM8k測試集上進行,該測試集包含約1.3k個數學問題,占總數8,000個問題的約16%。此數據集常用于評估模型處理數學推理及綜合計算步驟的能力。為比較CCoT的效果,所選大型語言模型(LLMs)在有無CoT(基礎模式)的情況下均進行了評估。
2.5.2. CCoT的成本與性能評估
本實驗旨在評估CCoT對計算時間和準確性的影響,進而為不同LLM架構的適用性提供見解。
CCoT的影響(RQ1)。每個選定的LLM在GSM8K測試數據集上通過普通提示(基礎)、CoT和CCoT(不同長度約束,即15、30、45、60、100)進行了評估。所得結果如圖4所示。具體而言,圖4a展示了不同提示設置對生成時間的影響,而圖4b展示了相應的準確性。
圖4 展示了在GSM8K測試數據集上,五個大型語言模型(Llama2-7b、Llama2-70b、Falcon-7b、Falcon-40b和Vicuna-13b)的生成時間(a)和準確性(b)。每個模型都通過不同長度約束的普通提示(基礎)、CoT和CCoT進行評估。
如圖4a所示,相對于CoT,CCoT提示能夠減少所有大型模型和大多數中型模型的生成時間,并且在大多數情況下也相對于普通提示(基礎)。例如,對于使用經典CoT的Llama2-70b模型,平均生成時間為30.09秒,而使用長度為15的CCoT時,生成時間幾乎減半,達到長度約束為100時的最大值23.86秒。
雖然在某些應用中減少生成時間很重要,但在減少輸出長度的同時保持模型答案的正確性也至關重要。為了評估這一方面,圖4b報告了針對不同類型提示的相同LLMs的準確性。請注意,在Llama2-70b和Vicuna-13b中,CCoT能夠提高準確性,甚至相對于CoT。例如,Llama2-70b的準確性從使用CCoT-30的37.07%到使用CCoT-100的41.77%不等,而相比之下,使用CoT的準確性為36.01%。對于其他LLMs,如Falcon-40b和Llama2-7b,使用CCoT達到的準確性隨著長度約束的增加而提高,得分介于基礎和經典CoT得分之間。最后,需要注意的是,Falcon-7b作為最小的模型,無法利用CCoT提示來減少生成時間,并且在較大的長度約束下,其準確性也比CoT和基礎低。
關于CCoT提示的有效性(RQ2)。圖4中展示的CCoT提示對輸出長度和準確性的不同影響,可歸因于多種因素,如訓練數據、模型訓練方法、模型規模以及訓練過程中采用的技術。例如,Llama2-70b是一個經過人類反饋微調的自回歸大型語言模型,訓練數據集結合了通用和開源數據。這些技術措施有助于CCoT在控制輸出長度的同時提高模型準確性。相比之下,Falcon-40b模型規模小于Llama2-70b,并采用了不同的訓練數據集(專門的RefinedWeb數據(Penedo et al., 2023))。盡管CCoT并未相對于CoT提升模型準確性,但它仍優于基礎的簡單提示,通過減少生成時間與CoT相比提供了折中方案。Vicuna-13b作為Llama2的微調版本,規模小于之前的Llama2-70b,在不同提示下也提供了有競爭力的結果。
相反,小規模LLMs,如Falcon-7b和Llama2,無法妥善處理CCoT中的約束提示條件,導致生成時間增加(如Falcon-7b在CCoT中長度值較大所示)或在Llama2-7b中出現短CCoT值下的錯誤答案。這表明模型規模和訓練策略嚴重影響了CCoT的有效性。
考慮到上述觀察結果,論文著重后續在大模型上的實驗表明,如 Llama2-70b 和 Falcon-40b 等模型能夠從 CCoT 中受益。
圖 5. 不同模型和提示策略在 GSM8K 測試集上輸出的長度分布(5th 至 95th 百分位數)。
2.5.3. 控制輸出長度的能力(RQ3)
前述實驗考察了 CCoT 策略如何影響平均準確度和生成時間。然而,盡管存在討論的益處,理解 CCoT 提示如何有效限制每個處理樣本的輸出長度也至關重要。這對于更好地調整 CCoT 提示中的長度參數或識別所提出的提示策略未能壓縮輸出的條件具有實用價值。
為了評估大型語言模型(LLM)在特定提示方法下生成簡潔回答的能力,論文分析了在不同 CCoT 長度約束下每個樣本的輸出長度。圖 5 展示了三個模型(Vicuna-13b、Falcon-40b 和 Llama2-70b)在采用 GSM8K 測試集所有輸入的情況下,使用不同提示策略(基礎、CoT 和 CCoT)提供的回答長度統計數據。如前一實驗所述,CCoT 提示針對不同的長度約束(15、30、45、60、100)進行了測試。每個箱形圖表示所有測試樣本在 5th 至 95th 百分位數之間的輸出長度,藍色線代表提供的 CCoT 長度約束,紅色線表示中位數,而綠色點表示平均值。理想情況下,一個模型若能遵守每個測試樣本給定的長度約束,其整個分布應位于藍色線下方。
從圖5可以清楚地看出,使用CoT而不明確要求長度會產生冗長的答案,這會顯著影響生成時間。CCoT提示中施加的長度約束對輸出長度有顯著影響,盡管在實踐中,LLM并不總能遵守給定的限制,尤其是對于較小的值,如15、30或40,這對LLM來說更具挑戰性。
總結來說,鑒于CCoT提示的性質,在遵守請求長度時考慮一定的容差范圍是合理的。為此,在下文中,論文通過第+節中提出的指標來評估所考慮的模型,這些指標通過考慮簡潔性來擴展準確性。
2.5.4. 正確簡潔性的評估(RQ)
HCA評估。Hard-k簡潔準確性僅評估長度小于指定值k的正確答案的準確性。圖6報告了在Llama2-70b(圖6a)和Falcon-40b(圖6b)上使用不同提示方法和不同k值時達到的這一性能指標值。請注意,k=\infty等同于基礎準確性。
正如預期,HCA值始終小于或等于經典準確度(k=\infty)所對應的值,但在應用CCoT提示的情況下,這種降低并不顯著。具體而言,對于Llama2-70b,無論k取何值,CCoT的使用相較于基礎提示和CoT提示均有益,尤其是在k等于100、80和60時,提升更為顯著。這表明,若長度限制不過于嚴格,模型生成正確答案的能力在CCoT下更高。相反,對于較低的k值,CoT提示會導致性能大幅下降,主要是因為它們促使模型在輸出中產生推理部分,而未關注其長度。
類似的情況也適用于Falcon-40b,其中CCoT的應用在CoT和基礎提示之間實現了良好的平衡。值得注意的是,即使在較小的k值(例如60和40)下,CCoT下的HCA值也高于CoT下的值,這表明CCoT提示對這一模型同樣有效。
圖 6。(a) 和 (b) 中的條形圖分別展示了 Llama2-70b 和 Falcon-40b 在五個 k 值(Oo, 100, 80, 60, 和 40)下獲得的 H C ! A ( k ) 分數,以及 x 軸上指示的提示方法。
SCA 評估。論文還使用軟簡潔準確度 ( S C A ) 評估了 Llama2-70b 模型,針對不同的 k 和 α 值,其中 α 表示接受超過期望限制 k 的答案的容忍度。該指標是 H C A 的泛化,更靈活地考慮了雖大但仍接近期望長度 k 的正確答案。
圖 7 報告了 Llama2-70b 和 Falcon-40b 在 GSM8K 測試集問題上的 SCA 值,針對不同的 k 值和兩個不同的容忍度值 ( α=1 和 α=1 0 )。對于這兩個模型,在 CCoT 設置下的 SCA 值通常與高 k 值(如 8 0 或 100)的 HCA 值相當。這是因為,如圖 5 所示,在這些長度下,CCoT 提示能夠有效地返回低于期望限制的輸出,使得容忍度變得不那么必要。
反之,對于較小的k值,例如k = 40,SCA開始超過HCA,表明某些正確答案的長度大于k。對于這些k值,使用更大的α會導致CCoT提示相較于Base和CoT有更顯著的改進。這意味著,盡管許多正確輸出長度超過k,在CCoT下,模型仍被鼓勵將其長度約束在接近k,從而獲得更高的分數。這種效應在Llama2-70b上尤為明顯,它比Falcon-40b更能控制長度并生成正確輸出。
CCA評估。一致簡潔準確度(Consistent Concise Accuracy)衡量模型生成正確答案的能力,這些答案的長度變化不大,因此與指定約束一致。CCA需要第三個參數β(除了k和α之外),表示對輸出長度變異性的容忍度。具體來說,如果σ是長度分布的標準差,論文有:若σ ≤ β,則CCA(k, α, β) = SCA(k, α);否則,當σ > β時,CCA會隨著σ的增加而呈指數級下降。
圖 8 繪制了在 Llama2-70b 和 Falcon-40b 上針對 α=10, β=20 以及不同 k 值的各種提示方法獲得的 CCA 分數。根據這一指標,CCoT 相較于 CoT 和基礎提示,在 Llama2-70b 和 Falcon-40b 上,以及所有 k 值下,均實現了顯著提升。然而,對于較高的 CCoT 長度約束(例如 100),CCA 分數往往下降,這在其他兩個指標中并未出現。這可以解釋為,增加長度約束使得模型有更多自由生成具有更高變異性的輸出。
值得注意的是,圖 8 所示的結果與圖 5 中報告的輸出長度分布一致,其中基礎和 CoT 提示在 Falcon-40b 和 Llama2-70b 上顯示出更大的輸出長度方差。總體而言,這一實驗證實,當輸出長度變化成為關注點時,CCA 可以是一個有用的性能指標。
2.5.5. CCoT 的圖解
為了更好地說明 CCoT 的益處,圖 9 展示了 Llama2-70b 在應用基礎、CoT 和 CCoT 提示(長度約束分別為 15, 45 和 100)時對來自 GSM8K 的兩個不同問題的回答。在這兩個問題中,論文觀察到在基礎情況下,由于所用模型的特性(特別是 Llama2-70B-chat),模型自動提出了一個推理過程。然而,在 CoT 下,推理過程被擴展,失去了對其長度的控制。
圖7. 柱狀圖展示了在α=1和α=10的情況下,Llama2-70b(上部)和Falcon-40b(下部)在基礎(base)、思維鏈(CoT)和約束思維鏈(CCoTs)之間的SCA得分比較。
特別是,在第一個例子(圖9a)中,盡管在不同設置下使用了CCoT,響應仍然保持正確,同時還提供了更好的輸出長度控制。在第二個例子(圖9b)中,使用基礎和CoT提示的模型響應提供了正確的推理過程,但最終計算結果不正確。相比之下,CCoT技術使論文能夠在提供正確響應的同時控制輸出長度。
圖8. Llama2-70b (a) 和 Falcon-40b (b) 在 α = 10.0, β = 20.0 以及不同 k 值和提示方法下的CCA得分。
?
本文轉載自 ??AI帝國???,作者: 無影寺
