女人荫蒂被添全过程13种图片,亚洲+欧美+在线,欧洲精品无码一区二区三区 ,在厨房拨开内裤进入毛片

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



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

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

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

    關注

    2930

    文章

    46162

    瀏覽量

    391297

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    構建大規模Simulink模型的標準化最佳實踐

    隨著系統規模和復雜性的增長,工程團隊面臨著一系列在小規模上不存在的全新挑戰。
    的頭像 發表于 04-24 13:03 ?388次閱讀
    構建<b class='flag-5'>大規模</b>Simulink模型的標準化<b class='flag-5'>最佳</b><b class='flag-5'>實踐</b>

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

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

    BP神經網絡與卷積神經網絡的比較

    BP神經網絡與卷積神經網絡在多個方面存在顯著差異,以下是對兩者的比較: 一、結構特點 BP神經網絡 : BP神經網絡是一種多層的前饋神經網絡
    的頭像 發表于 02-12 15:53 ?630次閱讀

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

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

    人工神經網絡的原理和多種神經網絡架構方法

    在上一篇文章中,我們介紹了傳統機器學習的基礎知識和多種算法。在本文中,我們會介紹人工神經網絡的原理和多種神經網絡架構方法,供各位老師選擇。 01 人工神經網絡 ? 人工神經網絡模型之所
    的頭像 發表于 01-09 10:24 ?1164次閱讀
    人工<b class='flag-5'>神經網絡</b>的原理和多種<b class='flag-5'>神經網絡</b>架構方法

    卷積神經網絡與傳統神經網絡的比較

    在深度學習領域,神經網絡模型被廣泛應用于各種任務,如圖像識別、自然語言處理和游戲智能等。其中,卷積神經網絡(CNNs)和傳統神經網絡是兩種常見的模型。 1. 結構差異 1.1 傳統神經網絡
    的頭像 發表于 11-15 14:53 ?1820次閱讀

    循環神經網絡的常見調技巧

    循環神經網絡(Recurrent Neural Networks,簡稱RNN)是一種用于處理序列數據的深度學習模型,它能夠捕捉時間序列中的動態特征。然而,RNN的訓練往往比傳統的前饋神經網絡更具
    的頭像 發表于 11-15 10:13 ?724次閱讀

    循環神經網絡優化技巧

    循環神經網絡(Recurrent Neural Networks,簡稱RNN)是一種用于處理序列數據的深度學習模型,它能夠捕捉時間序列中的動態特征。然而,RNN在訓練過程中可能會遇到梯度消失或梯度
    的頭像 發表于 11-15 09:51 ?724次閱讀

    LSTM神經網絡的調技巧

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

    Moku人工神經網絡101

    不熟悉神經網絡的基礎知識,或者想了解神經網絡如何優化加速實驗研究,請繼續閱讀,探索基于深度學習的現代智能化實驗的廣闊應用前景。什么是神經網絡?“人工
    的頭像 發表于 11-01 08:06 ?644次閱讀
    Moku人工<b class='flag-5'>神經網絡</b>101

    如何構建多層神經網絡

    構建多層神經網絡(MLP, Multi-Layer Perceptron)模型是一個在機器學習和深度學習領域廣泛使用的技術,尤其在處理分類和回歸問題時。在本文中,我們將深入探討如何從頭開始構建一個多層神經網絡模型,包括模型設計、數據預處理、模型訓練、評估以及
    的頭像 發表于 07-19 17:19 ?1533次閱讀

    神經網絡優化器有哪些

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

    神經網絡辨識模型具有什么特點

    ,可以對未知數據進行預測,具有很好的泛化能力。 自學習能力 :神經網絡通過反向傳播算法等優化算法,可以自動調整網絡參數,實現自學習。 并行處理能力 :神經網絡的計算可以并行進行,提高了
    的頭像 發表于 07-11 11:12 ?862次閱讀

    BP神經網絡和卷積神經網絡的關系

    BP神經網絡(Backpropagation Neural Network)和卷積神經網絡(Convolutional Neural Network,簡稱CNN)是兩種在人工智能和機器學習領域
    的頭像 發表于 07-10 15:24 ?2433次閱讀

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

    BP神經網絡和人工神經網絡(Artificial Neural Networks,簡稱ANNs)之間的關系與區別,是神經網絡領域中一個基礎且重要的話題。本文將從定義、結構、算法、應用及未來發展等多個方面,詳細闡述BP
    的頭像 發表于 07-10 15:20 ?2247次閱讀
    主站蜘蛛池模板: 新民市| 绥中县| 桐柏县| 囊谦县| 南召县| 比如县| 汝州市| 安龙县| 珲春市| 曲沃县| 依兰县| 金平| 北海市| 永登县| 凌海市| 闽清县| 嘉鱼县| 长寿区| 丹寨县| 吐鲁番市| 翁牛特旗| 临海市| 修水县| 孟津县| 隆回县| 清镇市| 陇南市| 海晏县| 盐山县| 岢岚县| 涞源县| 虹口区| 丰镇市| 旺苍县| 郴州市| 仙游县| 喀什市| 华坪县| 龙里县| 龙井市| 雷山县|