事業(yè)單位做網(wǎng)站需要前置審批嗎如何進(jìn)行網(wǎng)站性能優(yōu)化
NLP-大語言模型學(xué)習(xí)系列目錄
一、注意力機(jī)制基礎(chǔ)——RNN,Seq2Seq等基礎(chǔ)知識(shí)
二、注意力機(jī)制【Self-Attention,自注意力模型】
三、Transformer圖文詳解【Attention is all you need】
四、大語言模型的Scaling Law【Power Low】
文章目錄
- NLP-大語言模型學(xué)習(xí)系列目錄
- 一、什么是 Scaling Law
- 二、 Scaling Law的應(yīng)用
- (1)最佳模型參數(shù),數(shù)據(jù)量求解方法
- (2)LLaMA3.1中的Scaling Law
- (3)計(jì)算實(shí)例【根據(jù)計(jì)算量和數(shù)據(jù)量,求最佳模型大小】
- 三、未來挑戰(zhàn)
- 參考資料
一、什么是 Scaling Law
Scaling Law(縮放法則)是人工智能和機(jī)器學(xué)習(xí)中一類理論,它描述了隨著模型規(guī)模(例如參數(shù)數(shù)量)、訓(xùn)練數(shù)據(jù)量、計(jì)算資源的增加,模型性能如何提升的規(guī)律。簡單來說,Scaling Law 研究的是模型性能與模型規(guī)模之間的關(guān)系。
定義【Scaling Law】1
在生成模型中被廣泛觀察到的現(xiàn)象,對(duì)于計(jì)算量C,模型參數(shù)量N和數(shù)據(jù)大小D,當(dāng)不受另外兩個(gè)因素影響時(shí),模型的性能與每個(gè)因素都呈冪律關(guān)系:
- 性能 ∝ N α \propto N^{\alpha} ∝Nα
- 性能 ∝ D β \propto D^{\beta} ∝Dβ
- 性能 ∝ C γ \propto C^{\gamma} ∝Cγ
這些公式中的 α、β、γ 是對(duì)應(yīng)維度的縮放指數(shù)。通常模型性能可以用Test Loss來表示,Loss越小說明模型性能越好。
Scaling Law背后的基本思想是:模型的性能可以通過簡單的擴(kuò)展(例如增加模型參數(shù)、訓(xùn)練數(shù)據(jù)或計(jì)算資源)來不斷提升,并且這種提升往往遵循一定的冪律關(guān)系。通過研究這種關(guān)系,研究者可以預(yù)測(cè)模型在不同規(guī)模下的性能表現(xiàn),指導(dǎo)大模型的設(shè)計(jì)和訓(xùn)練。
二、 Scaling Law的應(yīng)用
Scaling Law總結(jié)出來的一個(gè)規(guī)律是:
C ≈ 6 N D C\approx6ND C≈6ND
其中C是計(jì)算量,N是參數(shù)量,D是訓(xùn)練數(shù)據(jù)量。舉個(gè)例子:
假設(shè)一個(gè)模型有 10億個(gè)參數(shù)( N = 1 0 9 N=10^9 N=109 ), 并且訓(xùn)練數(shù)據(jù)集的規(guī)模是 D = 1 0 12 \mathrm{D}=10^{12} D=1012 (1萬億個(gè) token).使用公式 C = 6ND, 總的計(jì)算量就是:
C = 6 × 1 0 9 × 1 0 12 = 6 × 1 0 21 F L O P s C=6 \times 10^9 \times 10^{12}=6 \times 10^{21} \mathrm{FLOPs} C=6×109×1012=6×1021FLOPs
這表明要訓(xùn)練這個(gè)模型, 大約需要 6 × 1 0 21 6\times 10^{21} 6×1021 次浮點(diǎn)運(yùn)算。
這個(gè)規(guī)律有什么用呢?通過前面的Scaling Law我們知道,訓(xùn)練大模型時(shí),增加模型的參數(shù)量或者訓(xùn)練的數(shù)據(jù)量,模型性能會(huì)得到提升。但是我們并不能無止境的增加,因?yàn)楝F(xiàn)實(shí)訓(xùn)練模型收到計(jì)算量的制約,訓(xùn)練一個(gè)語言大模型是很費(fèi)錢的。所以當(dāng)給定一個(gè)計(jì)算量budget,我們?cè)趺捶峙銷和D得到一個(gè)最好的模型呢?
(1)最佳模型參數(shù),數(shù)據(jù)量求解方法
上面的問題可以建模為如下的優(yōu)化問題:
N o p t ( C ) , D o p t ( C ) = argmin ? N , D s.t.?FLOPs ( N , D ) = C L ( N , D ) , L ^ ( N , D ) ? E + A N α + B D β . N_{opt}(C),D_{opt}(C)=\underset{N,D\text{ s.t. FLOPs}(N,D)=C}{\operatorname*{argmin}}L(N,D),\\ \hat{L}(N,D)\triangleq E+\frac A{N^\alpha}+\frac B{D^\beta}. Nopt?(C),Dopt?(C)=N,D?s.t.?FLOPs(N,D)=Cargmin?L(N,D),L^(N,D)?E+NαA?+DβB?.
這個(gè)多變量問題怎么解呢?主要有三種方法:
- 固定模型大小,改變訓(xùn)練數(shù)據(jù)
- 固定計(jì)算量,改變模型大小
- 擬合冪律曲線
根據(jù)上表的結(jié)果,得出a=0.5,b=0.5
根據(jù)圖3右邊兩圖所得到的點(diǎn),向外延伸,可以得到給定計(jì)算量C最佳的N、D.
(2)LLaMA3.1中的Scaling Law
如下圖所示,是LLaMA3.1中的Scaling Law,LLaMA3.1發(fā)布了3個(gè)模型,分別是8B,70B,405B.這個(gè)405B是怎么定下來的呢,難道是領(lǐng)導(dǎo)拍腦袋想出來的嗎(國內(nèi)可能是hh).顯然他們做了實(shí)驗(yàn),先在小數(shù)據(jù)和小模型上進(jìn)行實(shí)驗(yàn)(左圖),然后根據(jù)實(shí)驗(yàn)結(jié)果畫出Scaling Law曲線,找到對(duì)應(yīng)計(jì)算量的最優(yōu)模型大小和最優(yōu)訓(xùn)練數(shù)據(jù)量。
(3)計(jì)算實(shí)例【根據(jù)計(jì)算量和數(shù)據(jù)量,求最佳模型大小】
例:
- 假設(shè)你有1000張H100顯卡,并且可以用6個(gè)月。
- 假設(shè)你有10T的數(shù)據(jù)。
- 那么你應(yīng)該訓(xùn)練多大的模型?
另一種更快的估計(jì)方法:
三、未來挑戰(zhàn)
盡管 Scaling Law 提供了重要的理論指導(dǎo),仍然存在一些挑戰(zhàn):
- 計(jì)算成本問題:大規(guī)模擴(kuò)展模型的參數(shù)和訓(xùn)練數(shù)據(jù)通常需要極高的計(jì)算成本。雖然 Scaling Law 提供了理論依據(jù),但大規(guī)模訓(xùn)練的實(shí)際成本可能難以承受。
- 數(shù)據(jù)質(zhì)量:Scaling Law 假設(shè)數(shù)據(jù)量的增加會(huì)提升模型性能,但在實(shí)際應(yīng)用中,數(shù)據(jù)的質(zhì)量同樣至關(guān)重要,低質(zhì)量數(shù)據(jù)可能會(huì)導(dǎo)致性能下降甚至模型偏差。
- 性能飽和:Scaling Law 研究表明,性能提升并不是無限的,通常會(huì)在某個(gè)點(diǎn)達(dá)到瓶頸。因此,研究者需要找到其他方法(如新架構(gòu)、知識(shí)蒸餾)來進(jìn)一步提高性能。
參考資料
Scaling Laws for Neural Language Models【paper】 ??