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

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

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

3天內不再提示

FP8在大模型訓練中的應用

NVIDIA英偉達企業解決方案 ? 來源:NVIDIA英偉達企業解決方案 ? 2025-01-23 09:39 ? 次閱讀

越來越多的技術團隊開始使用 FP8 進行大模型訓練,這主要因為 FP8 有很多技術優勢。比如在新一代的 GPU 上,FP8 相對于 BF16 對矩陣乘算子這樣的計算密集型算子,NVIDIATensorCores能夠提供兩倍的峰值性能,相對于 TF32 能夠提供四倍的加速,從而大大縮短計算密集型算子的計算時間。而對于訪存密集型的算子,由于 FP8 所需的數據量更少,可以減輕訪存壓力,加速這些算子。如果在訓練時使用 FP8 精度,可以更方便快速的將 FP8 部署到推理側,使 FP8 訓練可以更容易順暢地與低精度推理相結合等。

同時,由于 FP8 的動態范圍和精度相對于之前使用的 FP16/BF16/FP32 更小,如果使用 FP8 代替原來的數值精度進行訓練,技術團隊在模型和數據集上可能會遇到 FP8 精度的挑戰。

FP8 訓練的主要問題及解決思路

通過與很多技術團隊交流,我們把 FP8 訓練的主要問題分為以下三類,并且對可以考慮的解決思路做一個簡單介紹。

Spike 問題,即 Loss Spike。其實這并不是 FP8 特有的問題,在 BF16 中也可能遇到。引起 Loss Spike 的原因比較多,比如可能與選擇的算法有關,目前沒有特定的解決方案。但如果 FP8 的 Spike 與 BF16 類似,我們大概率可以認為這是一個通用問題;但如果 FP8 的 Spike 更多且需要多次迭代才能恢復正常,則可能是 FP8 訓練存在問題,需要進一步檢查。

FP8 的 Loss 問題,可能會遇到 Loss 增加或發散的情況。我們又可以將其分為三種情況:

o 情況 1:訓練開始時 Loss 就發散,這通常是軟件問題,可能存在 Bug,建議使用 NVIDIA 最新的NeMo /Mcore (Megatron Core) /TE (Transformer Engine)版本來減少出錯概率。

o 情況 2:檢查訓練配置,是否使用了新的優化點,如 CPU offloading、FP8 parameters 等新功能。可以嘗試先關閉這些功能,看看是否是由此導致的問題。

o 情況 3:數值問題也可能導致 Loss 問題,可以嘗試使用 BF16 進行 FP8 計算,輸入為 FP8 tensor,但使用 BF16 的 GEMM。Loss 問題發生在訓練中期,比如訓練了幾百個 token 后突然出現 Loss 上漲或發散,可以嘗試其他 recipe,如 current scaling 或 fangrand scaling,或將某些層 fallback 到 BF16。最近的研究表明,因為首層和最后一層更敏感,將第一層和最后一層 fallback 到 BF16 效果提升明顯。

Loss 沒有問題,但下游任務指標與 BF16 有差距,也可以概括為兩種情況。

o 情況 1:所有下游任務指標都有問題。建議檢查下游任務指標的 inference 流程是否正確,如是否讀取了正確的 scaling factor 和 weight。也可能是某些任務有問題,但其他任務可以與 BF16 對齊,這時可以嘗試改變 FP8 訓練的 recipe,嘗試 current scaling 或部分層 fallback 到 BF16。

o 情況 2:inference 使用 BF16,但訓練使用 FP8。由于模型已經是 FP8 訓練的結果,使用 BF16 進行 inference 可能會引入更多誤差。建議嘗試使用 FP8 訓練加 FP8 inference,看看下游任務打分是否恢復正常。

FP8 Debug 工具介紹

針對 FP8 訓練過程中的 Debug 思路,可以參考“探索 FP8 訓練中 Debug 思路與技巧”技術博客里面的總結:

https://developer.nvidia.com/zh-cn/blog/fp8-training-debug-tips/

18da13bc-d8b4-11ef-9310-92fbcf53809c.png

圖片來源于 NVIDIA FP8 debug 工具

FP8 的訓練效果我們一般通過觀察 Loss 曲線或下游任務的指標來進行評估。比如,會檢查 Loss 是否發散,從而判斷 FP8 是否有問題。同時我們也希望找到一些其他指標,能在訓練過程中用于評估 FP8 的穩定性。此外,我們還希望通過一些指標來評估量化的誤差,如果出現 FP8 訓練問題,問題是發生在某個特定的層或張量上。通過這些深入的了解,我們可以幫助選擇更好的訓練方案,同時在訓練過程中進行調整。

因此我們開發了一個 FP8 Debug 工具,這個工具中包含了一些指標,用于觀察 FP8 訓練的狀態,包括MSE 和余弦相似性(用于 BF16 和 FP8 之間的量化誤差),Tensor 的 Underflow 和 Overflow(用于查看是否因為 FP8 的動態范圍比 BF16 小而導致過多的 Underflow 或 Overflow,進而引起的精度問題)。

其次,我們還記錄了一些統計值,如對比 Delayed Scaling 的 Scaling Factor 與使用當前 Tensor 的 Current Scaling 的 Scaling Factor 之間的誤差(這代表 Delayed Scaling 是否能準確表征當前 Tensor 的表現)。

除了這些指標外,我們還可以將這些 Tensor Dump 出來,并動態選擇 Dump 哪些層,記錄這些指標。

目前這個工具可以與 NVIDIA 任何版本的NeMo Megatron兼容,沒有改動這些框架的內部代碼,因此無論使用哪個版本的框架,都可以使用這個工具進行相應的分析。

18f9fee8-d8b4-11ef-9310-92fbcf53809c.png

在使用 Debug 工具進行分析的時候,我們會 Dump 一些 Tensor 并進行分析,可以看到:

包括了 Tensor 的名稱和 Layer 的名稱,即哪一層的哪一個 Tensor。例如,我們會 Dump Forward 的 Input,即 GEMM 的 Input 和 Weight,以及反向傳播時的 Dy 的 Tensor。

可以周期性地打印不同 Step 的結果,觀察整個過程中的變化,從而了解不同 Step 的情況。

可以觀察不同的指標,如 AMin 和 AMax,以及 Current Scaling 和 Delay Scaling 這兩種 Scaling 的區別。

通過打印出來的值,觀察余弦相似性 MSE 這兩種量化誤差,以及 Underflow 和 Overflow 的比例來判斷表現。

19157aa6-d8b4-11ef-9310-92fbcf53809c.png

數據來源于 NVIDIAFP8 debug工具

工具也可以將對應的 FP8 Tensor 保存下來,以便后期進行更多的指標分析。

這些指標主要來自我們技術團隊基于一些技術論文以及業務實踐中的討論和總結。

內部實驗中觀察到的案例:

19325144-d8b4-11ef-9310-92fbcf53809c.png

數據來源于 NVIDIAFP8 debug工具

如上圖所示,紅色線條代表 FP8 正常收斂的 good case,沒有出現 Loss 發散,Loss 在正常下降。而綠色線條則代表 FP8 的 bad case,訓練到 2000 步后開始發散。這兩個 case 是我們人為構造的,通過調整學習率來展示 good case 和 bad case。

以下是幾個指標情況:

195031d2-d8b4-11ef-9310-92fbcf53809c.jpg

數據來源于 NVIDIA 內部實驗

MSE - 這個指標上邊的是 bad case,下邊是 good case。我們把這兩個放在一起,可以看到對于 forward X,bad case 下幾個矩陣的 MSE 最大值都已經達到了 10 的三次方。也就是說 FP8 和 BF16 的量化誤差已經到了 10 的三次方。但是對于 good case 來說,量化誤差其實只有 10 的負二次方。通過這樣的對比,我們可以看到對于 forward X 的 tensor 來說,它可能是有問題的。

1967662c-d8b4-11ef-9310-92fbcf53809c.jpg

數據來源于 NVIDIA 內部實驗

Underflow 對比 - bad case 上 FC2 的 forward X,有 80% 的最大 Underflow 比率。但對于下邊 good case 來說,它最大的情況下也只有 1% 。

所以對于 forward 的 FC2 來說,X 可能需要格外關注并考慮,比如是否要 fallback 到 BF16?或者用一些其他的 scaling 策略來保證它的精度。

目前,FP8 Debug 工具還在內部測試階段,如果希望了解或嘗試該工具,可以聯系您對接的 NVIDIA 技術團隊,也歡迎您提供建議共同豐富這個工具的功能。

本文摘選自“NVIDIA AI加速精講堂 —— FP8在大模型訓練中的應用、挑戰及實踐”,可訪問NVIDIA 官網觀看完整在線演講。

關于作者

黃雪

NVIDIA 解決方案架構師,碩士畢業于哈爾濱工業大學,主要負責深度學習訓練方面工作,在深度學習框架、超大規模模型訓練,分布式模型訓練加速優化等技術方向有豐富的研究經驗。

GTC 2025 將于2025 年 3 月 17 至 21 日在美國加州圣何塞及線上同步舉行。

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

    關注

    14

    文章

    5072

    瀏覽量

    103520
  • gpu
    gpu
    +關注

    關注

    28

    文章

    4767

    瀏覽量

    129209
  • 大模型
    +關注

    關注

    2

    文章

    2533

    瀏覽量

    3006

原文標題:FP8 在大模型訓練中的應用、挑戰及實踐

文章出處:【微信號:NVIDIA-Enterprise,微信公眾號:NVIDIA英偉達企業解決方案】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    【大語言模型:原理與工程實踐】大語言模型的預訓練

    增長。DeepMind相關論文中指出,模型大小和訓練Token數應以相似速率增長,以確保最佳性能。因此,構建與模型規模相匹配的預訓練數據至
    發表于 05-07 17:10

    Pytorch模型訓練實用PDF教程【中文】

    本教程以實際應用、工程開發為目的,著重介紹模型訓練過程中遇到的實際問題和方法。機器學習模型開發,主要涉及三大部分,分別是數據、
    發表于 12-21 09:18

    基于Keras利用訓練好的hdf5模型進行目標檢測實現輸出模型的表情或性別gradcam

    CV:基于Keras利用訓練好的hdf5模型進行目標檢測實現輸出模型的臉部表情或性別的gradcam(可視化)
    發表于 12-27 16:48

    Ubuntu上使用Nvidia GPU訓練模型

    問題最近在Ubuntu上使用Nvidia GPU訓練模型的時候,沒有問題,過一會再訓練出現非常卡頓,使用nvidia-smi查看發現,顯示GPU的風扇和電源報錯:解決方案自動風扇控制
    發表于 01-03 08:24

    分享一種用于神經網絡處理的新8位浮點交換格式

    ,以便更好地匹配值(權重、激活,漸變等)被處理,而不是僅僅依賴于 FP8 格式。此外,模型可以FP8 相同的格式下進行訓練和部署,而定
    發表于 09-15 15:15

    推斷FP32模型格式的速度比CPU上的FP16模型格式快是為什么?

    CPU 上推斷出 FP32 模型格式和 FP16 模型格式。 FP32
    發表于 08-15 08:03

    小米訓練模型的探索與優化

    導讀:預訓練模型NLP大放異彩,并開啟了預訓練-微調的NLP范式時代。由于工業領域相關業務的復雜性,以及工業應用對推理性能的要求,大規模預訓練
    的頭像 發表于 12-31 10:17 ?2655次閱讀
    小米<b class='flag-5'>在</b>預<b class='flag-5'>訓練</b><b class='flag-5'>模型</b>的探索與優化

    【AI簡報20231103期】ChatGPT參數揭秘,中文最強開源大模型來了!

    訓練擴展模型大小,節約訓練成本的最關鍵技術之一。相比于當前的 16 位和 32 位浮點混合精度訓練,使用
    的頭像 發表于 11-03 19:15 ?1519次閱讀
    【AI簡報20231103期】ChatGPT參數揭秘,中文最強開源大<b class='flag-5'>模型</b>來了!

    FP8NVIDIA GPU架構和軟件系統的應用

    深度學習和人工智能的快速發展背景下,尤其是大語言模型(Large Language Model,LLM)的蓬勃發展,模型的大小和計算復雜性不斷增加,對硬件的性能和能效提出了極高要求。
    的頭像 發表于 03-28 14:09 ?943次閱讀
    <b class='flag-5'>FP8</b><b class='flag-5'>在</b>NVIDIA GPU架構和軟件系統<b class='flag-5'>中</b>的應用

    NVIDIA GPU架構下的FP8訓練與推理

    FP8 訓練利用 E5M2/E4M3 格式,具備與 FP16 相當的動態范圍,適用于反向傳播與前向傳播。
    的頭像 發表于 04-25 10:01 ?855次閱讀
    NVIDIA GPU架構下的<b class='flag-5'>FP8</b><b class='flag-5'>訓練</b>與推理

    FP8模型訓練Debug優化思路

    目前,市場上許多公司都積極開展基于 FP8 的大模型訓練,以提高計算效率和性能。在此,我們整理并總結了客戶及 NVIDIA 技術團隊 FP8
    的頭像 發表于 09-06 14:36 ?379次閱讀
    <b class='flag-5'>FP8</b><b class='flag-5'>模型</b><b class='flag-5'>訓練</b><b class='flag-5'>中</b>Debug優化思路

    FP8數據格式大型模型訓練的應用

    本文主要介紹了 FP8 數據格式大型模型訓練的應用、挑戰及最佳實踐,展示了 FP8
    的頭像 發表于 11-19 14:54 ?444次閱讀
    <b class='flag-5'>FP8</b>數據格式<b class='flag-5'>在</b>大型<b class='flag-5'>模型</b><b class='flag-5'>訓練</b><b class='flag-5'>中</b>的應用

    如何使用FP8新技術加速大模型訓練

    利用 FP8 技術加速 LLM 推理和訓練越來越受到關注,本文主要和大家介紹如何使用 FP8 這項新技術加速大模型訓練。 使用
    的頭像 發表于 12-09 11:30 ?266次閱讀

    GPU是如何訓練AI大模型

    AI模型訓練過程中,大量的計算工作集中矩陣乘法、向量加法和激活函數等運算上。這些運算正是GPU所擅長的。接下來,AI部落小編帶您了解GPU是如何
    的頭像 發表于 12-19 17:54 ?201次閱讀

    采用FP8混合精度,DeepSeek V3訓練成本僅557.6萬美元!

    一, 前言? ? AI領域,訓練一個大型語言模型(LLM)是一個耗時且復雜的過程。根據之前《從零開始訓練一個大語言
    的頭像 發表于 01-13 11:12 ?144次閱讀
    主站蜘蛛池模板: 免费日韩一级片 | 欧美xxxx色视频在线观看 | www射射一区 | 天堂在线www在线资源 | 最近高清免费观看视频 | 午夜大片在线观看 | 巨臀中文字幕一区二区翘臀 | 亚洲夂夂婷婷色拍ww47 | 99久久国产综合精品国 | 国产女同在线观看 | 手机看片1024在线 | 色综合久久综合欧美综合网 | 极品丰满翘臀后进啪啪 | 国产欧美日韩综合精品无毒 | 18女人毛片 | 国产精品日本亚洲777 | 久久青草国产精品一区 | 免费色网址| 黄网在线观看 | 四月婷婷七月婷婷综合 | 中国一级生活片 | 2022第二三四天堂网 | 2020天天干 | 亚洲欧美7777 | 国产精欧美一区二区三区 | 欧美午夜性 | 呦交小u女国产秘密入口 | 精品国产你懂的在线观看 | 欧美在线一级视频 | 天天草夜夜骑 | 亚洲午夜久久久精品影院视色 | 欧美日韩一区在线观看 | 老湿司午夜爽爽影院榴莲视频 | www亚洲欲色成人久久精品 | 国产黄色网页 | 久久精品国产精品亚洲婷婷 | 色依依视频视频在线观看 | 永久在线免费观看 | 三级毛片在线免费观看 | 免费在线黄网 | 亚洲第一区第二区 |