最終在驗證集上評估大模型效果。

1.2 Scaling laws

        scaling laws主要研究多種因素對大模型Loss的影響,公式如下:

這里x可以是模型大小、預訓練數據大小、訓練步數、計算量。

二、數據混合的比例以定量可預測的方式影響模型損失

為了發現數據混合規律,需要解決如下兩個挑戰:

(i)多變量:對于K個數據域的數據混合定律,混合比例有K?1個自由度,相應地,在目標函數中有K–1個變量。變量的增加使函數形式的識別變得復雜。

(ii)非單調性:損失和任何域的比例之間的單調關系表明,不平衡的混合可以實現最小損失,這與實踐相矛盾。因此,與現有的損失隨相關因素的規模單調遞減的比例律不同,數據混合定律應該適應非單調性功能。

       為了應對這些挑戰,作者首先通過研究損失和混合比例之間的關系符合單變量單調函數的情況來簡化問題,然后逐步增加多域數據分析。具體而言,開始只在兩個域上進行訓練,這樣可以避免多變量復雜問題,并且只考慮來自其中一個訓練域的驗證數據,以避免非單調性(第2.1節)。隨后,分析多個域的混合數據比例(第2.2節),探討包括不同領域的一般驗證數據的損失的可預測性(第2.3節)。

2.1 兩域數據混合下域損失的初步研究

? ? ? 從最簡單的情況開始探索,下面只研究兩個域的混合,并分別在這兩個域上評估模型。

a)實驗設置

? ? ? ?作者使用Pile數據集的Github和Pile CC子數據集訓練70M和160M語言模型。兩個數據集的混合比例設置為{0.25,0.375,0.5,0.625,0.75}。所有模型設置batch size為1M,訓練30k步,總共30B個tokens,并在GitHub和Pile CC的驗證集上評估不同步的檢查點。

b)實驗結論

# 實現代碼如下:
https://github.com/yegcjs/mixinglaws/blob/main/mix_2_domains.ipynb

圖2揭示了給定域比例下域損失的定量可預測性。從圖中可以發現,對于具有相同大小和用相同步驟數訓練的檢查點,在減去共享常數3后,它們在對數尺度上的域損失與域比例呈線性關系。結果表明,在其他因素不變的情況下,得到了這么一個函數可以擬合兩個數據集的不同比例和loss的指數定律,公式如下所示:

2.2 擴展到在多域混合上訓練的域損失

       為了適應真實世界中兩個以上領域的情況,作者將研究擴展到多個領域數據。為了簡化視覺輔助,選擇從三個領域的情況開始分析。

a)實驗設置

? ? ? ?作者選擇Pile的GitHub、Pile CC和Books3三個子集,總共30B個tokens,并分別在三個域上評估模型。從{0,0.125,0.25,…,0.875,1}進行網格搜索,其中三個比例加起來為1,而且沒有用完任何域中的所有令牌,最終產生了32種組合。

       作者利用這些實驗混合物的損失,通過猜想和驗證來識別損失和混合物比例之間的函數形式。具體來說,對可能形式的猜想基于以下兩個原則:?兼容性:如果域的數目M=2,該形式可以簡化為等式6。?對稱性:任何變量交換都不應改變函數形式。

       第二個原則源于避免引入任何特定領域偏差的直覺。這兩個原則共同導致了復 制方程中指數項的候選函數。每個訓練領域都有 6 個,并通過遵守交換律的運 算將它們組合起來。

根據如上兩個原則,作者實驗了如下候選函數:

在三種數據域上的擬合錯誤,如下表1所示:

b實驗結論

? ? ? ?從表1中的結果來看,M1和M4的預測比較可靠,而M4的系數較少,因此最后采用M4形式:

采用上述M4形式,擬合的結果如下所示:

三、嵌套標度法則僅使用小規模實驗預測在各種混合物上訓練的損失

3.1 Loss預測的pipeline

? ? ? ?雖然數據混合定律使我們能夠在未見過的混合數據上預測訓練模型的性能,但滿足該定律的要求涉及跨不同混合物訓練多個模型,并且模型大小和tokens計數與目標模型相同。此外,我們必須對每個目標模型大小和訓練數據集重復此過程(一個想法是將使用少量標記訓練的小型模型上的優化訓練混合物轉移到大型模型和大量訓練數據的訓練上。然而,在附錄 A 中,我們表明,有關模型性能的數據混合的偏序會隨著模型大小和訓練標記數量的變化而變化。因此,實驗規模的最佳混合物在目標規模上可能不是最佳的)。這導致成本非常高,從而阻礙了數據混合定律的實際使用。

? ? ? ?是否可以在不進行大規模訓練的情況下獲得不同混合比例的損失呢?scaling law驗證了訓練步驟和模型大小的關系。特別是,OpenAI[3]僅用 1000×–10000×更少的計算量就預測了目標模型的損失。因此,我們可以在不同的混合物上用很少的訓練步驟訓練小模型,并對其擬合縮放法則來估計目標模 型大小的損失和目標訓練步驟數。然后,我們可以使用預測的損失來擬合數據混合定律并搜索最佳混合。數據混合定律的管道如圖 1 所示:

數據混合定律詳細信息如下算法1所示:

3.2 實驗

a)實驗設置

? ? ??作者在 RedPajama 的混合物上訓練模型,并選擇Pile為驗證集,以模擬驗證數據與訓練數據分開收集的場景。為了適應訓練步長和模型大小的縮放規律,作者為 30B tokens數據訓練了一系列 70M、160M、305M 和 410M 模型。對于所有模型,將批量大小設置為 1M 令牌,從而轉化為 1B 模型的 100k 步和小模型的 30k 步,并應用余弦學習率衰減,并進行 2k 步的預熱,在第 100k 步時衰減到最大學習率的 0.1。

       為了通過有限數量的實驗運行達到較低的預測誤差,作者利用混合比例項在數據混合定律中表示為指數函數的事實來選擇用于實驗的混合物。具體來說,通過從不耗盡所有域標記的最大可用域開始,通過雙減每個訓練域的比例來枚舉候選混合物。這樣,每個(隱式)驗證域的損失就均勻分布。然后,從所有候選者中抽取 40 個混合物樣本,并訓練最小的 70M 模型。對其中的 20 個 混合物進行重新采樣,以適應數據混合定律,并選擇在所有 40 個樣本上達到最小預測誤差的組作為運行管道的最終混合物集。詳細內容請參見附錄B.2。

b)實驗結果

??圖 6 顯示了使用RedPajama 默認混合物和從算法1獲得的優化混合物及其在驗證數據上的表現。損失預測如圖7所示:

有如下發現:

四、數據混合定律驅動的持續預訓練 Outlook 數據計劃的應用

       持續預訓練與預訓練模型范式相同,但是模型參數是以預訓練參數而不是隨機初始化的。通常來說,持續預訓練是增強現有預訓練模型的常用技術,它將最新知識注入模型,避免由于分布變化而導致性能下降。此外,研究人員還應用持續預訓練來重用現有模型參數來構建不同架構的模型。那么數據混合定律應用于在持續預訓練會起作用嗎?

? ? ? 作者對持續預訓練的典型場景進行實驗,在原始預訓練數據和目標域數據的混合上訓練模型。例如,使用 Pile 和 Python 代碼的混合持續預訓練 Pythia-70M 模型,其中前者是基礎模型的原始預訓練數據。為了驗證數據混合法則是否適用于持續預訓練,作者在 4 種混合物上訓練 10B tokens的模型并使用Pile 和 python 代碼數據通過等式6來擬合loss。結果如圖8所示:

  在持續的預訓練過程中,目標數據的比例太大會損害原始數據的性能?;旌蟽灮繕耸潜3滞ㄓ媚芰Γㄔ赑ile上的losses)不變。為此,使用擬合過的數據混合定律,預測與連續預訓練之前相同的損失的關鍵比例。圖 8 展示了預測的成功,發現的比例與持續預訓練之前的模型相比具有相似的性能,同時在目標域中獲得了改進。

      作者認為持續預訓練對于數據計劃的設計具有重要意義。通常,持續預訓練適用于預訓練模型,而對連續預訓練模型進一步持續預訓練也是很自然的,即多階段預訓練。在每個階段,訓練數據的混合比例甚至域成分都可以不同。

       當訓練階段的數量接近無限極限時,這將成為動態數據計劃。因此,數據混合定律在持續訓練中的成功應用標志著使用它來設計動態數據計劃(一種更全面的數據管理范式)的廣闊前景。

參考文獻:

[1] https://arxiv.org/pdf/2403.16952.pdf

[2] https://github.com/yegcjs/mixinglaws

[3]?https://arxiv.org/abs/2303.08774

文章轉自微信公眾號@ArronAI

上一篇:

LLM漫談(五)| 從q star視角解密OpenAI 2027年實現AGI計劃

下一篇:

LLM漫談(七)| 使用PyTorch從零構建LLM
#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

數據驅動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內容創意新穎性、情感共鳴力、商業轉化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費