75%預訓練數(shù)據(jù)都能刪!Jeff Dean新作:全自動篩除低質(zhì)量數(shù)據(jù)
機器學習領域有一條鐵律,「Garbage In, Garbage Out.」,就是說模型的質(zhì)量很大程度上取決于訓練數(shù)據(jù)的質(zhì)量。
大模型在預訓練階段會吸收海量的數(shù)據(jù),其中數(shù)據(jù)的來源非常雜,導致質(zhì)量參差不齊。
大量的實驗和經(jīng)驗已經(jīng)證明了,對預訓練數(shù)據(jù)進行質(zhì)量篩選是提高模型能力和效率的關鍵。
常規(guī)做法是直接人工篩選數(shù)據(jù)源,或是對不同數(shù)據(jù)源編寫啟發(fā)式規(guī)則篩選出高質(zhì)量數(shù)據(jù),再手動調(diào)整,工作量非常大。
隨著合成數(shù)據(jù)的盛行,把一些偏差、重復、質(zhì)量低下的數(shù)據(jù)都加入到預訓練數(shù)據(jù)集中,進一步擾亂了模型的性能分析。
最近,Google DeepMind的研究人員發(fā)布了一個數(shù)據(jù)質(zhì)量評估框架DataRater,可用于估計任意數(shù)據(jù)對最終訓練效果的價值,即數(shù)據(jù)質(zhì)量。

論文鏈接:https://arxiv.org/pdf/2505.17895
DataRater的核心思路是使用「元學習」來自動學習篩選或混合數(shù)據(jù)流的標準,以一種數(shù)據(jù)驅(qū)動的方式,讓數(shù)據(jù)展現(xiàn)出本身的價值。
指定訓練目標(提高在保留數(shù)據(jù)上的訓練效率、更小的驗證損失值)后,DataRater使用元梯度(根據(jù)數(shù)據(jù)與性能之間的聯(lián)系進行計算)進行訓練,可以極大減少訓練計算量以匹配性能,提升樣本效率,高效地篩選出低質(zhì)量訓練數(shù)據(jù)集。
實驗表明,經(jīng)過DataRater篩選的數(shù)據(jù)大幅減少了訓練所需的浮點運算次數(shù)(最高可達46.6%的凈計算收益),并且可以提高跨多種預訓練語料庫(例如,Pile、C4/noclean)語言模型的最終性能。
在性能分析上,DataRater也能夠?qū)W會識別并降低「符合人類對低質(zhì)量數(shù)據(jù)直覺」的數(shù)據(jù)權(quán)重,比如文本編碼錯誤、OCR錯誤或者無關內(nèi)容等。
最重要的是,使用固定規(guī)模內(nèi)部模型(4億參數(shù))進行元訓練的DataRater模型,能夠有效地將其學到的數(shù)據(jù)估值策略泛化,以對更大規(guī)模模型(5000萬到10億參數(shù))的訓練也同樣有效,并且最佳數(shù)據(jù)丟棄比例也是一致的。
數(shù)據(jù)質(zhì)量評估器DataRater
過濾問題
假設我們的訓練目標是開發(fā)一個預測器,可以根據(jù)輸入數(shù)據(jù)做出預測,對于大語言模型來說,輸入數(shù)據(jù)是一組token序列,比如一段文本。
構(gòu)造訓練集后,需要定義一個「損失函數(shù)」來衡量其在該數(shù)據(jù)集上預測的準確性;
在另一個不同分布的測試集上,可能需要定義一個新的損失函數(shù)來評估其性能。
學習算法會從訓練集中隨機選取一批數(shù)據(jù),然后根據(jù)這些數(shù)據(jù)來更新模型參數(shù),經(jīng)過多次迭代后,模型參數(shù)最終確定下來。
模型在該測試集上的表現(xiàn),可以用來衡量算法性能。
過濾過程的目標是從訓練集中找到最合適的子集,使得最終模型在測試集上的誤差最小。
因為學習算法通常無法找到最優(yōu)的參數(shù),所以在精心挑選的數(shù)據(jù)子集上訓練速度會更快。
DataRater算法
研究人員采用了一種連續(xù)的松弛方法,用三步來選擇要保留哪些數(shù)據(jù):

1. 在每一步的梯度計算中,決定哪些數(shù)據(jù)點要包括進去,類似于給每個數(shù)據(jù)點分配一個「重要性」權(quán)重;
2. 將「重要性」權(quán)重從二進制(選/不選)變?yōu)檫B續(xù)的值(范圍從0到1),可以用來做梯度加權(quán),同時確保每個批次中所有權(quán)重的總和為1,以保持梯度的規(guī)模不變。
3. 用一個評分函數(shù)來表示權(quán)重,無需為每個數(shù)據(jù)點單獨列出一個權(quán)重,其中評分函數(shù)會根據(jù)每個數(shù)據(jù)點的價值來給出一個分數(shù),然后通過softmax函數(shù)將分數(shù)轉(zhuǎn)化為歸一化的權(quán)重。
在每一步,DataRater會從訓練集中隨機選取一批數(shù)據(jù),然后根據(jù)數(shù)據(jù)的權(quán)重來更新模型的參數(shù),最終可以得到一個參數(shù)向量。
為了優(yōu)化過濾算法,算法的目標是找到一個評分函數(shù)的參數(shù),使得最終模型在測試集上的預期誤差最小。

元優(yōu)化
研究人員采用元梯度方法,通過隨機梯度法來大致優(yōu)化參數(shù):
計算損失函數(shù)(外層損失,outer loss)相對于參數(shù)的梯度,其梯度通過反向傳播經(jīng)過多次針對模型參數(shù)的優(yōu)化更新(內(nèi)層損失,inner loss)來計算。
元學習目標:假設訓練數(shù)據(jù)集和測試數(shù)據(jù)集具有相同的分布,DataRater算法無需針對某個特定的下游任務進行優(yōu)化,只需要最大化給定數(shù)據(jù)集的訓練效率。
數(shù)據(jù)評估的外層損失所依據(jù)的「保留數(shù)據(jù)」是「輸入訓練數(shù)據(jù)的一個不相交的子集」,其目標是「生成給定原始數(shù)據(jù)集的一個精選變體」,實現(xiàn)更快的學習效率。
內(nèi)層和外層損失具有相同的函數(shù)形式,即針對下一個token預測的交叉熵損失。
研究人員使用non-causal Transformer來實現(xiàn)DataRater模型,基于元梯度下降法來優(yōu)化其參數(shù)。
實驗結(jié)果
為了評估DataRater在構(gòu)造數(shù)據(jù)集方面的有效性,研究人員用三步方法進行評估:
1. 為指定輸入數(shù)據(jù)集「元學習」出一個數(shù)據(jù)評分模型(DataRater);
2. 使用訓練好的數(shù)據(jù)評分模型來構(gòu)造測試集;
3. 從隨機初始化開始,在構(gòu)造的數(shù)據(jù)集上訓練不同規(guī)模(5000萬、1.5億、4億和10億參數(shù))的語言模型,隨后評估其性能。
語言模型和DataRater模型都基于Chinchilla架構(gòu),模型從隨機初始化開始訓練,遵循Chinchilla的訓練協(xié)議和token預算。
研究人員在C4、C4/noclean和Pile驗證集以及英文維基百科上測量負對數(shù)似然(NLL)值,在HellaSwag、SIQA、PIQA、ARC Easy和Commonsense QA下游任務上測量準確率。

達到10億參數(shù)模型基線性能所需的計算量的比例,以在DataRater模型篩選后的數(shù)據(jù)集上達到最終基線性能所需的訓練步數(shù)為指標
DataRater模型能否加速學習?
對于像Pile和C4/noclean這樣質(zhì)量較差的數(shù)據(jù)集,節(jié)省了大量的浮點運算(FLOPS)。
對于10億參數(shù)的模型,下圖展現(xiàn)了使用DataRater模型相比基線訓練節(jié)省的計算量,包含了數(shù)據(jù)篩選過程的計算開銷。

10億參數(shù)模型訓練過程中的性能指標
結(jié)果表明,使用數(shù)據(jù)評分模型篩選后的數(shù)據(jù)集不僅加快了學習速度,還能提高模型的最終性能。
元訓練一個DataRater模型大約需要訓練一個單個10億參數(shù)的大型語言模型(LLM)所需的58.4%的浮點運算。
不過,DataRater模型篩選后的數(shù)據(jù)集可以用于訓練更大規(guī)模的模型,可以分攤訓練成本。
應該移除多少數(shù)據(jù)?
為了確定每個數(shù)據(jù)集的最佳丟棄比例,研究人員測試了5種候選丟棄比例(10%、25%、50%、75%和90%),使用最小的模型(5000萬參數(shù)),并選擇了在驗證集上負對數(shù)似然(NLL)表現(xiàn)最佳的丟棄比例。

結(jié)果顯示,使用最小尺寸模型是足夠的,因為最佳丟棄比例在不同模型大小之間是共享的。
最優(yōu)值取決于底層數(shù)據(jù)的質(zhì)量:對于C4,丟棄10%;對于C4/noclean,丟棄50%;對于Pile,丟棄75%
DataRater是否穩(wěn)健?
研究人員為每個數(shù)據(jù)集訓練了一個數(shù)據(jù)評分模型,內(nèi)部模型尺寸固定為4億參數(shù)。
DataRater模型能夠跨模型規(guī)模泛化:在對3個輸入數(shù)據(jù)集、4種模型規(guī)模和7種指標的實驗中,73/84個實驗都展現(xiàn)出了性能提升。

對于質(zhì)量較低的數(shù)據(jù)集,如C4/noclean和Pile,在NLL指標和HellaSwag任務上,性能提升在不同尺寸模型上是一致的,但在下游評估中的差異則更多。
DataRater模型學到了什么?
DataRater可以為不同的數(shù)據(jù)子集分配細致的評分,左長尾效應代表了「在很低丟棄比例下也仍然應該被丟棄的數(shù)據(jù)點」。

隨著丟棄比例的增加,DataRater模型還學會了在混合層面上重新加權(quán)數(shù)據(jù)。
DataRater模型能夠識別低質(zhì)量的數(shù)據(jù),比如Pile數(shù)據(jù)集上被分配低評分的樣本往往是低質(zhì)量的。

上圖顯示的例子中,錯誤的文本編碼、光學字符識別(OCR)錯誤、大量空白符、非打印字符、高熵文本(如數(shù)字或字符串數(shù)據(jù)的列表和表格)以及私有SSH密鑰、全大寫的英文、多語言數(shù)據(jù)(Pile包含超過97%的英文數(shù)據(jù))等都被識別出來了。

































