在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

大規模神經網絡優化:超參最佳實踐與規模律

智能感知與物聯網技術研究所 ? 來源:未知 ? 2023-12-10 21:45 ? 次閱讀

從理論分析入手把握大規模神經網絡優化的規律,可以指導實踐中的超參數選擇。反過來,實踐中的超參數選擇也可以指導理論分析。本篇文章聚焦于大語言模型,介紹從 GPT 以來大家普遍使用的訓練超參數的變化。


規模律研究的是隨著神經網絡規模的增大,超參數、性能是如何改變的。規模律是對模型、數據、優化器關系的深刻刻畫,揭示大模型優化時的普遍規律。通過規模律,我們可以用少量成本在小模型上驗證超參數的選擇和性能的變化情況,繼而外推到大模型上。


在 LLM 中規模性常常變換模型大小和數據規模,進行大量調參而保持優化器不變。故對于大模型優化器而言,規模性是其性能很好的展現(性能上限)。設計更好的優化器(用更少的數據達到相同的性能)就是在挑戰現有的規模律。



超參最佳實踐
我們首先回顧從 GPT 以來重要文章中使用的超參數,本文將不同模型的超參數列舉在下方。首先,除了 Google 的 T5, PaLM 外,其它的模型都是用了 Adam 類的優化器(Adam 或 AdamW)。其次,超參數選擇上的更新都是在前人的基礎上慢慢變化,并被后續采納的。這包括使用 dropuout、梯度范數裁剪(Megatron-LM),批量的動態變化(GPT-3),Adam (GPT-3)。

學習率:我們發現隨著模型的增大,學習率越來越小。學習率與數據量、批量大小都沒有明顯的關系,且一般使用 左右的學習率。學習率的變化策略都包括 warmup 和衰減(decay)兩階段。目前普遍使用 GPT-3 中余弦衰減到原學習率的十分之一。谷歌則傾向于使用平方根衰減(優點之一在于不用提前知道訓練步數)。

批量大小:訓練使用的批量大小隨著模型的增大也在不斷增大,從 GPT 的 32k、BERT 的 128k,到 GPT-3 的 3.2M、LLaMA 的 4M。值得注意的是,GPT-3 的批量大小是從 32k 開始,在 12B tokens 的訓練中逐漸增加到 4M 的,批量大小增加了 125 倍。

OpenAI 在論文中認為隨著學習的進行,模型能夠承載的批量大小快速增加。而后續很多工作直接使用了更大的批量。這可能是批量增大的過程只占總數據的 2%,即使直接使用最大批量也不會造成太大的問題。

權重衰減 /L2 正則化:在 L2 正則化(或 weight decay)上,GPT 與 BERT 都使用了正則化,后續的模型有些使用而有些沒有使用。首先注意到,在 GPT 和 BERT 時代,數據量還是大于模型參數量的(over-parameterized),訓練時也是使用多輪訓練(multi-epoch)。

而隨著人們意識到數據的重要性,數據量已經超越模型的參數量的(GPT3, 680B tokens, 175B params, under-parameterized),訓練時也只使用了一輪訓練(single-epoch)。根據 [ADV+23] 中的分析,在 over-parameterized 網絡中使用 weight decay 相當于對優化器施加了潛在的正則;而在 under-parameterized 網絡中,weight decay 只是改變了實際的學習率。隨著網絡訓練權重的變化,相當于施加了自適應的學習率變化策略。

在本文的最后列舉了不同模型的超參選擇。其中 Adam 括號中的數字代表 ,sch 為學習率調整策略,bs為批量大小,L2 為權重衰減的 權重,init 為初始化方法。


神經網絡規模律

神經網絡規模律(neural scaling laws)通過廉價的小規模實驗來預測大規模模型的表現,從而決定最佳的架構、算法、數據集、超參數等等。從廣義上講所有因素都可以研究:模型的寬度,數據數量,計算資源(FLOPs)等等。

上圖是強化學習中的一些例子,黑色點為實驗數據,紅色線為擬合的規模律,綠色點為驗證數據。可以看到,如果規模律的擬合效果好,就可以用來預測大規模模型的表現。除了上述單調的規模律,還有一些非單調的規模律,如下圖所示。Tranformer 的性能隨著模型的寬度增加先增加后減小最后再增加。

神經網絡規模律的研究重點之一在于研究什么樣的曲線能夠擬合上述現象。一個簡單的擬合策略是使用 ,這可以對付不少情況,然而無法應對上述非單調的情況。[CGR+23] 提出了自己的擬合曲線 BNSL(broken neural scaling laws)
其中 對應橫坐標,其它參數為擬合參數。其中, 代表了曲線由 段組成,當 時就是 。大家不用糾結于公式的具體形式,該公式只是希望“大包大攬”,把所有可能的規模性都考慮進來。這個公式允許出現下圖中所示的三種變化方式,具有很高的靈活性。



大語言模型規模律

討論大語言模型規模律最重要的兩篇可以說是 OpenAI 的 [KMH+20] 和 DeepMind 的 Chinchilla[HBM+22] 了。我們將主要介紹這兩篇文章的結論。
定義 為模型參數量, 為數據量, 為計算量(FLOPs), 為損失值。超參數分為優化超參數(學習率等)和架構超參數(如深度、寬度)。 為批量大小, 為訓練步數,對于單輪訓練,。其中對于大語言模型,確定 大小后,就可以估算出
實際中我們擁有的計算量為 時,為了獲得最低的損失 ,我們希望通過選擇 使得 最小。記 為給定計算量下最佳的 ,即
1. 模型性能與 密切相關,與架構超參數關系不大。
2. L與 成冪律分布(Power-law),

這里 指的是在給定 下的最佳性能,即最低的損失值。該規律的前提條件是不受另外兩個因素制約。由于 ,該規律最終會失效,但 [KMH+22] 的實驗規模使我們看不到這一點。
3. 給定計算量后
該結論即當模型參數翻倍后,數據量也應該翻倍從而得到最優性能。這是 [HBM+22] 中對 [KMH+20] 主要糾正的結論。下圖中黑色虛線為 [KMH+20] 的結論,其它三色線是 [HBM+22] 用三個方法得出的相同結論,并且根據該放縮率訓練了 Chinchilla 模型。

在 [KMH+20] 中,作者認為模型增大 5 倍,數據量增大 8 倍。[HBM+22] 認為兩個因素導致了[KMH+20] 中的錯誤:
  • 對不同的 沒有嘗試使用不同的學習率調整策略(正確的學習率調整策略對訓練影響很大)
  • [KMH+20] 使用的 較小。規模性存在曲率,導致用太小的得到的結論不準確。(規模性存在曲率也說明了最終該規律會失效)

這里展式 [HBM+20] 中的一種論證,即繪制相同 下不同 與最優 的關系,從而得到最優配置。

Chinchilla 規模律的最終擬合結果如下,通過代入 我們可以計算得到述 的取值,并可以揭示數據與模型規模應該同時增加的規律。此外,在 Chinchilla 的設置下,
4. 臨界批量大小 ,與其它因素弱相關。
臨界批量大小在大規模神經網絡優化:批量與噪聲中有過介紹,可以理解為使用相同 可以達到相同 的最大 。在 [KMH+20] 中,擬合得到 約小可以用的批量越大也解釋了上文 GPT-3 模型中批量大小的增大。

另一方面,訓練損失隨著訓練步數呈現快速下降-線性-平坦三個階段的特點(見下圖 Llama 訓練圖)。由于訓練早期訓練損失的快速下降,臨界批量大小又隨損失冪律下降,可見臨界批量大小隨訓練步數下降的很快。我們用將 llama 的損失帶入計算,當訓練的非常前期損失就能下降到 2.2,臨界批量大小 4.7M,這與 llama 使用的 4M 批量大小吻合。這也解釋了為什么可以省略掉批量大小的調整。

如果損失能夠下降到 1.5,臨界批量大小就會增加到 30M,所以 llama 可以在訓練中進一步增加批量大小的使用。按此推斷,GPT-4 最終使用了 60M 的批量大小,對應的訓練損失可能為 1.3。

5. 模型的遷移泛化能力與在訓練數據集上的泛化能力正相關。

如右圖所示,在訓練數據集上的測試損失越低,則在其它數據集上的損失也越低(如訓練在 Wikipedia,測試在 WebText2)。右圖則顯示隨著參數量增大,模型的測試損失越低。且在不同數據集上的測試損失與在訓練集上的測試測試損失僅僅相差一個常數偏移。

6. 更大的模型收斂更快(更少的數據量達到相同的損失)

下圖中越亮的線代表更大的模型。左圖說明達到相同的測試損失,使用大模型需要見到的數據量更少。右圖中則是使用相同計算量的比較。兩條線的交點分割了使用大小模型的優劣:在交點左側應該使用小模型,在交點右側應該使用大模型。

圖中另外一個重要的觀察是,訓練后期損失下降的更慢。故與其訓練一個小模型到收斂,不如用相同的資源訓練一個不到收斂的大模型更加高效。


大語言模型規模律拾遺

除了上述兩篇經典文章之外,不少文章也給出了自己的洞見。

3.1 涌現是指標選擇的結果,連續指標與參數規模符合冪律分布

涌現現象指的是模型的某些性能隨著模型參數增加到一定規模突然不可預測的快速提升。這被認為是大模型能力的重要體現。這里我們研究的是指標性能與模型參數的關系,也是一種規模律。

[SMK23] 論文則指出,大部分所謂的涌現現象,都出現在兩種指標上:多選題的正確性,以及完全字符串匹配正確性。更換指標可以更好的對模型能力的規模性進行預測。

上文中我們已經知道,模型損失值隨模型參數指數下降(圖A),從而可以得到單個樣本預測的正確率指數上升(圖B)。如果將非線性指標“完全字符串匹配正確率”替換為“錯誤預測的 Token 數”,可以發現同樣的冪律分布。同理,將不連續的選擇正確率替換為連續的選擇正確率,也可以得到冪律分布。

筆者認為,這篇文章不應該看做對”涌現“重要性的否定。在現實世界、生活、市場中,我們關心的指標就是非線性,或者說非連續指標。這篇文章的意義在于,我們可以用連續指標更好的建模規模律,從而預測非連續指標的變化。同時,這也揭示了大模型中”量變產生質變“的背后機理,并不需要用“整體的復雜交互”進行解釋。

3.2 大模型需要更小的學習率

通過上文中的大模型參數經驗,我們很容易就發現大模型需要更小的學習率。[YHB+22] 在下左圖中展示了這點。其認為這是為了控制總方差在一定值(方差隨參數量以 增大)。對于這點筆者暫未找到詳細的理論解釋。[YHB+22] 中還提出了一種新的初始化和參數設置方法以保證不同規模的模型可以使用相同的學習率,這里不再展開。

3.3 使用重復數據訓練時(multi-epoch),應該用更多的輪次訓練較小的模型

[MRB+23] 探究了當數據有限時,如何訓練大模型。左圖中,當輪次小于 4 時,與使用新數據效果相當(GPT-4 中重復了文本兩次,代碼四次,與該結果印證)。當輪次大于 40 次時,則幾乎沒有提升。右圖中,用左圖的擬合結果可以計算得到,相比于 Chinchilla 的規模性,使用重復數據訓練時,應該用更多的數據(重復數)訓練較小的模型。

3.4 使用重復數據訓練對訓練幫助很小

[XFZ+23] 進行了大量的實驗驗證了一系列觀點。下左圖中,作者在 Encoder-Decoder 模型上驗證了 Chinchilla 規模律同樣成立(即數據量與模型參數量應該同時增加)。右圖則顯示了使用出發數據訓練對性能沒有幫助。文中還嘗試了高質量數據、UL2 訓練目標、不同的正則化方法,最終發現除了 Dropout 之外對重復訓練都沒有幫助。

3.5 訓練比 Chinchilla 規模律更小的模型

Chinchilla 規模律的出發點是給定計算量,通過分配參數量和數據量最小化損失值。換言之,給定要達到的損失值,最小化計算量。然而在實際中,訓練一個小模型能帶來計算量(代表訓練開銷)以外的收益:

  • 小模型部署后進行推理成本更小
  • 小模型訓練所需的集群數量更少

故 [H23] 提出,在不大幅度增加訓練開銷的前提下,盡可能減小模型的參數量。具體而言,作者在 Chinchilla 規模律的基礎上,讓模型的參數量變為 ,進而計算出達到相同損失所需的數據量 。通過推導可得 無關,即無論訓練開銷多大, 的關系都是一致的。下圖展示了計算量的增加值 的關系。

其中,LLaMA-7B 就比 Chinchilla 中對應的最優解使用了更小的模型和更多的計算量(數據)。由于參數量減小到一定程度,需要的計算量會有急劇的上升,作者認為模型的大小不應該小于臨界模型大小。譬如當使用 30% 的參數量時,所需計算量會增加 100%。參數量不應該再繼續減小(否則計算量會上升很多)。
在 Llama-2 上我們也能看到類似的現象。根據 Chinchilla 規模性,2T 數據對應大約 50B 的參數量。所以對于 Llama-2-7b 來說,訓練了一個相對更小的模型。而對于 Llama-2-70b 來說,則不夠效率。

Werra認為我們應該用更多的數據繼續訓練更小的模型。這其中的難點在于:

  • 訓練所需的數據量不夠(正如 [XFZ+23] 指出的,我們正在用盡互聯網上所有的 tokens)。
  • 小集群上訓練小模型需要更長的訓練時間(Llama2 500k its);如果使用大集群訓練則更困難(比如要使用更大的批量大小才能提高效率)。



LLM 的超參選擇

4.1 GPT(117M):

  • Adam
  • lr:2.5e-4
  • sch: warmup linear 2k, cosine decay to 0
  • bs: 32k=64x512
  • its: 3M (100e)
  • L2: 0.01
  • init: N(0, 0.02)
4.2 BERT(330M):
  • Adam(0.9,0.999)
  • lr: 1e-4
  • sch: warmup 10k, linear decay to 0
  • bs: 128k=256x512
  • its: 1M (40e)
  • L2: 0.01
  • dropout: 0.1

4.3 Megatron-LM(GPT2 8.3B & Bert 3.9B):

  • Adam
  • lr: 1.5e-4
  • sch: warmup 2k, cosine decay to 1e-5
  • bs: 512k=512x1024
  • its: 300k
  • L2: 0.01
  • dropout: 0.1
  • gradient norm clipping: 1.0
init: N(0, 0.02), weights before residual layer
4.4 T5(11B)
  • AdaFactor
  • lr: 1e-2
  • sch: warmup constant 10k, sqrt decay
  • bs: 65k=128x512
  • its: 500k (1e)
4.5 GPT-3
  • Adam(0.9, 0.95, eps=1e-8)
  • lr & final bs:?

  • sch: warmup linear 375m tokens, cosine decay to 0.1xlr 260b tokens, continue training with 0.1xlr
  • bs sch: 32k to final bs gradually in 4-12B tokens
  • seq length: 2048
  • data: 680B
  • gradient norm clipping: 1.0
4.6 Gopher
  • Adam (Adafactor unstable beyond 7.1B)
  • lr & final bs:?

  • sch: warmup 1.5k, cosine decay to 0.1xlr
  • gradient norm clipping: 0.25 for 7.1B & 280B, 1.0 for the rest
4.7 Chinchilla(70B)
  • AdamW
  • lr: 1e-4
  • bs: 1.5M to 3M
  • others follow Gopher
4.8 OPT
  • Adam(0.9, 0.95) (SGD plateau quickly)
  • lr & bs:?

  • sch: warmup linear 2k, decay to 0.1xlr
  • L2: 0.1
  • dropout: 0.1
  • gradient norm clipping: 1.0
  • init: N(0, 0.006), output layer N(0, 0.006*
4.9 PaLM
  • Adafactor(0.9, 1-)
  • lr 1e-2

sch: warmup 10k, decay at
?

  • bs: 1M (<50k), 2M (<115k), 4M (<255k)

L2: lr

  • dropout: 0.1
  • gradient norm clipping: 1.0
  • its: 255k?init: N(0,embedding N(0,1)
4.10 LLaMA(RMSNorm, SwiGLU, RoPE)
  • AdamW(0.9, 0.95)
  • lr & bs:

  • sch: warmup 2k, decay to 0.1xlr
  • L2: 0.1
  • gradient norm clipping: 1.0
4.11 LLaMA2
  • AdamW(0.9, 0.95, eps=1e-5)
  • lr?

  • sch: warmup 2k, decay to 0.1xlr
  • L2: 0.1
  • gradient norm clipping: 1.0


參考文獻

[ADV+23] Why do we need weight decay in modern deep learning?
[CGR+23] Broken neural scaling laws
[HBM+22] Training Compute-Optimal Large Language Models
[KMH+20] Scaling Laws for Neural Language Models
[SMK23] Are Emergent Abilities of Large Language Models a Mirage?
[YHB+22] Tensor Programs V: Tuning Large Neural Networks via Zero-Shot Hyperparameter Transfer
[MRB+23] Scaling Data-Constrained Language Models
[XFZ+23] To Repeat or Not To Repeat: Insights from Scaling LLM under Token-Crisis
[H23]Go smol or go home



原文標題:大規模神經網絡優化:超參最佳實踐與規模律

文章出處:【微信公眾號:智能感知與物聯網技術研究所】歡迎添加關注!文章轉載請注明出處。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 物聯網
    +關注

    關注

    2924

    文章

    45715

    瀏覽量

    386137

原文標題:大規模神經網絡優化:超參最佳實踐與規模律

文章出處:【微信號:tyutcsplab,微信公眾號:智能感知與物聯網技術研究所】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    BP神經網絡的調技巧與建議

    BP神經網絡的調是一個復雜且關鍵的過程,涉及多個參數的優化和調整。以下是一些主要的調技巧與建議: 一、學習率(Learning Rat
    的頭像 發表于 02-12 16:38 ?510次閱讀

    如何優化BP神經網絡的學習率

    優化BP神經網絡的學習率是提高模型訓練效率和性能的關鍵步驟。以下是一些優化BP神經網絡學習率的方法: 一、理解學習率的重要性 學習率決定了模型參數在每次迭代時更新的幅度。過大的學習率可
    的頭像 發表于 02-12 15:51 ?604次閱讀

    LSTM神經網絡的調技巧

    長短時記憶網絡(Long Short-Term Memory, LSTM)是一種特殊的循環神經網絡(RNN),它能夠學習長期依賴信息。在實際應用中,LSTM網絡的調是一個復雜且關鍵的
    的頭像 發表于 11-13 10:01 ?1537次閱讀

    神經網絡優化器有哪些

    神經網絡優化器是深度學習中用于調整網絡參數以最小化損失函數的重要工具。這些優化器通過不同的策略來更新網絡權重,以提高訓練效率和模型性能。以下
    的頭像 發表于 07-11 16:33 ?955次閱讀

    BP神經網絡和人工神經網絡的區別

    BP神經網絡和人工神經網絡(Artificial Neural Networks,簡稱ANNs)之間的關系與區別,是神經網絡領域中一個基礎且重要的話題。本文將從定義、結構、算法、應用及未來發展等多個方面,詳細闡述BP
    的頭像 發表于 07-10 15:20 ?1946次閱讀

    rnn是遞歸神經網絡還是循環神經網絡

    RNN(Recurrent Neural Network)是循環神經網絡,而非遞歸神經網絡。循環神經網絡是一種具有時間序列特性的神經網絡,能夠處理序列數據,具有記憶功能。以下是關于循環
    的頭像 發表于 07-05 09:52 ?875次閱讀

    遞歸神經網絡是循環神經網絡

    遞歸神經網絡(Recurrent Neural Network,簡稱RNN)和循環神經網絡(Recurrent Neural Network,簡稱RNN)實際上是同一個概念,只是不同的翻譯方式
    的頭像 發表于 07-04 14:54 ?1320次閱讀

    循環神經網絡和卷積神經網絡的區別

    循環神經網絡(Recurrent Neural Network,RNN)和卷積神經網絡(Convolutional Neural Network,CNN)是深度學習領域中兩種非常重要的神經網絡
    的頭像 發表于 07-04 14:24 ?1831次閱讀

    神經網絡優化算法有哪些

    神經網絡優化算法是深度學習領域中的核心技術之一,旨在通過調整網絡中的參數(如權重和偏差)來最小化損失函數,從而提高模型的性能和效率。本文將詳細探討神經網絡
    的頭像 發表于 07-03 16:01 ?1022次閱讀

    反向傳播神經網絡和bp神經網絡的區別

    反向傳播神經網絡(Backpropagation Neural Network,簡稱BP神經網絡)是一種多層前饋神經網絡,它通過反向傳播算法來調整網絡中的權重和偏置,以達到最小化誤差的
    的頭像 發表于 07-03 11:00 ?1078次閱讀

    bp神經網絡和卷積神經網絡區別是什么

    BP神經網絡(Backpropagation Neural Network)和卷積神經網絡(Convolutional Neural Network,簡稱CNN)是兩種不同類型的人工神經網絡,它們在
    的頭像 發表于 07-03 10:12 ?2261次閱讀

    卷積神經網絡和bp神經網絡的區別

    卷積神經網絡(Convolutional Neural Networks,簡稱CNN)和BP神經網絡(Backpropagation Neural Networks,簡稱BPNN)是兩種
    的頭像 發表于 07-02 14:24 ?5697次閱讀

    如何訓練和優化神經網絡

    神經網絡是人工智能領域的重要分支,廣泛應用于圖像識別、自然語言處理、語音識別等多個領域。然而,要使神經網絡在實際應用中取得良好效果,必須進行有效的訓練和優化。本文將從神經網絡的訓練過程
    的頭像 發表于 07-01 14:14 ?803次閱讀

    電機控制系統的神經網絡優化策略

    電機控制系統作為現代工業自動化的核心組成部分,其性能直接影響到整個生產線的效率和穩定性。隨著人工智能技術的快速發展,神經網絡在電機控制系統中的應用越來越廣泛。神經網絡優化策略通過模擬人腦神經
    的頭像 發表于 06-25 11:46 ?1113次閱讀

    大規模語言模型:從理論到實踐】- 閱讀體驗

    注意力機制提高了模型在處理長序列數據時的性能,但在某些任務上,傳統的循環神經網絡(RNN)或卷積神經網絡(CNN)可能仍然具有優勢。此外,注意力機制本身也可能存在某些性能瓶頸,需要進一步的研究和優化
    發表于 06-07 14:44
    主站蜘蛛池模板: 一级毛片免费毛片一级毛片免费 | 欧美午夜视频一区二区 | 天天久久影视色香综合网 | 1024 cc香蕉在线观看看中文 | 一本到午夜92版免费福利 | 色综久久 | 天堂在线视频 | 狠狠涩 | 天天爱夜夜 | 手机看片自拍 | 国产精品国产主播在线观看 | 激情综合婷婷丁香六月花 | 中文字幕在线观看一区二区三区 | 中文字幕一区二区三区精彩视频 | 美女黄18 | 狠狠躁夜夜躁人人躁婷婷视频 | 亚洲不卡视频在线观看 | 久久午夜精品视频 | 亚州一级毛片在线 | 综合黄色| 一区二区三区四区视频在线观看 | 欧美一级视频免费观看 | 视频在线免费观看网址 | 欧美三级 欧美一级 | 韩国一级网站 | 国产高清免费 | 美女操出水 | 亚洲天堂一区二区三区 | 中文字幕一区2区3区 | 久热草在线 | 最新日本免费一区二区三区中文 | 天天综合色天天综合 | 精品久久免费观看 | 天天射美女 | 美女扒开尿口让男人捅 | 久久国产精品自在自线 | 99精品久久久久久久婷婷 | 爱情社保片鲁丝片一区 | 午夜伦伦| 77788色淫视频免费观看 | 1024视频色版在线网站 |