ICML 2024 | 大語(yǔ)言模型預(yù)訓(xùn)練新前沿:「最佳適配打包」重塑文檔處理標(biāo)準(zhǔn)
在大型語(yǔ)言模型的訓(xùn)練過(guò)程中,數(shù)據(jù)的處理方式至關(guān)重要。
傳統(tǒng)的方法通常通過(guò)將大量文檔拼接并切分成等同于模型的上下文長(zhǎng)度的訓(xùn)練序列。這雖然提高了訓(xùn)練效率,但也常導(dǎo)致文檔的不必要截?cái)?,損害數(shù)據(jù)完整性,導(dǎo)致關(guān)鍵的上下文信息丟失,進(jìn)而影響模型學(xué)習(xí)到的內(nèi)容的邏輯連貫性和事實(shí)一致性,并使模型更容易產(chǎn)生幻覺(jué)。
AWS AI Labs 的研究人員針對(duì)這一常見(jiàn)的拼接-分塊文本處理方式進(jìn)行了深入研究, 發(fā)現(xiàn)其嚴(yán)重影響了模型理解上下文連貫性和事實(shí)一致性的能力。這不僅影響了模型在下游任務(wù)的表現(xiàn),還增加了產(chǎn)生幻覺(jué)的風(fēng)險(xiǎn)。
針對(duì)這一問(wèn)題,他們提出了一種創(chuàng)新的文檔處理策略——最佳適配打包 (Best-fit Packing),通過(guò)優(yōu)化文檔組合來(lái)消除不必要的文本截?cái)啵@著地提升了模型的性能且減少模型幻覺(jué)。這一研究已被ICML 2024接收。

文章標(biāo)題:Fewer Truncations Improve Language Modeling
論文鏈接:https://arxiv.org/pdf/2404.10830
研究背景
在傳統(tǒng)的大型語(yǔ)言模型訓(xùn)練方法中,為了提高效率,研究人員通常會(huì)將多個(gè)輸入文檔拼接在一起,然后將這些拼接的文檔分割成固定長(zhǎng)度的序列。
這種方法雖然簡(jiǎn)單高效,但它會(huì)造成一個(gè)重大問(wèn)題——文檔截?cái)啵╠ocument truncation),損害了數(shù)據(jù)完整性(data integrity)。文檔截?cái)鄷?huì)導(dǎo)致文檔包含的信息丟失 (loss of information)。
此外,文檔截?cái)鄿p少了每個(gè)序列中的上下文量,可能導(dǎo)致下一個(gè)詞的預(yù)測(cè)與上文不相關(guān),從而使模型更容易產(chǎn)生幻覺(jué) (hallucination)。
以下的例子展示了文檔截?cái)鄮?lái)的問(wèn)題:
- 圖2(a):在Python編程中,原始代碼雖然正確,但將變量定義與使用分割到不同的訓(xùn)練序列中會(huì)引入語(yǔ)法錯(cuò)誤,導(dǎo)致某些變量在后續(xù)訓(xùn)練序列中未定義,從而使得模型學(xué)習(xí)到錯(cuò)誤的模式,并可能在下游任務(wù)中產(chǎn)生幻覺(jué)。例如,在程序合成任務(wù)中,模型可能會(huì)在沒(méi)有定義的情況下直接使用變量。
- 圖2(b):截?cái)嗤瑯訐p害了信息的完整性。例如,摘要中的“Monday morning”無(wú)法與訓(xùn)練序列中的任何上下文匹配,導(dǎo)致內(nèi)容失實(shí)。這種信息不完整性會(huì)顯著降低模型對(duì)上下文信息的敏感度,導(dǎo)致生成的內(nèi)容與實(shí)際情況不符,即所謂的不忠實(shí)生成 (unfaithful generation)。
- 圖2(c):截?cái)噙€會(huì)阻礙訓(xùn)練期間的知識(shí)獲取,因?yàn)橹R(shí)在文本中的表現(xiàn)形式通常依賴完整的句子或段落。例如,模型無(wú)法學(xué)習(xí)到ICML會(huì)議的地點(diǎn),因?yàn)闀?huì)議名稱和地點(diǎn)分布在不同的訓(xùn)練序列中。

圖2. 文檔截?cái)鄬?dǎo)致幻覺(jué)或知識(shí)喪失的例子。(a) 變量定義(藍(lán)色部分)被截?cái)啵S后的使用調(diào)用導(dǎo)致未定義名稱(紅色部分)。(b) 關(guān)鍵上下文信息被截?cái)啵ㄋ{(lán)色部分),使得摘要不忠實(shí)于原文(紅色部分),(c) 由于截?cái)?,模型不知道ICML 2024的舉辦地點(diǎn)。
最佳適配打包
針對(duì)這一問(wèn)題,研究者提出了最佳適配打包 (Best-fit Packing)。
該方法使用長(zhǎng)度感知的組合優(yōu)化技術(shù),有效地將文檔打包到訓(xùn)練序列中,從而完全消除不必要的截?cái)?。這不僅保持了傳統(tǒng)方法的訓(xùn)練效率,而且通過(guò)減少數(shù)據(jù)的片段化,實(shí)質(zhì)性地提高了模型訓(xùn)練的質(zhì)量。
作者首先先將每個(gè)文本分割成一或多個(gè)至多長(zhǎng)為模型上下文長(zhǎng)度L的序列。這一步限制來(lái)自于模型,所以是必須進(jìn)行的。
現(xiàn)在,基于大量的至多長(zhǎng)為L(zhǎng)的文件塊,研究者希望將它們合理地組合,并獲得盡量少的訓(xùn)練序列。這個(gè)問(wèn)題可以被看作一個(gè)集裝優(yōu)化(Bin Packing)問(wèn)題。集裝優(yōu)化問(wèn)題是NP-hard的。如下圖算法所示,這里他們采用了最佳適配遞減算法(Best-Fit-Decreasing, BFD) 的啟發(fā)式策略。
接下來(lái)從時(shí)間復(fù)雜度 (Time Complexity) 和緊湊性 (Compactness) 的角度來(lái)討論BFD的可行性。

時(shí)間復(fù)雜度:
BFD的排序和打包的時(shí)間復(fù)雜度均為O(N log N),其中N是文檔塊的數(shù)量。在預(yù)訓(xùn)練數(shù)據(jù)處理中,由于文檔塊的長(zhǎng)度是整數(shù)并且是有限的 ([1, L]),可以使用計(jì)數(shù)排序 (count sort) 來(lái)實(shí)現(xiàn)將排序的時(shí)間復(fù)雜度降低到O(N)。
在打包階段,通過(guò)使用段樹(shù)(Segment Tree)的數(shù)據(jù)結(jié)構(gòu),使得每次尋找最佳適配容器的操作只需對(duì)數(shù)時(shí)間,即O(log L)。又因?yàn)長(zhǎng)<<N, 使得總時(shí)長(zhǎng)約為 O(N),進(jìn)而整體算法與數(shù)據(jù)大小呈線性關(guān)系,確保對(duì)大規(guī)模數(shù)據(jù)集的適用性:處理大型預(yù)訓(xùn)練語(yǔ)料庫(kù)如Falcon RefinedWeb (約十億文檔) 只需要3小時(shí)。

緊湊性 :
緊湊性是衡量打包算法效果的另一個(gè)重要指標(biāo),在不破壞原文檔完整性的同時(shí)需要盡可能減少訓(xùn)練序列的數(shù)量以提高模型訓(xùn)練的效率。
在實(shí)際應(yīng)用中,通過(guò)精確控制序列的填充和排布,最佳適配打包能夠生成幾乎與傳統(tǒng)方法相當(dāng)數(shù)量的訓(xùn)練序列,同時(shí)顯著減少了因截?cái)喽斐傻臄?shù)據(jù)損失。

基于在自然語(yǔ)言(RefinedWeb) 和編程語(yǔ)言(The Stack) 數(shù)據(jù)集上的實(shí)驗(yàn),我們發(fā)現(xiàn)最佳適配打包顯著降低了文本截?cái)唷?/p>
值得注意的是,大多數(shù)文檔包含的token數(shù)少于2048個(gè);由于傳統(tǒng)拼接-分塊時(shí)造成的截?cái)嘀饕l(fā)生在這一范圍內(nèi),而最佳適配打包不會(huì)截?cái)嗳魏伍L(zhǎng)度低于L的文檔,由此有效地保持了絕大多數(shù)文檔的完整性。

圖4:當(dāng)最大序列長(zhǎng)度設(shè)置為2k或8k時(shí),在不同文檔長(zhǎng)度下,每個(gè)文檔長(zhǎng)度對(duì)應(yīng)的文檔數(shù)量和截?cái)鄶?shù)量。使用“最佳適應(yīng)打包”(Best-fit Packing)技術(shù)后,截?cái)鄶?shù)量明顯減少。上方:自然語(yǔ)言。下方:編程語(yǔ)言。
實(shí)驗(yàn)與結(jié)果
研究人員詳細(xì)報(bào)告了使用最佳適配打包與傳統(tǒng)方法(即拼接方法)訓(xùn)練的語(yǔ)言模型在不同任務(wù)上的表現(xiàn)對(duì)比,包括:自然語(yǔ)言處理和編程語(yǔ)言任務(wù),如閱讀理解 (Reading Comprehension)、自然語(yǔ)言推理 (Natural Language Inference)、上下文跟隨 (Context Following)、文本摘要 (Summarization)、世界知識(shí) (Commonsense and Closed-book QA) 和程序合成 (Program Synthesis),總計(jì)22個(gè)子任務(wù)。
實(shí)驗(yàn)涉及的模型大小從70億到130億參數(shù)不等,序列長(zhǎng)度從2千到8千令牌,數(shù)據(jù)集涵蓋自然語(yǔ)言和編程語(yǔ)言。這些模型被訓(xùn)練在大規(guī)模的數(shù)據(jù)集上,如Falcon RefinedWeb和The Stack,并使用LLaMA架構(gòu)進(jìn)行實(shí)驗(yàn)。

實(shí)驗(yàn)結(jié)果表明,使用最佳適配打包在在一系列任務(wù)中提升了模型性能,尤其是在閱讀理解 (+4.7%)、自然語(yǔ)言推理 (+9.3%)、上下文跟隨 (+16.8%) 和程序合成 (+15.0%) 等任務(wù)中表現(xiàn)顯著(由于不同任務(wù)的度量標(biāo)準(zhǔn)的規(guī)模各異,作者默認(rèn)使用相對(duì)改進(jìn)來(lái)描述結(jié)果。)
經(jīng)過(guò)統(tǒng)計(jì)檢驗(yàn),研究者發(fā)現(xiàn)所有結(jié)果要么統(tǒng)計(jì)顯著地優(yōu)于基線(標(biāo)記為s),要么與基線持平(標(biāo)記為n),且在所有評(píng)測(cè)的任務(wù)中,使用最佳適配打包均未觀察到性能顯著下降。
這一一致性和單調(diào)性的提升突顯了最佳適配打包不僅能提升模型的整體表現(xiàn),還能保證在不同任務(wù)和條件下的穩(wěn)定性。詳細(xì)的結(jié)果和討論請(qǐng)參考正文。





作者們重點(diǎn)研究了最佳適配打包對(duì)幻覺(jué)的影響。
在摘要生成中,使用QAFactEval度量發(fā)現(xiàn)采用最佳適配打包的模型在生成幻覺(jué)方面有顯著降低。
更為顯著的是,在程序合成任務(wù)中,使用最佳適配打包訓(xùn)練的模型生成代碼時(shí),“未定義名稱”(Undefined Name)的錯(cuò)誤減少了高達(dá)58.3%,這表明模型對(duì)程序結(jié)構(gòu)和邏輯的理解更為完整,從而有效減少了幻覺(jué)現(xiàn)象。
作者們還揭示了模型在處理不同類型知識(shí)時(shí)的表現(xiàn)差異。
如前所述,訓(xùn)練過(guò)程中的截?cái)嗫赡苡绊懶畔⒌耐暾裕瑥亩恋K知識(shí)的獲取。但大多數(shù)標(biāo)準(zhǔn)評(píng)估集中的問(wèn)題側(cè)重于常見(jiàn)知識(shí) (common knowledge),這類知識(shí)在人類語(yǔ)言中頻繁出現(xiàn)。因此即使部分知識(shí)因截?cái)喽鴣G失,模型仍有很好的機(jī)會(huì)從文檔片段中學(xué)習(xí)到這些信息。
相比之下,不常見(jiàn)的尾部知識(shí)(tail knowledge)更容易受到截?cái)嗟挠绊?,因?yàn)檫@類信息在訓(xùn)練數(shù)據(jù)中出現(xiàn)的頻率本身就低,模型難以從其他來(lái)源補(bǔ)充丟失的知識(shí)。
通過(guò)對(duì)ARC-C和ARC-E兩個(gè)測(cè)試集的結(jié)果分析,研究者發(fā)現(xiàn),相較于含有更多常見(jiàn)知識(shí)的ARC-E,使用最佳適配打包會(huì)使模型在含有更多尾部知識(shí)的ARC-C中有更顯著的性能提升。
通過(guò)計(jì)算每對(duì)問(wèn)題-答案組合在 Kandpal et al. (2023) 預(yù)處理的Wikipedia實(shí)體映射中的共現(xiàn)次數(shù),這一發(fā)現(xiàn)得到了進(jìn)一步驗(yàn)證。統(tǒng)計(jì)結(jié)果顯示,挑戰(zhàn)集(ARC-C)包含了更多罕見(jiàn)共現(xiàn)的對(duì),這驗(yàn)證最佳適配打包能有效支持尾部知識(shí)學(xué)習(xí)的假設(shè),也為為何傳統(tǒng)的大型語(yǔ)言模型在學(xué)習(xí)長(zhǎng)尾知識(shí)時(shí)會(huì)遇到困難提供了一種解釋。

總結(jié)
本文提出了大型語(yǔ)言模型訓(xùn)練中普遍存在的文檔截?cái)鄦?wèn)題。
這種截?cái)嘈?yīng)影響了模型學(xué)習(xí)到邏輯連貫性和事實(shí)一致性,并增加了生成過(guò)程中的幻覺(jué)現(xiàn)象。作者們提出了最佳適配打包(Best-fit Packing),通過(guò)優(yōu)化數(shù)據(jù)整理過(guò)程,最大限度地保留了每個(gè)文檔的完整性。這一方法不僅適用于處理數(shù)十億文檔的大規(guī)模數(shù)據(jù)集,而且在數(shù)據(jù)緊湊性方面與傳統(tǒng)方法持平。
實(shí)驗(yàn)結(jié)果顯示,該方法在減少不必要的截?cái)喾矫鏄O為有效,能夠顯著提升模型在各種文本和代碼任務(wù)中的表現(xiàn),同時(shí)有效減少封閉域的語(yǔ)言生成幻覺(jué)。盡管本文的實(shí)驗(yàn)主要集中在預(yù)訓(xùn)練階段,最佳適配打包也可廣泛應(yīng)用于其他如微調(diào)階段。這項(xiàng)工作為開(kāi)發(fā)更高效、更可靠的語(yǔ)言模型做出了貢獻(xiàn),推動(dòng)了語(yǔ)言模型訓(xùn)練技術(shù)的發(fā)展。
本文轉(zhuǎn)自 機(jī)器之心 ,作者:機(jī)器之心

















