ICML 2024 | 大語言模型預訓練新前沿:「最佳適配打包」重塑文件處理標準

机器之心發表於2024-05-16
圖片
AIxiv專欄是機器之心釋出學術、技術內容的欄目。過去數年,機器之心AIxiv專欄接收報導了2000多篇內容,覆蓋全球各大高校與企業的頂級實驗室,有效促進了學術交流與傳播。如果您有優秀的工作想要分享,歡迎投稿或者聯絡報導。投稿郵箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com

在大型語言模型的訓練過程中,資料的處理方式至關重要。

傳統的方法通常透過將大量文件拼接並切分成等同於模型的上下文長度的訓練序列。這雖然提高了訓練效率,但也常導致文件的不必要截斷,損害資料完整性,導致關鍵的上下文資訊丟失,進而影響模型學習到的內容的邏輯連貫性和事實一致性,並使模型更容易產生幻覺。

AWS AI Labs 的研究人員針對這一常見的拼接-分塊文字處理方式進行了深入研究, 發現其嚴重影響了模型理解上下文連貫性和事實一致性的能力。這不僅影響了模型在下游任務的表現,還增加了產生幻覺的風險。

針對這一問題,他們提出了一種創新的文件處理策略——最佳適配打包 (Best-fit Packing),透過最佳化文件組合來消除不必要的文字截斷,並顯著地提升了模型的效能且減少模型幻覺。這一研究已被ICML 2024接收。

圖片

文章標題:Fewer Truncations Improve Language Modeling
論文連結:https://arxiv.org/pdf/2404.10830

研究背景

在傳統的大型語言模型訓練方法中,為了提高效率,研究人員通常會將多個輸入文件拼接在一起,然後將這些拼接的文件分割成固定長度的序列。

這種方法雖然簡單高效,但它會造成一個重大問題——文件截斷(document truncation),損害了資料完整性(data integrity)。文件截斷會導致文件包含的資訊丟失 (loss of information)。

此外,文件截斷減少了每個序列中的上下文量,可能導致下一個詞的預測與上文不相關,從而使模型更容易產生幻覺 (hallucination)。

以下的例子展示了文件截斷帶來的問題:

  • 圖2(a):在Python程式設計中,原始程式碼雖然正確,但將變數定義與使用分割到不同的訓練序列中會引入語法錯誤,導致某些變數在後續訓練序列中未定義,從而使得模型學習到錯誤的模式,並可能在下游任務中產生幻覺。例如,在程式合成任務中,模型可能會在沒有定義的情況下直接使用變數。
  • 圖2(b):截斷同樣損害了資訊的完整性。例如,摘要中的“Monday morning”無法與訓練序列中的任何上下文匹配,導致內容失實。這種資訊不完整性會顯著降低模型對上下文資訊的敏感度,導致生成的內容與實際情況不符,即所謂的不忠實生成 (unfaithful generation)。
  • 圖2(c):截斷還會阻礙訓練期間的知識獲取,因為知識在文字中的表現形式通常依賴完整的句子或段落。例如,模型無法學習到ICML會議的地點,因為會議名稱和地點分佈在不同的訓練序列中。
圖片

圖2. 文件截斷導致幻覺或知識喪失的例子。(a) 變數定義(藍色部分)被截斷,隨後的使用呼叫導致未定義名稱(紅色部分)。(b) 關鍵上下文資訊被截斷(藍色部分),使得摘要不忠實於原文(紅色部分),(c) 由於截斷,模型不知道ICML 2024的舉辦地點。

最佳適配打包

針對這一問題,研究者提出了最佳適配打包 (Best-fit Packing)。

該方法使用長度感知的組合最佳化技術,有效地將文件打包到訓練序列中,從而完全消除不必要的截斷。這不僅保持了傳統方法的訓練效率,而且透過減少資料的片段化,實質性地提高了模型訓練的質量。

作者首先先將每個文字分割成一或多個至多長為模型上下文長度L的序列。這一步限制來自於模型,所以是必須進行的。

現在,基於大量的至多長為L的檔案塊,研究者希望將它們合理地組合,並獲得儘量少的訓練序列。這個問題可以被看作一個集裝最佳化(Bin Packing)問題。集裝最佳化問題是NP-hard的。如下圖演算法所示,這裡他們採用了最佳適配遞減演算法(Best-Fit-Decreasing, BFD) 的啟發式策略。

接下來從時間複雜度 (Time Complexity) 和緊湊性 (Compactness) 的角度來討論BFD的可行性。

圖片

時間複雜度

BFD的排序和打包的時間複雜度均為O(N log N),其中N是文件塊的數量。在預訓練資料處理中,由於文件塊的長度是整數並且是有限的 ([1, L]),可以使用計數排序 (count sort) 來實現將排序的時間複雜度降低到O(N)。

在打包階段,透過使用段樹(Segment Tree)的資料結構,使得每次尋找最佳適配容器的操作只需對數時間,即O(log L)。又因為L<<N, 使得總時長約為 O(N),進而整體演算法與資料大小呈線性關係,確保對大規模資料集的適用性:處理大型預訓練語料庫如Falcon RefinedWeb (約十億文件) 只需要3小時。

圖片

緊湊性 :

緊湊性是衡量打包演算法效果的另一個重要指標,在不破壞原文件完整性的同時需要儘可能減少訓練序列的數量以提高模型訓練的效率。

在實際應用中,透過精確控制序列的填充和排布,最佳適配打包能夠生成幾乎與傳統方法相當數量的訓練序列,同時顯著減少了因截斷而造成的資料損失。

圖片

基於在自然語言(RefinedWeb) 和程式語言(The Stack) 資料集上的實驗,我們發現最佳適配打包顯著降低了文字截斷。

值得注意的是,大多數文件包含的token數少於2048個;由於傳統拼接-分塊時造成的截斷主要發生在這一範圍內,而最佳適配打包不會截斷任何長度低於L的文件,由此有效地保持了絕大多數文件的完整性。

圖片

圖4:當最大序列長度設定為2k或8k時,在不同文件長度下,每個文件長度對應的文件數量和截斷數量。使用“最佳適應打包”(Best-fit Packing)技術後,截斷數量明顯減少。上方:自然語言。下方:程式語言。

實驗與結果

研究人員詳細報告了使用最佳適配打包與傳統方法(即拼接方法)訓練的語言模型在不同任務上的表現對比,包括:自然語言處理和程式語言任務,如閱讀理解 (Reading Comprehension)、自然語言推理 (Natural Language Inference)、上下文跟隨 (Context Following)、文字摘要 (Summarization)、世界知識 (Commonsense and Closed-book QA) 和程式合成 (Program Synthesis),總計22個子任務。

實驗涉及的模型大小從70億到130億引數不等,序列長度從2千到8千令牌,資料集涵蓋自然語言和程式語言。這些模型被訓練在大規模的資料集上,如Falcon RefinedWeb和The Stack,並使用LLaMA架構進行實驗。

圖片

實驗結果表明,使用最佳適配打包在在一系列任務中提升了模型效能,尤其是在閱讀理解 (+4.7%)、自然語言推理 (+9.3%)、上下文跟隨 (+16.8%) 和程式合成 (+15.0%) 等任務中表現顯著(由於不同任務的度量標準的規模各異,作者預設使用相對改進來描述結果。)

經過統計檢驗,研究者發現所有結果要麼統計顯著地優於基線(標記為s),要麼與基線持平(標記為n),且在所有評測的任務中,使用最佳適配打包均未觀察到效能顯著下降。

這一一致性和單調性的提升突顯了最佳適配打包不僅能提升模型的整體表現,還能保證在不同任務和條件下的穩定性。詳細的結果和討論請參考正文。

圖片

圖片

圖片

圖片

圖片

作者們重點研究了最佳適配打包對幻覺的影響。

在摘要生成中,使用QAFactEval度量發現採用最佳適配打包的模型在生成幻覺方面有顯著降低

更為顯著的是,在程式合成任務中,使用最佳適配打包訓練的模型生成程式碼時,“未定義名稱”(Undefined Name)的錯誤減少了高達58.3%,這表明模型對程式結構和邏輯的理解更為完整,從而有效減少了幻覺現象。

作者們還揭示了模型在處理不同型別知識時的表現差異。

如前所述,訓練過程中的截斷可能影響資訊的完整性,從而妨礙知識的獲取。但大多數標準評估集中的問題側重於常見知識 (common knowledge),這類知識在人類語言中頻繁出現。因此即使部分知識因截斷而丟失,模型仍有很好的機會從文件片段中學習到這些資訊。

相比之下,不常見的尾部知識(tail knowledge)更容易受到截斷的影響,因為這類資訊在訓練資料中出現的頻率本身就低,模型難以從其他來源補充丟失的知識。

透過對ARC-C和ARC-E兩個測試集的結果分析,研究者發現,相較於含有更多常見知識的ARC-E,使用最佳適配打包會使模型在含有更多尾部知識的ARC-C中有更顯著的效能提升。

透過計算每對問題-答案組合在 Kandpal et al. (2023) 預處理的Wikipedia實體對映中的共現次數,這一發現得到了進一步驗證。統計結果顯示,挑戰集(ARC-C)包含了更多罕見共現的對,這驗證最佳適配打包能有效支援尾部知識學習的假設,也為為何傳統的大型語言模型在學習長尾知識時會遇到困難提供了一種解釋。

圖片

總結

本文提出了大型語言模型訓練中普遍存在的文件截斷問題。

這種截斷效應影響了模型學習到邏輯連貫性和事實一致性,並增加了生成過程中的幻覺現象。作者們提出了最佳適配打包(Best-fit Packing),透過最佳化資料整理過程,最大限度地保留了每個文件的完整性。這一方法不僅適用於處理數十億文件的大規模資料集,而且在資料緊湊性方面與傳統方法持平。

實驗結果顯示,該方法在減少不必要的截斷方面極為有效,能夠顯著提升模型在各種文字和程式碼任務中的表現,同時有效減少封閉域的語言生成幻覺。儘管本文的實驗主要集中在預訓練階段,最佳適配打包也可廣泛應用於其他如微調階段。這項工作為開發更高效、更可靠的語言模型做出了貢獻,推動了語言模型訓練技術的發展。

有關更多研究細節,請參閱原始論文。如果有意向工作或實習,可郵件聯絡本文作者 zijwan@amazon.com.

相關文章