Scaling Laws for Neural Language Models
Jan 2020
https://arxiv.org/abs/2001.08361
Jared Kaplan*, Sam McCandlish*, Tom Henighan, Tom B. Brown, Benjamin Chess, Rewon Child, Scott Gray, Alec Radford, Jeffrey Wu, Dario Amodei
[Johns Hopkins University, OpenAI]
我們研究了交叉熵?fù)p失下語言模型性能的經(jīng)驗(yàn)縮放律。損失以冪律的形式隨模型大小、數(shù)據(jù)集大小和用于訓(xùn)練的計(jì)算量而縮放,有些趨勢跨越了七個(gè)數(shù)量級(jí)以上。網(wǎng)絡(luò)寬度或深度等其他架構(gòu)細(xì)節(jié)在大范圍內(nèi)影響最小。簡單方程控制過擬合對(duì)模型/數(shù)據(jù)集大小的依賴性以及訓(xùn)練速度對(duì)模型大小的依賴。這些關(guān)系允許我們確定固定計(jì)算預(yù)算的最佳分配。較大的模型明顯更具采樣效率,因此最優(yōu)計(jì)算效率訓(xùn)練涉及在相對(duì)少量的數(shù)據(jù)上訓(xùn)練非常大的模型,并在收斂之前顯著停止。
1簡介
語言為人工智能的研究提供了一個(gè)自然的領(lǐng)域,因?yàn)榻^大多數(shù)推理任務(wù)都可以用語言有效地表達(dá)和評(píng)估,而世界文本通過生成建模為無監(jiān)督學(xué)習(xí)提供了豐富的數(shù)據(jù)。深度學(xué)習(xí)最近在語言建模方面取得了快速進(jìn)展,最先進(jìn)的模型[RNSS18、DCLT18、YDY+19、LOG+19、RSR+19]在許多特定任務(wù)上接近人類水平的表現(xiàn)[WPN+19],包括連貫的多段圖提示文本樣本的合成[RWC+19]。
人們可能會(huì)期望語言建模性能取決于模型架構(gòu)、神經(jīng)模型的大小、用于訓(xùn)練它們的計(jì)算能力以及用于訓(xùn)練過程的數(shù)據(jù)。在這項(xiàng)工作中,我們將實(shí)證研究語言建模損失對(duì)所有這些因素的依賴性,重點(diǎn)關(guān)注Transformer架構(gòu)[VSP+17,LSP+18]。語言任務(wù)表現(xiàn)的高上限和低下限使我們能夠研究超過七個(gè)數(shù)量級(jí)的趨勢。在整個(gè)過程中,我們將觀察作為訓(xùn)練時(shí)間、上下文長度、數(shù)據(jù)集大小、模型大小和計(jì)算預(yù)算的函數(shù)的性能的精確冪律縮放。
1.1概述
我們對(duì)Transformer語言模型的主要發(fā)現(xiàn)如下:
圖1隨著模型大小、數(shù)據(jù)集大小和用于訓(xùn)練的計(jì)算機(jī)數(shù)量的增加,語言建模性能得到了平穩(wěn)的提高2。為了獲得最佳性能,必須同時(shí)放大所有三個(gè)因素。當(dāng)不受其他兩個(gè)因素的制約時(shí),經(jīng)驗(yàn)表現(xiàn)與每個(gè)單獨(dú)的因素都有冪律關(guān)系。
性能強(qiáng)烈依賴于規(guī)模,弱依賴于模型形狀:模型性能最強(qiáng)烈地依賴于規(guī)模。規(guī)模由三個(gè)因素組成:模型參數(shù)的數(shù)量N(不包括嵌入)、數(shù)據(jù)集的大小D和用于訓(xùn)練的計(jì)算量C。在合理的范圍內(nèi),性能對(duì)其他架構(gòu)超參數(shù)(如深度與寬度)的依賴性非常弱。(第3節(jié))
平滑冪律:
性能與三個(gè)比例因子N、D、C中的每一個(gè)都有冪律關(guān)系,而不受其他兩個(gè)比例因子的制約,趨勢跨越六個(gè)數(shù)量級(jí)以上(見圖1)。我們?cè)诟叨耸袌鰶]有觀察到偏離這些趨勢的跡象,盡管在達(dá)到零虧損之前,業(yè)績必須最終趨于平穩(wěn)。(第3節(jié))
過度擬合的普遍性:
只要我們同時(shí)擴(kuò)大N和D,性能就會(huì)得到可預(yù)測的改善,但如果N或D保持不變,而另一個(gè)增加,則會(huì)進(jìn)入回報(bào)遞減的狀態(tài)。性能損失可預(yù)測地取決于比率N0.74/D,這意味著每次我們將模型大小增加8倍時(shí),我們只需要將數(shù)據(jù)增加大約5倍就可以避免損失。(第4節(jié))
訓(xùn)練的普遍性:
訓(xùn)練曲線遵循可預(yù)測的冪律,其參數(shù)大致與模型大小無關(guān)。通過推斷訓(xùn)練曲線的早期部分,我們可以大致預(yù)測如果我們訓(xùn)練更長時(shí)間會(huì)造成的損失。(第5節(jié))
傳輸性能隨測試性能而提高:
當(dāng)我們?cè)诰哂信c訓(xùn)練不同分布的文本上評(píng)估模型時(shí),結(jié)果與訓(xùn)練驗(yàn)證集上的結(jié)果強(qiáng)相關(guān),損失的偏移量大致恒定——換句話說,轉(zhuǎn)移到不同分布會(huì)帶來恒定的懲罰,但在其他方面會(huì)根據(jù)訓(xùn)練集的性能大致提高。(第3.2.2節(jié))
樣品效率:
大型模型比小型模型更具樣本效率,可以用更少的優(yōu)化步驟(圖2)和更少的數(shù)據(jù)點(diǎn)(圖4)達(dá)到相同的性能水平。
收斂效率低下:
當(dāng)在固定的計(jì)算預(yù)算C內(nèi)工作,但對(duì)模型大小N或可用數(shù)據(jù)D沒有任何其他限制時(shí),我們通過訓(xùn)練非常大的模型并在顯著不足收斂的情況下停止來獲得最佳性能(見圖3)。因此,最大計(jì)算效率的訓(xùn)練將比基于訓(xùn)練小模型以收斂的預(yù)期更具樣本效率,數(shù)據(jù)需求隨著訓(xùn)練計(jì)算的D~C 0.27增長非常緩慢。(第6節(jié))
最佳批量大小:
訓(xùn)練這些模型的理想批量大小大致僅為損失的冪,并且可以通過測量梯度噪聲標(biāo)度來確定[MKT18];對(duì)于我們可以訓(xùn)練的最大模型,大約有100-200萬個(gè)token處于收斂狀態(tài)。(第5.1節(jié))
總之,這些結(jié)果表明,當(dāng)我們適當(dāng)?shù)財(cái)U(kuò)大模型大小、數(shù)據(jù)和計(jì)算時(shí),語言建模性能會(huì)得到平滑和可預(yù)測的提高。我們預(yù)計(jì),較大的語言模型將比當(dāng)前模型表現(xiàn)更好,樣本效率更高。
圖2我們展示了一系列語言模型訓(xùn)練運(yùn)行,模型的大小從103到109個(gè)參數(shù)不等(不包括嵌入)。
圖3隨著越來越多的計(jì)算可用,我們可以選擇分配多少來訓(xùn)練更大的模型、使用更大的批次和訓(xùn)練更多的步驟。我們用10億倍的計(jì)算量來說明這一點(diǎn)。為了優(yōu)化計(jì)算效率的訓(xùn)練,大部分增加應(yīng)該用于增加模型大小。需要相對(duì)較小的數(shù)據(jù)增量來避免重復(fù)使用。在數(shù)據(jù)的增加中,大多數(shù)都可以用于通過更大的批量來提高并行性,只需要很小的串行訓(xùn)練時(shí)間增加。
1.2縮放律概述
當(dāng)性能僅受非嵌入?yún)?shù)數(shù)量N、數(shù)據(jù)集大小D或最佳分配的計(jì)算預(yù)算Cmin的限制時(shí),可以使用冪律來預(yù)測訓(xùn)練為自回歸模型語言的Transformer的測試損失(見圖1):
1.對(duì)于參數(shù)數(shù)量有限的模型,在足夠大的數(shù)據(jù)集上進(jìn)行收斂訓(xùn)練:
2.對(duì)于使用具有早期停止的有限數(shù)據(jù)集訓(xùn)練的大型模型:
3.當(dāng)使用有限的計(jì)算量、足夠大的數(shù)據(jù)集、最優(yōu)大小的模型和足夠小的批量進(jìn)行訓(xùn)練時(shí)(優(yōu)化3使用計(jì)算):
圖4左圖:根據(jù)方程(1.5),早期停止測試損失L(N,D)隨數(shù)據(jù)集大小D和模型大小N而變化,這是可預(yù)測的。右圖:在初始過渡期之后,所有模型大小N的學(xué)習(xí)曲線都可以用方程(1.6)擬合,該方程是根據(jù)Smin參數(shù)化的,Smin是大批量訓(xùn)練時(shí)的步驟數(shù)(詳見第5.1節(jié))。
這些關(guān)系在Cmin中保持8個(gè)數(shù)量級(jí),在N中保持6個(gè)數(shù)量級(jí)。在D中保持2個(gè)數(shù)量級(jí)以上。它們非常弱地依賴于模型形狀和其他Transformer超參數(shù)(深度、寬度、自注意頭的數(shù)量),特定數(shù)值與Webtext2訓(xùn)練集[RWC+19]相關(guān)。冪律αN、αD、αmin C規(guī)定了當(dāng)我們放大N、D或Cmin時(shí)預(yù)期的性能改進(jìn)程度;例如,將參數(shù)數(shù)量增加一倍會(huì)產(chǎn)生一個(gè)損失,該損失要小2倍-αN=0.95。Nc、Cmin c和Dc的精確數(shù)值取決于詞匯大小和token化,因此沒有基本意義。決定數(shù)據(jù)并行性的速度/效率折衷的臨界批大?。╗MKAT18])也大致遵循L中的冪律:
方程(1.1)和(1.2)一起表明,隨著模型大小的增加,我們應(yīng)該根據(jù)D∞NαNαD~N0.74亞線性地增加數(shù)據(jù)集大小。事實(shí)上,我們發(fā)現(xiàn)有一個(gè)結(jié)合了(1.1)和(1.2)的單一方程,它控制了對(duì)N和D的同時(shí)依賴性,并控制了過擬合的程度:
如圖4左側(cè)所示。我們推測,這種函數(shù)形式也可能將其他生成建模任務(wù)的訓(xùn)練對(duì)數(shù)似然性參數(shù)化。當(dāng)在無限數(shù)據(jù)限制中為有限數(shù)量的參數(shù)更新步驟S訓(xùn)練給定模型時(shí),在初始過渡期之后,學(xué)習(xí)曲線可以通過精確擬合(見圖4右側(cè))
其中,Sc≈2.1×103,αS≈0.76,Smin(S)是使用方程(5.4)估計(jì)的優(yōu)化步驟(參數(shù)更新)的最小可能數(shù)量。當(dāng)在固定計(jì)算預(yù)算C內(nèi)進(jìn)行訓(xùn)練,但沒有其他約束時(shí),方程(1.6)預(yù)測最佳模型大小N、最佳批處理大小B、最佳步驟數(shù)S和數(shù)據(jù)集大小D應(yīng)隨著
具有
這與經(jīng)驗(yàn)最優(yōu)結(jié)果N∞C 0.73min、B∞C 0.24min和S∞C 0.03min非常吻合。隨著計(jì)算預(yù)算C的增加,它應(yīng)該主要用于更大的模型,而不會(huì)顯著增加訓(xùn)練時(shí)間或數(shù)據(jù)集大?。ㄒ妶D3)。這也意味著,隨著模型越來越大,它們的樣本效率也越來越高。在實(shí)踐中,由于硬件限制,研究人員通常訓(xùn)練較小的模型的時(shí)間比最大計(jì)算效率要長。最佳性能取決于作為冪律的總計(jì)算(見等式(1.3))。
我們?yōu)榉匠蹋?.5)提供了一些基本的理論動(dòng)機(jī),分析了學(xué)習(xí)曲線擬合及其對(duì)訓(xùn)練時(shí)間的影響,并對(duì)我們的每個(gè)tokens的結(jié)果進(jìn)行了細(xì)分。我們還對(duì)LSTM和經(jīng)常性Transformer[DGV+18]進(jìn)行了一些簡短的比較。
1.3符號(hào)
我們使用以下符號(hào):
?L——nats中的交叉熵?fù)p失。通常,它將在上下文中對(duì)tokens進(jìn)行平均,但在某些情況下,我們會(huì)報(bào)告上下文中特定tokens的損失。
?N–模型參數(shù)的數(shù)量,不包括所有詞匯和位置嵌入
?C≈6NBS–總非嵌入訓(xùn)練計(jì)算的估計(jì)值,其中B是批量大小,S是訓(xùn)練步驟數(shù)(即參數(shù)更新)。我們引用PF天數(shù)的數(shù)值,其中一個(gè)PF天數(shù)=1015×24×3600=8.64×1019浮點(diǎn)運(yùn)算。
?D–數(shù)據(jù)集大?。ㄒ詔okens為單位)
?Bcrit–臨界批量[MKAT18],在第5.1節(jié)中定義和討論。在臨界批量大小下的訓(xùn)練提供了時(shí)間和計(jì)算效率之間的大致最優(yōu)折衷。
?Cmin——達(dá)到給定損失值的最小非嵌入計(jì)算量的估計(jì)值。這是如果在比臨界批量小得多的批量大小下訓(xùn)練模型時(shí)將使用的訓(xùn)練計(jì)算。
?Smin——達(dá)到給定損失值所需的最小訓(xùn)練步驟數(shù)的估計(jì)值。這也是如果在比臨界批量大得多的批量大小下訓(xùn)練模型,將使用的訓(xùn)練步驟的數(shù)量。
?αX–損失標(biāo)度的冪律指數(shù)為L(X)≈1/XαX,其中X可以是N、D、C、S、B、Cmin中的任何一個(gè)。
2背景和方法
我們?cè)赪ebText2上訓(xùn)練語言模型,WebText2是WebText[RWC+19]數(shù)據(jù)集的擴(kuò)展版本,使用字節(jié)對(duì)編碼[SHB15]進(jìn)行token,詞匯大小nvocab=50257。我們優(yōu)化了在1024個(gè)tokens上下文上平均的自回歸對(duì)數(shù)似然性(即交叉熵?fù)p失),這也是我們的主要性能指標(biāo)。我們?cè)赪ebText2測試分發(fā)版和其他一些文本分發(fā)版中記錄了損失。我們主要訓(xùn)練僅解碼器[LSP+18,RNSS18]Transformer[VSP+17]模型,盡管我們也訓(xùn)練LSTM模型和通用Transformer[DGV+18]進(jìn)行比較。
2.1Transformer的參數(shù)和計(jì)算比例
我們使用超參數(shù)nlayer(層數(shù))、dmodel(殘差流的維度)、dff(中間前饋層的維度),dattn(注意力輸出的維度)和nhead(每層注意力頭的數(shù)量)來參數(shù)化Transformer架構(gòu)。我們?cè)谳斎肷舷挛闹邪╪ctxtokens,除非另有說明,否則nctx=1024。
我們使用N來表示模型大小,我們將其定義為非嵌入?yún)?shù)的數(shù)量
我們排除了偏見和其他次要術(shù)語。我們的模型在嵌入矩陣中也有nvocabdmodel參數(shù),并使用nctxdmodel參數(shù)進(jìn)行位置嵌入,但在討論“模型大小”N時(shí),我們不包括這些參數(shù);我們將看到,這會(huì)產(chǎn)生明顯更清潔的縮放律。
評(píng)估Transformer的正向通過大致包括
加法-乘法運(yùn)算,其中2的因子來自矩陣乘法中使用的乘法-累加運(yùn)算。表1中包含了更詳細(xì)的每個(gè)操作參數(shù)和計(jì)算計(jì)數(shù)。
表1Transformer模型的參數(shù)計(jì)數(shù)和計(jì)算(正向通過)估計(jì)。省略了諸如非線性、偏差和層歸一化之類的子引導(dǎo)項(xiàng)。對(duì)于dmodel>nctx/12的上下文和模型,每個(gè)tokens的上下文相關(guān)計(jì)算成本在總計(jì)算中所占比例相對(duì)較小。由于我們主要研究dmodel>>nctx/12的模型,因此我們?cè)谟?xùn)練計(jì)算估計(jì)中不包括上下文相關(guān)項(xiàng)??紤]到向后傳遞(大約是向前傳遞計(jì)算的兩倍),我們將估計(jì)的非嵌入計(jì)算定義為每個(gè)訓(xùn)練tokens的C≈6N浮點(diǎn)運(yùn)算符。
2.2訓(xùn)練程序
除非另有說明,否則我們使用Adam優(yōu)化器[KB14]為固定的2.5×105個(gè)步驟訓(xùn)練模型,批量大小為512個(gè)1024個(gè)tokens序列。由于內(nèi)存限制,我們最大的模型(超過1B個(gè)參數(shù))是用Adafactor[SS18]訓(xùn)練的。我們?cè)囼?yàn)了各種學(xué)習(xí)率和時(shí)間表,如附錄D.6所述。我們發(fā)現(xiàn),收斂的結(jié)果在很大程度上與學(xué)習(xí)進(jìn)度無關(guān)。除非另有說明,否則我們數(shù)據(jù)中包括的所有訓(xùn)練都使用了一個(gè)學(xué)習(xí)率計(jì)劃,其中包括3000步線性熱身,然后余弦衰減為零。
2.3數(shù)據(jù)集
我們?cè)赱RWC+19]中描述的WebText數(shù)據(jù)集的擴(kuò)展版本上訓(xùn)練我們的模型。最初的WebText數(shù)據(jù)集是從Reddit到2017年12月的出站鏈接的網(wǎng)絡(luò)片段,至少收到了3個(gè)因果報(bào)應(yīng)。在第二個(gè)版本W(wǎng)ebText2中,我們添加了2018年1月至10月期間的Reddit出站鏈接,也至少有3個(gè)因果報(bào)應(yīng)。因果報(bào)應(yīng)閾值作為一種啟發(fā)式方法,可以判斷人們是否覺得這種聯(lián)系有趣或有用。新鏈接的文本是用Newspaper3k python庫提取的??偟膩碚f,該數(shù)據(jù)集由203M個(gè)文檔組成,包含96GB的文本和1.62×1010個(gè)單詞(由wc定義)。然后,我們應(yīng)用[RWC+19]中描述的可逆token器,它產(chǎn)生2.29×1010個(gè)token。我們保留了6.6×108的這些token作為測試集,我們還測試了類似的圖書語料庫[ZKZ+15]、公共爬行[Fou]、英語維基百科和一系列公開的互聯(lián)網(wǎng)圖書。
3實(shí)證結(jié)果與基本冪律
為了表征語言模型的伸縮性,我們訓(xùn)練了各種各樣的模型,改變了許多因素,包括:
?模型大小(大小范圍從768到15億非嵌入?yún)?shù))
?數(shù)據(jù)集大?。◤?200萬到230億token不等)
?形狀(包括深度、寬度、注意力頭和前饋尺寸)
?上下文長度(大多數(shù)跑步為1024,盡管我們也嘗試使用較短的上下文)
?批量大小(大多數(shù)運(yùn)行為2 19,但我們也會(huì)對(duì)其進(jìn)行更改以測量關(guān)鍵批量大?。?/p>
圖5當(dāng)非嵌入?yún)?shù)的總數(shù)N保持固定時(shí),性能非常溫和地取決于模型形狀。在各種形狀的情況下,損耗變化僅為百分之幾。通過使用對(duì)L(N)的擬合作為基線來補(bǔ)償參數(shù)計(jì)數(shù)中的小差異??v橫比尤其可以變化40倍,同時(shí)僅輕微影響性能;(nlayer,dmodel)=(64288)的損失在[RWC+19]中使用的(481600)模型的3%以內(nèi)。
圖6左圖:當(dāng)我們包括嵌入?yún)?shù)時(shí),性能似乎在很大程度上取決于層的數(shù)量以及參數(shù)的數(shù)量。右圖:當(dāng)我們排除嵌入?yún)?shù)時(shí),具有不同深度的模型的性能收斂于單一趨勢。只有層數(shù)少于2層或深度與寬度之比極端的模型才顯著偏離趨勢。在本節(jié)中,我們將顯示數(shù)據(jù)以及基于經(jīng)驗(yàn)的擬合,將理論分析推遲到后面的部分。
3.1近似Transformer形狀和超參數(shù)獨(dú)立性
當(dāng)我們固定總的非嵌入?yún)?shù)計(jì)數(shù)N時(shí),轉(zhuǎn)換器性能對(duì)形狀參數(shù)nlayer、nhead和dff的依賴性非常弱。為了建立這些結(jié)果,我們?cè)诟淖儐蝹€(gè)超參數(shù)的同時(shí)訓(xùn)練了具有固定大小的模型。這對(duì)于nhead來說是最簡單的。當(dāng)改變N層時(shí),我們同時(shí)改變了d模型,同時(shí)保持N≈12n層2模型不變。類似地,為了在固定的模型大小下改變dff,我們還根據(jù)表1中的參數(shù)計(jì)數(shù)的要求,同時(shí)改變了dmodel參數(shù)。如果較深的變形金剛有效地表現(xiàn)為較淺模型的集合,那么nlayer的獨(dú)立性將隨之而來,正如ResNets[VWB16]所建議的那樣。結(jié)果如圖5所示。
3.2非嵌入?yún)?shù)計(jì)數(shù)為N的性能
在圖6中,我們顯示了各種模型的性能,從形狀(nlayer,dmodel)=(2128)的小模型到形狀從(64288)到(207768)的十億參數(shù)模型。在這里,我們已經(jīng)在完整的WebText2數(shù)據(jù)集上訓(xùn)練到接近收斂,并且沒有觀察到過擬合(可能除了最大的模型)。如圖1所示,我們發(fā)現(xiàn)非嵌入?yún)?shù)計(jì)數(shù)為N的穩(wěn)定趨勢,該趨勢可以擬合到方程(1.5)的第一項(xiàng),因此
為了觀察這些趨勢,研究作為N函數(shù)的性能是至關(guān)重要的;如果我們使用總參數(shù)計(jì)數(shù)(包括嵌入?yún)?shù)),則趨勢會(huì)有些模糊(見圖6)。這表明可以在不影響性能的情況下縮小嵌入矩陣,正如最近的工作[LCG+19]中所看到的那樣。盡管這些模型是在WebText2數(shù)據(jù)集上訓(xùn)練的,但它們?cè)诟鞣N其他數(shù)據(jù)集上的測試損失也是N中的冪律,冪幾乎相同,如圖8所示。
3.2.1與LSTM和通用Transformer的比較
在圖7中,我們將LSTM和Transformer性能作為非嵌入?yún)?shù)計(jì)數(shù)N的函數(shù)進(jìn)行了比較。LSTM使用相同的數(shù)據(jù)集和上下文長度進(jìn)行訓(xùn)練。我們從這些圖中看到,對(duì)于上下文中早期出現(xiàn)的tokens,LSTM的性能與Transformer一樣好,但對(duì)于后期的tokens,不能與Transformer的性能相匹配。我們提出了性能和上下文位置之間的冪律關(guān)系附錄D.5,其中較大模型的冪越大,表明快速識(shí)別模式的能力越強(qiáng)。
我們還將附錄中圖17中的標(biāo)準(zhǔn)Transformer與常規(guī)Transformer[DGV+18]的性能進(jìn)行了比較。這些模型重復(fù)使用參數(shù),因此作為N的函數(shù),性能稍好,但每個(gè)參數(shù)需要額外的計(jì)算。
3.2.2數(shù)據(jù)分布的泛化
我們還在一組額外的文本數(shù)據(jù)分布上測試了我們的模型。這些數(shù)據(jù)集上的測試損失作為模型大小的函數(shù)如圖8所示;在所有情況下,模型僅在WebText2數(shù)據(jù)集上進(jìn)行訓(xùn)練。我們看到,這些其他數(shù)據(jù)分布的損失隨著模型大小的增加而順利改善,與WebText2的改進(jìn)直接平行。我們發(fā)現(xiàn),泛化幾乎完全取決于分布內(nèi)驗(yàn)證損失,而不取決于訓(xùn)練的持續(xù)時(shí)間或收斂的接近程度。我們還觀察到與模型深度無關(guān)(見附錄D.8)。
3.3數(shù)據(jù)集大小和計(jì)算的性能
我們?cè)趫D1中顯示了測試損失的經(jīng)驗(yàn)趨勢,作為數(shù)據(jù)集大小D(以tokens為單位)和訓(xùn)練計(jì)算C的函數(shù)。
對(duì)于D的趨勢,我們?cè)赪ebText2數(shù)據(jù)集的固定子集上訓(xùn)練了一個(gè)(nlayer,nembd)=(361280)的模型。一旦測試損失停止減少,我們就停止了訓(xùn)練。我們看到,由此產(chǎn)生的測試損失可以用簡單的冪律擬合
數(shù)據(jù)集大小。數(shù)據(jù)和擬合如圖1所示。
訓(xùn)練期間使用的非嵌入計(jì)算的總量可以估計(jì)為C=6NBS,其中B是批量大小,S是參數(shù)更新的次數(shù),并且因子6考慮了前向和后向傳遞。因此,對(duì)于給定的C值,我們可以掃描具有不同N的所有模型來找到模型
圖8左圖:其他數(shù)據(jù)分布的泛化性能隨著模型大小的增加而順利提高,與WebText2訓(xùn)練分布相比,只有一個(gè)很小且增長非常緩慢的偏移。右:泛化性能僅取決于訓(xùn)練分配性能,而不取決于訓(xùn)練階段。我們將收斂模型(點(diǎn))的泛化與單個(gè)大型模型(虛線)的泛化進(jìn)行比較。在步驟S=C6BS上具有最佳性能。注意,在這些結(jié)果中,所有模型的批量大小B保持不變,這意味著這些經(jīng)驗(yàn)結(jié)果并不是真正的最優(yōu)結(jié)果。我們將在后面的章節(jié)中使用調(diào)整后的Cmin來解釋這一點(diǎn),以產(chǎn)生更清潔的趨勢。結(jié)果顯示為圖1中左側(cè)圖上的粗黑線。它可以與
該圖還包括個(gè)體學(xué)習(xí)曲線的圖像,以澄清何時(shí)個(gè)體模型是最優(yōu)的。我們稍后將更深入地研究計(jì)算的最佳分配。數(shù)據(jù)有力地表明,樣本效率隨著模型大小的增加而提高,我們也在附錄中的圖19中直接說明了這一點(diǎn)。
4繪制無限數(shù)據(jù)限制和過度擬合
在第3節(jié)中,我們發(fā)現(xiàn)了語言建模性能的一些基本縮放律。在這里,我們將研究在具有Dtokens的數(shù)據(jù)集上訓(xùn)練的大小為N的模型的性能,同時(shí)改變N和D。我們將根據(jù)經(jīng)驗(yàn)證明,最佳訓(xùn)練的測試損失符合方程(1.5)的縮放律。這為我們?cè)诳刂七^擬合的同時(shí)訓(xùn)練不斷增加的模型需要多少數(shù)據(jù)提供了指導(dǎo)。
4.1擬定的L(N,D)方程
我們選擇了參數(shù)化(1.5)(為了方便起見,在此重復(fù)):
使用三個(gè)原則:
1.詞匯大小或token化的變化預(yù)計(jì)會(huì)通過一個(gè)整體因素重新調(diào)整損失。L(N,D)的參數(shù)化(以及損失的所有模型)必須自然地允許這樣的重新縮放。
2.固定D并發(fā)送N→ ∞, 總損失應(yīng)該接近L(D)。相反,固定N并發(fā)送D→ ∞ 損失必須接近L(N)。
3.L(N,D)在D=∞時(shí)應(yīng)該是解析的,因此它在1/D上具有整數(shù)冪級(jí)數(shù)展開。對(duì)這一原則的理論支持明顯弱于前兩個(gè)原則。
我們對(duì)L(N,D)的選擇滿足了第一個(gè)要求,因?yàn)槲覀兛梢噪S著詞匯表的變化重新縮放Nc,Dc。這也意味著Nc、Dc的值沒有根本意義。
圖9根據(jù)方程(1.5),早期停止測試損失L(N,D)可預(yù)測地取決于數(shù)據(jù)集大小D和模型大小N。左圖:對(duì)于較大的D,性能是N的直冪律。對(duì)于較小的固定D,性能隨著N的增加而停止改善,模型開始過擬合。(反之亦然,見圖4。)右:過擬合的程度主要取決于方程(4.3)中預(yù)測的比值NαNαD/D。這條線是我們對(duì)該方程的擬合。
由于當(dāng)測試損失停止以相同的方式改進(jìn)和優(yōu)化所有模型時(shí),我們會(huì)提前停止訓(xùn)練,因此我們預(yù)計(jì)較大的模型應(yīng)該總是比較小的模型表現(xiàn)更好。但對(duì)于固定的有限D(zhuǎn),我們也不期望任何模型能夠接近最佳可能損失(即文本的熵)。同樣,具有固定尺寸的模型將受到容量限制。這些考慮激發(fā)了我們的第二條原則。注意,L(N)在無窮大D和L(D)在無窮大N的知識(shí)完全確定了L(N,D)中的所有參數(shù)。
第三個(gè)原則更具推測性。有一個(gè)簡單而普遍的原因,人們可能會(huì)期望過擬合在非常大的D下按比例縮放?1/D。過擬合應(yīng)該與數(shù)據(jù)集的方差或信噪比有關(guān)[AS17],這按比例縮放為1/D。這個(gè)期望應(yīng)該適用于任何光滑損失函數(shù),因?yàn)槲覀兤谕軌驍U(kuò)展D的損失→ ∞ 限度然而,這一論點(diǎn)假設(shè)1/D校正優(yōu)于其他方差源,例如有限的批量大小和優(yōu)化效果的其他限制。如果沒有實(shí)證的證實(shí),我們就不會(huì)對(duì)其適用性充滿信心。
我們的第三個(gè)原理解釋了方程(1.5)中N和D的作用之間的不對(duì)稱性。非常相似的對(duì)稱表達(dá)式4是可能的,但它們不會(huì)有整數(shù)冪的1/D展開,并且需要引入額外的參數(shù)。
在任何情況下,我們都會(huì)看到我們的L(N,D)方程很好地?cái)M合了數(shù)據(jù),這是我們L(N,D)模擬的最重要的理由。
4.2結(jié)果
我們用10%的脫落率對(duì)所有模型進(jìn)行正則化,并通過跟蹤測試損失并在其不再減少時(shí)停止。結(jié)果如圖9所示,包括方程(1.5)中四個(gè)參數(shù)αN、αD、Nc、Dc的擬合:
我們獲得了極好的擬合,除了數(shù)據(jù)集減少了1024倍,達(dá)到約2×107個(gè)token的運(yùn)行之外。對(duì)于這樣一個(gè)小的數(shù)據(jù)集,一個(gè)epoch只包含40個(gè)參數(shù)更新。也許這樣一個(gè)微小的數(shù)據(jù)集代表了一種不同的語言建模機(jī)制,因?yàn)檫^擬合在訓(xùn)練的早期就發(fā)生了(見圖16)。還要注意,這些參數(shù)與第3節(jié)中獲得的參數(shù)略有不同,因?yàn)檫@里我們擬合的是完整的L(N,D),而不僅僅是L(N、∞)或L(∞,D)。
為了繪制無限數(shù)據(jù)極限的邊界,我們可以直接研究過擬合的程度。對(duì)于除最大模型外的所有模型,當(dāng)使用完整的22BtokensWebText2數(shù)據(jù)集進(jìn)行訓(xùn)練時(shí),我們沒有看到過擬合的跡象,因此我們可以將其作為D=∞的代表。因此,我們可以通過將有限D(zhuǎn)定義和研究為N,D的函數(shù)來將其與無限數(shù)據(jù)極限進(jìn)行比較。事實(shí)上,我們從經(jīng)驗(yàn)上看到,δL僅取決于N和D的特定組合,如圖16所示。這遵循方程(1.5)的縮放律,這意味著
圖10隨著性能的提高,臨界批量大小Bcrit在損失中遵循冪律,而不直接取決于模型大小。我們發(fā)現(xiàn),損失每減少13%,臨界批量大小就會(huì)增加一倍。Bcrit是根據(jù)圖18中所示的數(shù)據(jù)進(jìn)行經(jīng)驗(yàn)測量的,但它也可以通過梯度噪聲尺度進(jìn)行粗略預(yù)測,如[MKAT18]所示。
注意,在大D時(shí),這個(gè)公式也有1/D的冪級(jí)數(shù)展開。我們估計(jì),不同隨機(jī)種子的損失變化大約為0.02,這意味著當(dāng)訓(xùn)練到收斂閾值內(nèi)時(shí),為了避免過度擬合,我們需要
通過這種關(guān)系,小于109個(gè)參數(shù)的模型可以在22BtokensWebText2數(shù)據(jù)集上以最小的過擬合進(jìn)行訓(xùn)練,但我們最大的模型將遇到一些輕微的過擬合。更普遍地說,這種關(guān)系表明,數(shù)據(jù)集大小可以在模型大小中亞線性增長,同時(shí)避免過擬合。然而,請(qǐng)注意,這通常并不代表最大計(jì)算效率的訓(xùn)練。我們還應(yīng)該強(qiáng)調(diào),在改變數(shù)據(jù)集和模型大小的同時(shí),我們沒有優(yōu)化正則化(例如丟棄概率)。
5個(gè)具有模型大小和訓(xùn)練時(shí)間的縮放律
在本節(jié)中,我們將證明一個(gè)簡單的縮放律可以很好地描述作為模型大小N和訓(xùn)練時(shí)間函數(shù)的損失。首先,我們將解釋如何使用[MKT18]的結(jié)果來定義通用訓(xùn)練步驟Smin,這解釋了我們的大多數(shù)模型都沒有以最佳批量進(jìn)行訓(xùn)練的事實(shí)。然后,我們將證明,我們可以使用方程(1.6)擬合損失的模型大小和訓(xùn)練時(shí)間依賴性。稍后,我們將使用這些結(jié)果來預(yù)測模型大小和訓(xùn)練時(shí)間之間的訓(xùn)練計(jì)算的最佳分配,然后確認(rèn)該預(yù)測。
5.1 Bcrit訓(xùn)練調(diào)整(L)
[MKAT18]中開發(fā)了一個(gè)關(guān)于訓(xùn)練批量依賴性的簡單經(jīng)驗(yàn)理論(另見[SLA+18,ZLN+19])。有人認(rèn)為,訓(xùn)練有一個(gè)關(guān)鍵的批量大小Bcrit;對(duì)于B到Bcrit,可以在計(jì)算效率下降非常小的情況下增加批量大小,而對(duì)于B>Bcrit的情況,B的增加會(huì)導(dǎo)致回報(bào)遞減。也有人認(rèn)為,梯度噪聲尺度為Bcrit提供了一個(gè)簡單的預(yù)測,除了通過已經(jīng)獲得的損失值之外,兩者都不直接取決于模型大小。這些結(jié)果可用于預(yù)測訓(xùn)練時(shí)間和計(jì)算將如何隨批次大小而變化。為了盡可能有效地利用訓(xùn)練時(shí)間和計(jì)算,最好使用批量大小B≈Bcrit進(jìn)行訓(xùn)練。在B>>Bcrit中進(jìn)行訓(xùn)練可最大限度地減少訓(xùn)練步驟的數(shù)量,而B Bcrit可最大程度地減少計(jì)算的使用。
更具體地說,證明了對(duì)于各種各樣的神經(jīng)網(wǎng)絡(luò)任務(wù),訓(xùn)練步驟的數(shù)量S和處理的數(shù)據(jù)示例的數(shù)量E=BS滿足簡單關(guān)系
當(dāng)訓(xùn)練到損失L的任何固定值時(shí)。這里,Smin是達(dá)到L所需的最小步驟數(shù),而Emin是必須處理的最小數(shù)據(jù)示例數(shù)。我們?cè)诟戒浿姓故玖藞D18中Transformer的關(guān)系式(5.1)。此關(guān)系定義了關(guān)鍵批次大小
其是損失的目標(biāo)值的函數(shù)。在臨界批量大小下進(jìn)行訓(xùn)練可以實(shí)現(xiàn)大致最優(yōu)的時(shí)間/計(jì)算權(quán)衡,需要2分鐘的訓(xùn)練步驟和處理E=2分鐘的數(shù)據(jù)示例。
在圖10中,我們繪制了兩個(gè)不同模型的臨界批量大小和梯度噪聲標(biāo)度5作為訓(xùn)練損失的函數(shù)。我們看到Bcrit(L)與模型大小無關(guān),僅取決于損失L。因此[MKT18]的預(yù)測仍然適用于Transformer語言模型。臨界批量大小可以與損失中的冪律擬合
其中B*≈2×108和αB≈0.21。
我們?yōu)锽crit(L)選擇了這個(gè)參數(shù)化,因?yàn)殡S著損失接近其最小值Lmin,梯度噪聲尺度預(yù)計(jì)會(huì)發(fā)散,我們預(yù)計(jì)Bcrit會(huì)跟蹤這個(gè)噪聲尺度。我們不知道Lmin,因?yàn)槲覀儧]有看到我們的模型正在接近它的跡象,但Lmin>0,因?yàn)樽匀徽Z言的熵是非零的。由于Lmin顯然比我們獲得的L值小得多,我們使用了一個(gè)參數(shù)化,其中Bcrit發(fā)散為L→ 0
我們將使用Bcrit(L)來估計(jì)在批量大小B=219個(gè)tokens下訓(xùn)練時(shí)的訓(xùn)練步驟數(shù)S與在B>>Bcrit下訓(xùn)練時(shí)訓(xùn)練步驟數(shù)之間的關(guān)系。這很簡單
對(duì)于任何給定的損失目標(biāo)值L。如果我們以B Bcrit(L)進(jìn)行訓(xùn)練,這也定義了用大小為N的模型訓(xùn)練到L所需的計(jì)算的臨界值。這是
其中C=6NBS估計(jì)在批量大小B下使用的(非嵌入)計(jì)算。
5.2 L(N,Smin)和性能與模型大小和計(jì)算的結(jié)果
現(xiàn)在,我們將使用方程(5.4)中定義的Smin來獲得在無限數(shù)據(jù)限制下?lián)p失對(duì)模型大小和訓(xùn)練時(shí)間的依賴性的簡單而普遍的擬合。我們將使用方程(1.6)擬合穩(wěn)定的Adam優(yōu)化訓(xùn)練跑,為了方便起見,在此重復(fù):
損失。我們包括學(xué)習(xí)率時(shí)間表的熱身期后的所有訓(xùn)練步驟,并使用以下參數(shù)找到數(shù)據(jù)的擬合:
圖11當(dāng)我們固定總計(jì)算或訓(xùn)練步驟數(shù)時(shí),性能遵循方程(5.6)中的L(N,S)。計(jì)算預(yù)算的每個(gè)值都有一個(gè)相關(guān)的最佳模型大小,可以最大限度地提高性能。小S的中等擬合并不令人驚訝,因?yàn)閷W(xué)習(xí)曲線的冪律方程在訓(xùn)練初期就崩潰了。
使用這些參數(shù),我們獲得了圖4中的學(xué)習(xí)曲線擬合。盡管擬合并不完美,但考慮到方程(5.6)的簡單性,我們認(rèn)為它們非常有說服力。
數(shù)據(jù)和擬合可以用一種不同的、更有趣的方式進(jìn)行可視化,如圖11所示。在那里,我們研究了作為模型大小函數(shù)的測試損失,同時(shí)固定了訓(xùn)練中使用的總非嵌入計(jì)算C或步驟S的數(shù)量。對(duì)于擬合,我們使用方程(5.5)和(5.4)以及上述參數(shù)和方程(5.6)。
損失對(duì)Smin的冪律依賴性反映了優(yōu)化器動(dòng)力學(xué)和損失景觀的相互作用。由于擬合在訓(xùn)練后期是最好的,當(dāng)損失可能近似為二次方時(shí),功率線應(yīng)該提供關(guān)于損失的Hessian譜的信息。其普遍性表明,Hessian特征值密度大致與模型大小無關(guān)。
5.3提前停止步驟的下限
L(N,Smin)的結(jié)果可用于推導(dǎo)當(dāng)訓(xùn)練是數(shù)據(jù)受限時(shí)應(yīng)發(fā)生早期停止的步驟的下限(和粗略估計(jì))。它的動(dòng)機(jī)是,給定模型的有限和無限D(zhuǎn)學(xué)習(xí)曲線將非常相似,直到我們達(dá)到Smin≈Sstop。因此,過擬合應(yīng)該與在Sstop簡單結(jié)束訓(xùn)練的校正成比例。這將低估Sstop,因?yàn)槭聦?shí)上,當(dāng)我們有一個(gè)有限的D時(shí),測試損失會(huì)減少得更慢,因此我們需要更多的訓(xùn)練步驟才能在有限的D下達(dá)到最佳測試損失。這一推理導(dǎo)致了不等式
其中L(N,∞)是收斂損失,用無限可用數(shù)據(jù)進(jìn)行評(píng)估。該不等式及其與經(jīng)驗(yàn)數(shù)據(jù)的比較如附錄中的圖16所示。在該圖中,Sstop和L(N,D)的值是經(jīng)驗(yàn)值(盡管Sstop被調(diào)整為模擬在B>>Bcrit時(shí)的訓(xùn)練),而L(N、∞)是根據(jù)在D=∞時(shí)評(píng)估的對(duì)L(N和D)的擬合來計(jì)算的。
6計(jì)算預(yù)算的優(yōu)化分配
我們?cè)趫D1的右上角顯示了作為訓(xùn)練期間使用的計(jì)算的函數(shù)的性能的經(jīng)驗(yàn)趨勢。然而,這一結(jié)果涉及到在固定的批量大小B下進(jìn)行訓(xùn)練,而我們知道,事實(shí)上,通過在第5.1節(jié)中討論的批量大小Bcrit下訓(xùn)練,我們可以更有效地進(jìn)行訓(xùn)練6。大的和小的損失值可以分別用更少的樣本或更少的步驟來實(shí)現(xiàn),并且通過標(biāo)準(zhǔn)化到臨界批量來糾正這種低效率,從而產(chǎn)生更清潔、更可預(yù)測的趨勢。
在本節(jié)中,我們將針對(duì)這種疏忽進(jìn)行調(diào)整。更重要的是,我們將使用第5節(jié)的結(jié)果來確定模型大小N和訓(xùn)練期間處理的數(shù)據(jù)量之間的最佳計(jì)算分配,即2BcritSmin。我們將通過使用L(N,Smin)的方程,從經(jīng)驗(yàn)和理論上確定這種分配,我們將證明這些方法是一致的。
6.1最佳性能和分配
讓我們首先研究損失作為方程(5.5)中最優(yōu)分配計(jì)算的函數(shù)。結(jié)果如圖13所示,以及冪律擬合。我們看到,與圖1的計(jì)算圖相比,Cmin的新擬合有所改進(jìn)。
給定L(Cmin),很自然地要求最優(yōu)模型大小N(Cmin。最佳模型尺寸如圖14所示。我們觀察到N(Cmin)可以很好地與冪律擬合
在圖12中,我們展示了次優(yōu)大小的訓(xùn)練模型的效果(見附錄B.4)。根據(jù)定義Cmin lect 6NBcritS,因此我們可以使用N(Cmin)來提取進(jìn)一步的結(jié)果。特別是,由于先前的擬合顯示B∞L?4.8和L∞C?0.05 min,我們可以得出Bcrit∞C 0.24 min的結(jié)論。這使我們得出結(jié)論,最佳步數(shù)只會(huì)隨著計(jì)算而緩慢增長,與圖14中的經(jīng)驗(yàn)結(jié)果相匹配。事實(shí)上,測量的指數(shù)足夠小,我們的結(jié)果甚至可能與零的指數(shù)一致。
因此,我們得出的結(jié)論是,當(dāng)我們用優(yōu)化的計(jì)算分配來擴(kuò)大語言建模時(shí),我們應(yīng)該主要增加模型大小N,同時(shí)通過B∞Bcrit來擴(kuò)大批量大小,串行步驟數(shù)量的增加可以忽略不計(jì)。由于計(jì)算高效訓(xùn)練使用相對(duì)較少的優(yōu)化步驟,因此可能需要在加快早期訓(xùn)練動(dòng)態(tài)方面進(jìn)行額外的工作。
6.2 L(N,Smin)的預(yù)測
L(Cmin)和分配的結(jié)果可以根據(jù)第5節(jié)中獲得的L(N,Smin)方程進(jìn)行預(yù)測。給定我們的L(N,Smin)方程,我們可以用Smin=Cmin6NB代替,然后找到作為N函數(shù)的損失的最小值,同時(shí)固定訓(xùn)練計(jì)算。我們?cè)诟戒汢中詳細(xì)執(zhí)行了該程序,其中我們還提供了一些額外的預(yù)測。
對(duì)于作為訓(xùn)練計(jì)算函數(shù)的損失,我們預(yù)測
與圖13的指數(shù)非常一致。我們還預(yù)測
這也與圖14的縮放比例相匹配,在幾個(gè)百分比以內(nèi)。我們的縮放律為語言建模的性能提供了一個(gè)預(yù)測框架。
圖15遠(yuǎn)遠(yuǎn)超出了我們根據(jù)經(jīng)驗(yàn)研究的模型大小,我們發(fā)現(xiàn)L(Cmin)和L(D)的方程之間存在矛盾,因?yàn)橛?jì)算高效訓(xùn)練所需的數(shù)據(jù)增長緩慢。這個(gè)交點(diǎn)標(biāo)志著我們預(yù)計(jì)我們的預(yù)測會(huì)在這個(gè)點(diǎn)之前崩潰。這個(gè)點(diǎn)的位置對(duì)冪律擬合的精確指數(shù)非常敏感。
6.3矛盾與猜想
在計(jì)算、數(shù)據(jù)或模型大小較大的情況下,我們沒有觀察到偏離直冪律趨勢的跡象。然而,我們的趨勢最終必須趨于平穩(wěn),因?yàn)樽匀徽Z言具有非零熵。
事實(shí)上,本節(jié)中描述的計(jì)算高效訓(xùn)練的趨勢已經(jīng)包含了明顯的矛盾。在比這里記錄的規(guī)模高出幾個(gè)數(shù)量級(jí)的規(guī)模下,由于使用計(jì)算訓(xùn)練數(shù)據(jù)的增長緩慢,L(Cmin)規(guī)模定律預(yù)測的性能下降到可能的水平以下。這意味著我們的縮放律必須在這一點(diǎn)之前分解,但我們推測交叉點(diǎn)有更深的含義:它提供了Transformer語言模型達(dá)到最大性能的點(diǎn)的估計(jì)。
由于計(jì)算高效訓(xùn)練所使用的數(shù)據(jù)量隨著計(jì)算預(yù)算的增長而緩慢增長,因此L(Cmin)預(yù)測的性能最終達(dá)到了L(D)冪律設(shè)定的下限(見圖15)。讓我們更詳細(xì)地解決這個(gè)問題。
為了控制過擬合,第4節(jié)的結(jié)果表明,我們應(yīng)該將數(shù)據(jù)集大小縮放為
其中我們使用了圖14中的計(jì)算效率N(Cmin)。
讓我們將其與計(jì)算高效訓(xùn)練的數(shù)據(jù)需求進(jìn)行比較。如果我們以臨界批量大?。碈=2Cmin)進(jìn)行訓(xùn)練,并且在訓(xùn)練過程中從不重復(fù)使用數(shù)據(jù),我們發(fā)現(xiàn)數(shù)據(jù)使用量隨著計(jì)算的增長而增長
這是數(shù)據(jù)集大小隨著計(jì)算而有效增長的最大速率,因?yàn)檫@意味著我們只為一個(gè)時(shí)期進(jìn)行訓(xùn)練。但它使數(shù)據(jù)集的增長速度比方程(6.6)慢得多。這似乎意味著,即使訓(xùn)練過程從未重復(fù)使用任何數(shù)據(jù),計(jì)算效率高的訓(xùn)練最終也會(huì)遇到過擬合問題!
根據(jù)圖1,我們預(yù)計(jì),當(dāng)我們受到數(shù)據(jù)集大小的限制(即過擬合)時(shí),損失應(yīng)按L(D)∞D(zhuǎn)?0.095的比例縮放。這意味著,一旦我們受到數(shù)據(jù)限制,損失將按L(D(Cmin))≈C?0.03分鐘計(jì)算。再一次,我們有一個(gè)矛盾,因?yàn)檫@最終將與我們對(duì)圖13中L(Cmin)的預(yù)測相交,在圖13中,我們發(fā)現(xiàn)了一個(gè)標(biāo)度L(Cmn)∞C?0.050分鐘。L(D(Cmin))和L(Cmin
盡管數(shù)值是高度不確定的,根據(jù)冪律擬合的指數(shù)的精確值,在任何一個(gè)方向上都會(huì)以一個(gè)數(shù)量級(jí)或幅度變化。最明顯的解釋是,我們的縮放律在達(dá)到這一點(diǎn)時(shí)或之前就崩潰了,這一點(diǎn)在計(jì)算和模型大小上都還有很多數(shù)量級(jí)的差距。
人們也可能猜測,這個(gè)交叉點(diǎn)有更深的含義。如果我們不能在沒有質(zhì)量不同的數(shù)據(jù)要求的情況下將模型大小增加到N*以上,也許這意味著一旦我們達(dá)到C*min和N*,我們就提取了自然語言數(shù)據(jù)中可用的所有可靠信息。在這種解釋中,L*將為自然語言的每符號(hào)熵7提供一個(gè)粗略估計(jì)。在這種情況下,我們預(yù)計(jì)損失趨勢將在L*或之前趨于平穩(wěn)。
我們可以通過考慮添加了噪聲的訓(xùn)練數(shù)據(jù)集版本來猜測L(Cmin)的函數(shù)形式。例如,我們可以向模型顯示的每個(gè)上下文附加一個(gè)隨機(jī)的tokens字符串,以通過恒定的加法因子人為地增加損失。然后,與本底噪聲的距離L?Lnoise將是一個(gè)更有意義的性能指標(biāo),即使該距離的微小減小也可能代表定性性能的顯著提高。由于人工噪聲會(huì)對(duì)我們所有的趨勢產(chǎn)生同等的影響,6.8的臨界點(diǎn)不會(huì)改變(除了L*的絕對(duì)值),即使它發(fā)生在平穩(wěn)之后,也可能是有意義的。
7相關(guān)工作
冪律可以產(chǎn)生于各種各樣的來源[THK18]。密度估計(jì)[Was06]和隨機(jī)森林模型[Bia12]中模型和數(shù)據(jù)集大小的冪律標(biāo)度可能與我們的結(jié)果有關(guān)。這些模型表明,冪律指數(shù)可能具有非常粗略的解釋,作為數(shù)據(jù)中相關(guān)特征數(shù)量的倒數(shù)。
一些早期的[BB01,Goo01]工作發(fā)現(xiàn)了性能和數(shù)據(jù)集大小之間的冪律縮放。最近的工作[HNA+17,HAD19]也研究了模型大小和數(shù)據(jù)大小之間的縮放;他們的作品可能是有史以來最接近我們的作品。然而,請(qǐng)注意,[HNA+17]發(fā)現(xiàn)了數(shù)據(jù)集大小與模型大小的超線性縮放,而我們發(fā)現(xiàn)了亞線性縮放。我們關(guān)于計(jì)算優(yōu)化分配的發(fā)現(xiàn)與[Kom19]有一些相似之處,包括冪律學(xué)習(xí)曲線。EfficientNets[TL19]似乎也遵循精度和模型大小之間的近似冪律關(guān)系。最近的工作[RRBS19b]研究了各種數(shù)據(jù)集的數(shù)據(jù)集大小和模型大小的縮放,并適用于與我們類似的模擬。
EfficientNet[TL19]主張以指數(shù)方式縮放深度和寬度(具有不同的系數(shù)),以獲得圖像模型的最佳性能,從而導(dǎo)致寬度作為深度函數(shù)的冪律縮放。我們發(fā)現(xiàn),對(duì)于語言模型,當(dāng)按比例放大時(shí),這種能力應(yīng)該大致為一(因?yàn)閷挾?深度應(yīng)該保持固定)。但更重要的是,我們發(fā)現(xiàn),與語言模型的整體規(guī)模相比,精確的架構(gòu)超參數(shù)并不重要。在[VWB16]中,有人認(rèn)為深層模型可以作為較淺模型的集合,這可能解釋這一發(fā)現(xiàn)。早期的工作[ZK16]比較了寬度和深度,發(fā)現(xiàn)寬ResNets在圖像分類方面可以優(yōu)于深ResNets。一些研究固定了每個(gè)數(shù)據(jù)示例的計(jì)算,其傾向于與模型參數(shù)的數(shù)量成比例地縮放,而我們研究了與模型大小和訓(xùn)練計(jì)算量成比例的縮放。
各種工作[AS17,BHMM18]研究了高度過參數(shù)化模型中的泛化,發(fā)現(xiàn)當(dāng)模型大小達(dá)到數(shù)據(jù)集大小時(shí)會(huì)出現(xiàn)“干擾過渡”[GJS+19](這可能需要訓(xùn)練超出典型實(shí)踐的許多數(shù)量級(jí),尤其是不使用早期停止)。我們沒有觀察到這樣的轉(zhuǎn)變,并發(fā)現(xiàn)必要的訓(xùn)練數(shù)據(jù)在模型大小上是次線性的。模型尺寸的擴(kuò)展,特別是在大寬度[JGH18,LXS+19]時(shí),可能會(huì)為思考我們的一些縮放關(guān)系提供一個(gè)有用的框架。我們的優(yōu)化結(jié)果,例如學(xué)習(xí)曲線的形狀,可能可以使用有噪聲的二次模型來解釋,該模型可以在現(xiàn)實(shí)環(huán)境中提供相當(dāng)準(zhǔn)確的預(yù)測[ZLN+19]。使這種聯(lián)系定量化將需要對(duì)Hessian光譜進(jìn)行表征[Pap18,GKX19,GARD18]。
8討論
我們已經(jīng)觀察到語言模型對(duì)數(shù)似然損失與非嵌入?yún)?shù)計(jì)數(shù)N、數(shù)據(jù)集大小D和優(yōu)化訓(xùn)練計(jì)算Cmin的一致縮放,如方程(1.5)和(1.6)所示。相反,我們發(fā)現(xiàn)對(duì)許多架構(gòu)和優(yōu)化超參數(shù)的依賴性非常弱。由于N、D、Cmin的標(biāo)度是冪律,因此收益隨著標(biāo)度的增加而遞減。當(dāng)這些參數(shù)同時(shí)變化時(shí),我們能夠精確地模擬損失對(duì)N和D的依賴性,以及對(duì)N和S的依賴性。在訓(xùn)練大型語言模型時(shí),我們使用這些關(guān)系來推導(dǎo)計(jì)算縮放、過擬合的大小、早期停止步驟和數(shù)據(jù)需求。因此,我們的縮放關(guān)系不僅僅是觀察,而是提供了一個(gè)預(yù)測框架。人們可以將這些關(guān)系解釋為理想氣體定律的類似物,理想氣體定律以一種普遍的方式聯(lián)系氣體的宏觀性質(zhì),獨(dú)立于其微觀成分的大多數(shù)細(xì)節(jié)。
很自然地推測,縮放關(guān)系將適用于具有最大似然損失的其他生成建模任務(wù),也許也適用于其他設(shè)置。為此,在其他領(lǐng)域測試這些關(guān)系將是一件有趣的事情,例如圖像、音頻和視頻模型,也許還可以用于隨機(jī)網(wǎng)絡(luò)提取。在這一點(diǎn)上,我們不知道我們的結(jié)果中哪些取決于自然語言數(shù)據(jù)的結(jié)構(gòu),哪些是普遍的。找到一個(gè)可以導(dǎo)出標(biāo)度關(guān)系的理論框架也將是令人興奮的:我們觀察到的“熱力學(xué)”背后的“統(tǒng)計(jì)力學(xué)”。這樣的理論可能使推導(dǎo)出其他更精確的預(yù)測成為可能,并對(duì)縮放律的局限性提供系統(tǒng)的理解。
在自然語言領(lǐng)域,重要的是調(diào)查對(duì)損失的持續(xù)改善是否轉(zhuǎn)化為對(duì)相關(guān)語言任務(wù)的改善。平穩(wěn)的數(shù)量變化可以掩蓋重大的質(zhì)量改進(jìn):“越多越好”。例如,經(jīng)濟(jì)的平穩(wěn)總體增長并沒有表明支撐它的具體技術(shù)發(fā)展。同樣,語言模型損失的平穩(wěn)改善可能掩蓋了能力的看似質(zhì)的變化。
我們的研究結(jié)果有力地表明,更大的模型將繼續(xù)表現(xiàn)得更好,而且也將比以前所認(rèn)識(shí)到的更有樣本效率。大模型可能比大數(shù)據(jù)更重要。在這種情況下,有必要對(duì)模型并行性進(jìn)行進(jìn)一步的研究。深度模型可以使用流水線[HCC+18]進(jìn)行訓(xùn)練,流水線在設(shè)備之間按深度劃分參數(shù),但隨著使用更多設(shè)備,最終需要增加批量。另一方面,廣域網(wǎng)更適合并行化[SCP+18],因?yàn)榇蟮膶涌梢栽诙鄠€(gè)工作者之間劃分,串行依賴性較小。稀疏[CGRS19,GRK17]或分支(例如[KSH12])可以通過增加模型并行性來允許更快地訓(xùn)練大型網(wǎng)絡(luò)。使用像[WRH17,WYL19]這樣的方法,隨著網(wǎng)絡(luò)的訓(xùn)練而增長,可能會(huì)在整個(gè)訓(xùn)練過程中保持在計(jì)算效率的前沿。
計(jì)算有效前沿的B經(jīng)驗(yàn)?zāi)P?/p>
在本附錄中,對(duì)C、S和αC的所有值進(jìn)行了調(diào)整,以便在臨界批量大小Bcrit下進(jìn)行訓(xùn)練。我們?nèi)サ袅恕癮dj”的標(biāo)簽,以避免混淆注釋。
B.1定義方程式
學(xué)習(xí)曲線的冪律擬合意味著計(jì)算高效訓(xùn)練的簡單處方。在本附錄中,我們將導(dǎo)出作為計(jì)算預(yù)算函數(shù)的最佳性能、模型大小和訓(xùn)練步驟數(shù)。我們從方程(1.6)開始,為了方便起見,在此重復(fù)
這里,S表示在臨界批量[MKAT18]下訓(xùn)練時(shí)的參數(shù)更新次數(shù),其在等式(5.2)9中定義:
我們想確定固定計(jì)算預(yù)算的最佳訓(xùn)練參數(shù),因此我們替換S=C/(6NB(L)),其中C是訓(xùn)練運(yùn)行中使用的FLOP的數(shù)量:
等式(B.3)和(B.4)一起確定了計(jì)算有效邊界。
B.2高效訓(xùn)練
現(xiàn)在我們將(B.3)和(B.4)的含義匯總起來。首先,請(qǐng)注意,將(B.4
這意味著,對(duì)于計(jì)算高效訓(xùn)練,我們應(yīng)該訓(xùn)練到收斂損失以上的固定百分比αNαS≈10%。接下來,讓我們確定最佳損失如何取決于計(jì)算預(yù)算。消除N產(chǎn)生性能對(duì)計(jì)算的冪律依賴性:
我們定義的
B.3與低效的比較
通常,研究人員會(huì)訓(xùn)練模型,直到它們看起來接近收斂。在本節(jié)中,我們將上面描述的高效訓(xùn)練程序與這種更典型的設(shè)置進(jìn)行比較。我們將收斂因子f定義為與收斂損失的偏差百分比:
對(duì)于計(jì)算效率訓(xùn)練,我們?cè)谏弦还?jié)中使用了f=αN/αS≈10%,但研究人員通常使用更小的值。在這里,我們選擇f0=2%作為估計(jì)。對(duì)于固定的損失值,我們預(yù)測:
因此,計(jì)算效率訓(xùn)練使用的參數(shù)更新減少了7.7倍,參數(shù)增加了2.7倍,計(jì)算量減少了65%,以達(dá)到相同的損失。
B.4次優(yōu)模型尺寸
我們可以求解A.1,以找到在大小為N的模型中達(dá)到給定損失值L所需的計(jì)算量的表達(dá)式:
使用A.6和A.9,我們可以消除L,而有利于Neff(L),即最有效地達(dá)到L的模型大小。從中,我們找到了使用次優(yōu)模型大小所需的過量計(jì)算的表達(dá)式:
結(jié)果如圖X所示。在計(jì)算預(yù)算僅增加20%的情況下,可以使用0.6倍至2.2倍的最佳大小的模型。在核算成本推斷時(shí),使用較小的模型是有用的。如果有足夠的硬件可用,可以用更少的步驟將更大的模型訓(xùn)練到相同級(jí)別的性能,從而實(shí)現(xiàn)更多的并行性和更快的訓(xùn)練(見圖Y):
2.2倍大的模型需要減少45%的步驟,而訓(xùn)練計(jì)算則需要增加20%。注意,對(duì)于非常大的模型,該方程不應(yīng)被信任,因?yàn)樗鼉H在初始瞬態(tài)效應(yīng)后的學(xué)習(xí)曲線的冪律區(qū)域有效。
C注意事項(xiàng)
在本節(jié)中,我們列出了一些潛在的分析注意事項(xiàng)。
?目前,我們對(duì)任何擬議的縮放律都沒有堅(jiān)實(shí)的理論理解。與模型大小和計(jì)算的比例關(guān)系尤其神秘。通過用有噪聲的二次方對(duì)損失建模,可以理解在非常大的D保持模型大小固定[AS17]下的縮放,以及訓(xùn)練后期學(xué)習(xí)曲線的形狀。但是,在非常大的模型尺寸下,用D進(jìn)行縮放仍然是個(gè)謎。如果沒有一個(gè)理論或系統(tǒng)地了解對(duì)我們的縮放律的修正,很難確定在什么情況下它們是可信的。
圖16左圖:我們將早期停止發(fā)生的步驟描述為過擬合程度的函數(shù)。紅線表示第5.3節(jié)中得出的提前停車下限。右圖:我們顯示了在不同大小的數(shù)據(jù)集子樣本上訓(xùn)練的一系列300M參數(shù)模型的訓(xùn)練和測試損失。測試損失通常遵循使用不受限制的數(shù)據(jù)進(jìn)行的運(yùn)行,直到出現(xiàn)分歧。請(qǐng)注意,過擬合程度(與無限數(shù)據(jù)限制相比)被Ltest?Ltrain(每次運(yùn)行用黑條表示)顯著高估。
?對(duì)于遠(yuǎn)遠(yuǎn)超出我們探索范圍的損失值,我們對(duì)Bcrit(L)的預(yù)測沒有特別的信心。Bcrit的變化可能會(huì)對(duì)數(shù)據(jù)并行性和所需串行訓(xùn)練步驟數(shù)量之間的權(quán)衡產(chǎn)生重大影響,這將對(duì)訓(xùn)練時(shí)間產(chǎn)生重大影響。
?我們沒有徹底調(diào)查小數(shù)據(jù)制度,我們對(duì)L(N,D)的擬合對(duì)于最小的D值來說很差(其中一個(gè)歷元僅對(duì)應(yīng)40步)。此外,我們沒有進(jìn)行正則化和數(shù)據(jù)擴(kuò)充的實(shí)驗(yàn)。這些方面的改進(jìn)可能會(huì)在數(shù)量或質(zhì)量上改變我們的結(jié)果。
?我們使用了估計(jì)的訓(xùn)練計(jì)算C≈6NBS,其中不包括與nctx成比例的貢獻(xiàn)(見第2.1節(jié))。因此,在非常大的nctx的情況下,我們與計(jì)算的比例在實(shí)踐中可能會(huì)混淆,特別是在nctx和12dmodel的情況。
?我們調(diào)整了學(xué)習(xí)率,并試驗(yàn)了學(xué)習(xí)率時(shí)間表。但我們可能忽略了調(diào)整一些對(duì)標(biāo)度有重要影響的超參數(shù)(如初始標(biāo)度或動(dòng)量)。
?學(xué)習(xí)率的最佳選擇對(duì)目標(biāo)損失很敏感。當(dāng)訓(xùn)練接近收斂時(shí),可能有必要使用較小的學(xué)習(xí)率來避免偏差。但是,當(dāng)進(jìn)行短期訓(xùn)練時(shí)(例如,由于計(jì)算限制),可能會(huì)使用更大的學(xué)習(xí)率。我們沒有對(duì)沒有進(jìn)行收斂的訓(xùn)練跑進(jìn)行更高的學(xué)習(xí)率實(shí)驗(yàn)。
D補(bǔ)充數(shù)字
D.1提前停車和測試與列車
在第5.3節(jié)中,我們描述了圖16中所示的結(jié)果,該結(jié)果為早期停止步驟的下限提供了預(yù)測。我們還展示了在不同大小的數(shù)據(jù)集上訓(xùn)練時(shí),給定模型大小的訓(xùn)練和測試損失。
D.2通用Transformer
在圖17中,我們比較了標(biāo)準(zhǔn)Transformer和常規(guī)Transformer[DGV+18]的性能。這些模型重復(fù)使用參數(shù),因此作為N的函數(shù)表現(xiàn)稍好,但作為計(jì)算C的函數(shù)表現(xiàn)略差。我們包括了參數(shù)重復(fù)使用的幾種不同可能性。
D.3批量
我們使用圖18中顯示的數(shù)據(jù)來測量臨界批量大小。這樣就可以估計(jì)圖10中的Bcrit(L)。
D.4樣品效率與型號(hào)大小
從圖2中可以很容易地看出,較大的模型訓(xùn)練得更快,因此樣本效率更高。我們?cè)趫D19中提供了另一種看待這一現(xiàn)象的方法,圖19顯示了不同模型何時(shí)達(dá)到不同的固定損失值。
圖19達(dá)到測試損失的任何固定值所需的最小串行步驟數(shù)隨著模型尺寸的增加而急劇下降。樣本效率(此處顯示的是遠(yuǎn)低于臨界批量的訓(xùn)練)也大大提高,當(dāng)將盡可能小的模型與非常大的模型進(jìn)行比較時(shí),提高了近100倍。
圖20該圖提供了關(guān)于每個(gè)tokens的性能的信息,作為模型大小和訓(xùn)練時(shí)間的函數(shù)。左圖:每個(gè)tokens的損失是其在1024tokens上下文中的位置T的函數(shù)。損失在T中按冪律可預(yù)測地縮放。右:測試每個(gè)token的損失作為訓(xùn)練步驟的函數(shù)。
圖21除了平均損失外,1024tokens上下文中的單個(gè)tokens也隨著模型大小的增加而平滑改善。上下文nctx=8(虛線)更短的訓(xùn)練運(yùn)行在早期token上表現(xiàn)更好,因?yàn)樗鼈兛梢詫⑺腥萘糠峙浣o它們。
D.5上下文依賴
在圖21的上下文中,顯示了不同token的損失趨勢作為模型大小的函數(shù)。我們看到,在nctx=1024上訓(xùn)練的模型在除第一個(gè)tokens外的所有tokens上都顯示出隨著模型大小的穩(wěn)步改進(jìn)。
在固定模型大小的情況下,損失似乎是作為上下文中位置T的函數(shù)的冪律,見圖20。這可能是語言[EP94、ACDE12、LT16]中潛在冪律相關(guān)性的結(jié)果,或者是模型架構(gòu)和優(yōu)化的更一般的特征。它為在更大的背景下進(jìn)行訓(xùn)練的潛在好處(或缺乏好處)提供了一些建議。較大的模型不僅在T=1024時(shí)收斂到更好的性能,而且在早期tokens時(shí)也能更快地改進(jìn),這表明較大的模型在檢測上下文信息較少的模式方面更有效。在右圖中,我們展示了固定模型的每個(gè)tokens性能如何隨訓(xùn)練步驟而變化。該模型從學(xué)習(xí)短距離信息開始,只在稍后的訓(xùn)練中學(xué)習(xí)長距離相關(guān)性。
我們還包括了用微小上下文nctx=8訓(xùn)練的模型,以便與我們的較長上下文模型進(jìn)行比較。即使是在nctx=8上訓(xùn)練的中等大小的模型,也可以在非常早期的token上主導(dǎo)我們最大的nctx=1024模型。這也表明,通過在大型環(huán)境中訓(xùn)練更大的模型,應(yīng)該可以進(jìn)行進(jìn)一步的改進(jìn)。
D.6學(xué)習(xí)進(jìn)度表和錯(cuò)誤分析
我們?cè)囼?yàn)了各種學(xué)習(xí)率和時(shí)間表。圖22中繪制了一個(gè)小型語言模型的大量時(shí)間表和由此產(chǎn)生的測試性能。我們得出的結(jié)論是,只要總的學(xué)習(xí)率足夠大,并且時(shí)間表包括一個(gè)預(yù)熱期和最終衰減到接近消失的學(xué)習(xí)率,學(xué)習(xí)率時(shí)間表的選擇基本上是無關(guān)緊要的。時(shí)間表之間的變化似乎是統(tǒng)計(jì)噪音,并為不同訓(xùn)練跑之間的變化規(guī)模提供了一個(gè)粗略的衡量標(biāo)準(zhǔn)。對(duì)較大模型的實(shí)驗(yàn)表明,對(duì)于不同的模型大小,不同隨機(jī)種子之間的最終測試損失的變化幅度大致恒定。我們發(fā)現(xiàn),較大的模型需要較小的學(xué)習(xí)率來防止分歧,而較小的模型可以容忍較大的學(xué)習(xí)率。為了實(shí)現(xiàn)這一點(diǎn),大多數(shù)運(yùn)行都使用了以下經(jīng)驗(yàn)法則:
我們期望這個(gè)公式能夠得到改進(jìn)??赡艽嬖趯?duì)網(wǎng)絡(luò)寬度的依賴性,可能由初始化規(guī)模設(shè)置。對(duì)于N>1010的參數(shù),該公式也進(jìn)行了分解。盡管如此,我們發(fā)現(xiàn)它對(duì)于我們考慮的模型來說足夠好。
D.7合身細(xì)節(jié)與冪律質(zhì)量
我們對(duì)L(N)、L(C)和L(D)的擬合進(jìn)行了許多函數(shù)形式的實(shí)驗(yàn);冪律擬合在質(zhì)量上比對(duì)數(shù)等其他函數(shù)準(zhǔn)確得多(見圖23)。
對(duì)于L(C),我們不包括擬合中只有1層的小模型,因?yàn)閺?層到2層的過渡會(huì)導(dǎo)致數(shù)據(jù)中出現(xiàn)明顯的結(jié)塊。對(duì)于L(N),我們也不包括擬合中只有1層的非常小的模型,并且我們排除了尚未完全訓(xùn)練到收斂的最大模型。如果我們將擬合參數(shù)包括在內(nèi),擬合參數(shù)會(huì)發(fā)生輕微變化,而且無論怎樣,趨勢都會(huì)在兩個(gè)方向上很好地推斷。
D.8概括和體系結(jié)構(gòu)
在圖24中,我們表明,當(dāng)我們固定總參數(shù)計(jì)數(shù)時(shí),對(duì)其他數(shù)據(jù)分布的泛化不取決于網(wǎng)絡(luò)深度。這似乎只取決于訓(xùn)練分配的表現(xiàn)。
圖24我們展示了對(duì)具有大約15億個(gè)參數(shù)的模型的一系列數(shù)據(jù)集的評(píng)估。我們沒有觀察到深度對(duì)泛化的影響;泛化性能主要取決于訓(xùn)練分布性能。12層模型過度擬合了互聯(lián)網(wǎng)圖書數(shù)據(jù)集,我們顯示了早期停止的性能;我們?cè)谄渌麑?shí)驗(yàn)中沒有看到這種令人驚訝的結(jié)果。