大模型數據建設探索與實踐
一、從工程化視角看數據建設
在當前大模型技術快速發展的背景下,數據對模型效果的影響力日益增強。對于希望從零開始訓練一個具有千億參數規模的大型模型的團隊來說,整個任務流程的規劃和執行成為了一個重要議題。接下來詳細探討從工程化視角下的數據建設過程,包括數據準備、預訓練、后訓練以及數據版本的動態調整。
1. 數據準備與訓練流程
理想情況下,大模型的訓練流程可以分為三個階段:數據準備、預訓練與后訓練。然而,實際情況遠比這一理想化的模型復雜。可以將其比喻為“把大象放進冰箱”的問題,即分為三個步驟:數據收集、預訓練及后訓練。實際操作中,這一過程的復雜性主要體現在兩個方面:
- 預訓練周期長:預訓練階段不僅時間跨度長,而且涉及大量的數據和資源協調。一個模型從開始訓練到結束,可能會經歷季節的更迭。
- 數據版本動態調整:伴隨模型訓練進展,數據版本需要持續動態調整。初始的數據準備可能無法完全滿足模型訓練的需求,因此在整個訓練過程中需要不斷地進行微調。此外,在后訓練階段,還需要對數據進行篩選,以適應模型訓練的前進方向。
2. 影響數據版本更新的因素
影響數據版本更新的主要因素包括:
- 數據來源變更:數據來源的變化直接影響數據的構成與質量。
- 新數據引入:隨著數據市場的不斷發展,引入新數據成為一種可能。通過分析不同數據來源和通用語料長度,可以得出實際的需求量與市場庫存量之間的差異。這一差異表明,盡管數據市場在繁榮發展,但要通過采購方式獲取足量的訓練數據仍具有挑戰性。
- 數據配比差異:在訓練過程中,數據的自然配比與理想的配比可能存在差異,需要根據訓練情況適時調整。
3. 先導模型在工程實踐中的應用
在工程實踐中,常用的方法是訓練一個先導模型來監控數據變化并及時作出調整。先導模型的規模通常較小,如 1B 參數級別。當需要調整數據時,可通過先導模型進行一系列實驗,包括數據去重、清洗及配比調整等,并對效果進行評估。一旦確定可行方案,即可同步應用于主模型。
在某些情況下,一級先導模型可能無法完全滿足數據調整的需求,這時可能需要二級甚至多級先導模型來進行更細致的追隨訓練。在多級先導模型的設置中,可能需要進行二次甚至多次的先導實驗,以確保決策的準確性。這種多級實驗雖然增加了時間和算力成本,但在減少 token 消耗的同時,提高了實驗結果的可靠性。
4. 評測指標與數據版本更新
在訓練過程中,通過對先導模型進行評測,可以發現特定領域的不足之處(如數學或編程能力)。基于評測結果,可以針對性地調整數據配置,從而改善模型性能。
5. 數據處理流程
不同的數據版本更新方式會觸發不同的數據處理流程。如果數據更新是由數據變化觸發的,則可能需要從頭到尾進行數據處理的各個步驟;如果是通過評測引導的方法來觸發,則只需調整數據配比和領域選擇。
二、預訓練數據配比策略
在大模型的預訓練過程中,數據配比對于模型性能有著至關重要的影響。通過采用 DoReMi 方法、雙層優化算法以及在線領域采樣權重調整等策略,可以有效提高模型的訓練效率與性能。在實際應用中,還需考慮特定領域數據的重要性以及數據處理與解析的技術挑戰。
1. 數據配比策略概述
我們平常提到的“數據配比”, 是指在預訓練階段對不同來源的數據配置不同權重,以期達到最優訓練效果的過程。論文中通常采用的對應術語是 “數據混合”(Data Mixing)。
(1)DoReMi:一種經典的配比方法
DoReMi 方法是一種不依賴于特定任務的、在小模型上尋找最優數據混合比例的方法。該方法的基本流程如下:
- 訓練參考模型:在數據的不同領域(domains)中設定一個歸一化的初始權重,在上述權重下訓練一個小的參考模型。
- 訓練代理模型:利用 Group DRO 算法訓練一個代理模型。在此過程中,代理模型與參考模型之間的損失(loss)在不同領域上存在差異。使用 Mini Max Optimization 算法來優化在代理模型與參考模型間差異最大的領域的權重。代理模型持續訓練,而參考模型保持不變。通過代理模型與參考模型的交互過程,不斷調整不同領域的權重。
- 大模型訓練:獲得優化后的權重后,用于訓練最終的大模型。
DoReMi 方法相較于原始權重,在預訓練效果上有明顯提升。例如,下圖展示了采用 DoReMi 方法找到的最優化權重與使用經驗配比所得到的最終模型訓練效果對比。藍線表示采用 DoReMi 方法的結果,紅線表示基線結果,可以看出,DoReMi 方法在下游任務上取得了顯著的提升,且隨著模型參數量的增加,依然穩定提升。
(2)DoGE:雙層優化算法
另一種方法是通過雙層優化算法直接訓練代理模型來調整預訓練數據的權重。這種方法的核心在于通過兩步更新:第一步更新權重,第二步更新代理模型本身的權重。該算法更側重于學習對整體梯度貢獻較大的領域,即找出哪些領域的樣本對代理模型的影響最大。這種方法不需要單獨的參考模型,簡化了訓練流程。
(3)ODM:在線領域采樣權重調整
更進一步的方法是利用多臂老虎機(Multi-Armed Bandit)算法在線調整領域采樣權重。該算法在強化學習中較為常見,通過模擬拉取老虎機的不同手臂來獲得獎勵。在預訓練模型場景中,大模型可以被視為老虎機,不同的數據集對應不同的手臂。訓練過程中,根據獲得的獎勵(即單個樣本的損失)來調整采樣權重,以優化整體訓練效果。
2. 現有方法特點與局限
通過分析現有方法,可以總結出以下兩點特征:
- 更換數據集和領域會影響效果:不同的數據集和領域會對參數更新效果產生顯著影響。例如,DoReMi 方法在不同數據集上的效果差異較大,這表明數據集的多樣性對訓練效果至關重要。
- 權重變更過程與下游評測無關:權重變更過程通常不考慮下游任務的評測結果,而是側重于尋找最優化的訓練過程。這可能導致模型在某些特定任務上的表現不如預期。
3. 工程化實踐中的數據配比調整
在工程化實踐中,數據配比的調整是一個主動觸發的過程,主要思路如下:
- 主動觸發配比調整:在模型訓練初期和中期,根據評測指標主動觸發配比調整。
- 先導模型輔助:使用先導模型(如 DoReMi 方法)來優化數據配比。
- 避免直接應用算法:隨著模型訓練進展,避免直接應用高成本的算法。
4. 經驗總結
在實際應用中,需要考慮以下幾點:
- 中文數據的重要性:增加中文數據比例可以顯著提高模型在文本理解、推理等方面的性能。例如,一些主流開源數據集中,中文數據比例較低,但在國內應用中,增加中文數據比例至 40% 左右,可以使模型在英文評測集上取得優于純英文數據配比的效果。
- 數學與題庫數據的重要性:增大數學與題庫數據的比例有助于提高考試與代碼評測指標的提升速率。例如,最新的 LLaMA3 模型中,數學占比達到 25%,代碼占比達到 17%,這表明在訓練數據中加入更多數學和編程內容有助于提高模型在這些領域的表現。
- 數據處理與解析:在公眾化實驗中,處理特定類型的數據(如數學題目)時,需要專門的文檔解析技術或多模態大模型來提取文本內容。例如,從 PDF 文件中提取公式和表格,需要使用能夠處理這些元素的解析器。
三、后訓練數據的質量篩選
在大模型的訓練過程中,后訓練數據的選擇和篩選對于模型性能的提升至關重要。隨著訓練數據從單純追求數量轉向重視質量,如何高效篩選出高質量的數據成為了一個關鍵議題。
1. 發展趨勢
后訓練數據篩選的發展趨勢表現為從追求數據量的增加轉向關注數據質量的提升。這意味著不僅要保證數據的多樣性,還要確保數據的質量,使模型能夠在有限的數據集上達到最佳訓練效果。
2. 數據篩選方法
為了實現這一目標,研究者們提出了多種數據篩選方法,旨在從海量數據中挑選出最具價值的部分。
(1)CherryLLM
- 基本思想:通過少量數據訓練出一個初步模型,利用該模型評估數據的指令追隨難度,以此作為篩選依據。(指令追隨難度用于衡量答案與指令的匹配程度,包括直接答案得分和條件答案得分)
- 篩選流程:從全量數據中選取樣例訓練經驗模型;利用該模型篩選出指令追隨難度高的數據進行后續訓練。
(2)Superfiltering
- 基本思想:利用較小的模型進行篩選減少時間開銷,盡管其困惑度較高,但指令追隨難度分布與大參數量模型結果類似,因此仍具有參考價值。
(3)MoDS
- 基本思想:利用獎勵模型對數據進行評分,通過多層次篩選進一步提升數據質量。
- 流程:從高質量數據中選取種子樣本訓練初始模型,使用模型推理結果再次篩選并增強數據集。
(4)NUGGETS
- 基本思想:評估每條樣本作為 One-Shot 示例的價值增益。
- 優點:能夠量化樣本對訓練過程的價值,并可通過聚類等手段進一步優化。
(5)LESS
- 基本思想:利用模型梯度評估樣本對測試集損失降低的程度,從而篩選出最有價值的數據。
- 方法:
- 使用 LoRA 訓練并保存樣本梯度。
- 從訓練數據中挑選出與示例數據集樣本梯度相似度最高的部分。
3. 現有方法分類與特點
在后訓練數據篩選的過程中,可以將方法大致分為兩大類:模型類方法與指標類方法。
- 模型類方法:依賴外部模型能力,計算開銷大。
- 指標類方法:計算效率高,潛在誤差大。
4. 理想指標的探索
在現有篩選方法的基礎上,探索更為理想的篩選指標。理想指標應當具備以下特性:
- 精確性與確定性:既能準確匹配答案,又能反映模型對生成內容的不確定程度。
- 動態變化:隨著模型訓練的深入,符合條件的數據量逐漸減少。
5. 工程化實踐
在實際應用中,后訓練數據篩選涉及多個層面的考量:
- 數據分類:將數據按邏輯、認知、理解等多個層次分類。
- 能力提升:針對單項能力進行優化,隨后進行跨類別的綜合優化,以實現能力融合。
- 迭代優化:通過多輪迭代優化數據配比,逐步提升模型的整體性能。
6. 數學數據的重要性
使用少量數學相關的微調數據,可以促進模型在多項通用任務上獲得全面的能力提升。
四、問答環節
Q1:是否存在數據量維度的 scaling law,即數據量越大,模型效果越好?
A1:在數據量和模型效果之間存在類似于模型參數量維度的 scaling law。但關鍵在于數據質量,高質量的數據是提升模型效果的基礎。對于不同級別的模型,所需的高質量數據量可能存在底線,這一底線需要通過實驗來探索。特別是對于大型模型,由于訓練成本高昂,難以重復多次實驗,因此在實際操作中需通過追隨訓練等方法逐步優化。
Q2:數學數據的來源主要是什么?
A2:數學數據主要來源于各類題庫。市面上這類數據庫存有限,建議可通過小模型從網頁數據中提取數學知識相關內容進行擴充。
Q3:不同領域的數據進入模型訓練的順序是否影響模型效果?
A3:數據進入模型訓練的順序確實有影響,但實際操作中難以全面評估所有可能的順序。可以通過領域細分和實驗來探究這一影響,但需要大量算力支持。
Q4:先導模型與主模型在結構上需要怎樣的關聯?
A4:先導模型與主模型在結構上可以有所差異,但需要先導模型能夠有效地反映數據質量。目前尚無明確理論指導先導模型的選擇,但通常會選擇在較小參數量下訓練效果較好的模型作為先導模型。
Q5:PDF 文件處理有哪些難點?在選擇或開發 PDF 處理工具時應注意什么?
A5:PDF 文件處理的難點在于需要同時處理公式、表格和不同版面等復雜元素。有效的 PDF 處理工具應具備多種專用模型,如版面解析、表格處理和公式識別模型。特別需要注意的是,工具應擅長處理公式與文本混排的情況。