自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一行代碼訓練成本再降30%,AI大模型混合精度訓練再升級

人工智能
AI大模型開發(fā)系統(tǒng)Colossal-AI的混合精度訓練再度升級,支持主流的BF16(O2) + FP8(O1)的新一代混合精度訓練方案。僅需一行代碼,即可對主流LLM模型能夠獲得平均30%的加速效果,降低相應大模型開發(fā)成本,并保證訓練收斂性。

FP8通過其獨特的數(shù)值表示方式,能夠在保持一定精度的同時,在大模型訓練中提高訓練速度、節(jié)省內(nèi)存占用,最終降低訓練成本。

AI大模型開發(fā)系統(tǒng)Colossal-AI的混合精度訓練再度升級,支持主流的BF16(O2) + FP8(O1)的新一代混合精度訓練方案。

僅需一行代碼,即可對主流LLM模型能夠獲得平均30%的加速效果,降低相應大模型開發(fā)成本,并保證訓練收斂性。

無需引入額外的手寫CUDA算子,避免了較長的AOT編譯時間和復雜的編譯環(huán)境配置。

開源地址:https://github.com/hpcaitech/ColossalAI

FP8混合精度訓練

低精度計算一直是GPU硬件發(fā)展趨勢。

從最早的FP32,到目前通用的FP16/BF16,再到Hopper系列芯片(H100, H200, H800等)支持的FP8,低精度計算速度越來越快,所需的內(nèi)存也越來越低,非常符合大模型時代對硬件的需求。

目前FP8混合精度訓練影響訓練結(jié)果的最大因素就是scaling方案,常見的方案有兩種:

  • 延遲scaling
  • 實時scaling

延遲scaling采用之前一段時間窗口內(nèi)的scaling值來估計當前scaling,同時將scaling的更新和矩陣乘法(gemm)融合起來。這種計算方法效率較高,但由于是估算的scaling,所以對收斂性影響較大。

實時scaling直接采用當前的張量值來計算scaling,所以計算效率較低,但是對收斂性影響較小。根據(jù)英偉達的報告,這兩種scaling方案的計算效率差距在10%以內(nèi)。

Colossal-AI采用了對訓練收斂性影響較小的實時scaling方案,同時實現(xiàn)有著不輸其他延遲scaling實現(xiàn)的性能。

在單卡H100上對矩陣乘法進行的測試,可以看到矩陣的維度越大,F(xiàn)P8的加速效果越明顯,而且Colossal-AI的實現(xiàn)與Transformer Engine的性能幾乎一致,如圖1所示。但Transformer Engine需要復雜的AOT編譯環(huán)境配置和較長的編譯時間。

圖片圖片

△圖1. 單卡GEMM性能測試

為了實驗結(jié)果更貼近現(xiàn)實,Colossal-AI直接在主流LLM上進行了實際訓練的測試。

首先在H100單卡上進行了測試,以下測試中Transformer Engine (TE)采用的其默認的延遲scaling方案。

圖片圖片

圖片圖片

同時進行了收斂性測試,可以看到FP8混合精度訓練的loss曲線與bf16的基本一致,如圖4所示:

圖片圖片


△圖4. H100單卡 LLaMA2-7B 混合精度訓練loss曲線

Colossal-AI還測試了H800多卡并行訓練場景下的性能。在單機8卡H800上訓練LLaMA2-7B,Colossal-AI FP8對比Colossal-AI BF16有35%的吞吐提升,對比Torch FSDP BF16有94%的吞吐提升。

圖片圖片

在單機8卡H800上訓練LLaMA2-13B,Colossal-AI FP8對比Colossal-AI BF16有39%的吞吐提升。

圖片圖片

在2機16卡H800上訓練Cohere Command-R 35B,Colossal-AI FP8對比Colossal-AI BF16有10%的吞吐提升,如圖7所示:

圖片圖片

根據(jù)英偉達的報告和測試經(jīng)驗,對FP8混合精度訓練性能調(diào)優(yōu)有一些初步的認識:

  • 盡量少使用張量并行,用流水線并行代替張量并行
  • 模型hidden size越大,加速效果越明顯
  • 矩陣乘法占比高的模型加速效果大

由于上述實驗中Command-R 35B采用了張量并行,所以加速效果不太明顯。

Colossal-AI對FP8的支持較為廣泛,各種并行方式都能和FP8混合精度訓練兼容。使用時,僅需在初始化plugin時開啟FP8即可:

from colossalai.booster.plugin import GeminiPlugin, HybridParallelPlugin, LowLevelZeroPlugin
...
plugin = LowLevelZeroPlugin(..., use_fp8=True)
plugin = GeminiPlugin(..., use_fp8=True)
plugin = HybridParallelPlugin(..., use_fp8=True)

除此之外,無需多余的代碼和AOT編譯。

開源地址:https://github.com/hpcaitech/ColossalAI

責任編輯:武曉燕 來源: 量子位
相關(guān)推薦

2023-11-10 09:41:44

Python代碼

2020-07-13 14:30:35

人工智能機器學習技術(shù)

2021-05-11 20:46:17

Python代碼分類

2023-02-20 13:50:39

AI 領(lǐng)域建模大數(shù)據(jù)

2023-11-02 12:49:00

AI模型

2024-07-08 13:11:40

2021-12-06 20:32:41

AI

2023-10-18 12:50:12

數(shù)據(jù)模型

2025-03-11 09:20:00

2023-02-09 16:32:16

混合精度深度學習

2025-04-01 09:54:09

AI算法大模型AI

2022-06-15 11:27:15

開源代碼項目

2020-11-17 08:36:08

云計算混合云技術(shù)

2023-07-12 10:04:20

模型訓練

2023-06-15 09:58:48

2024-11-27 14:30:00

模型訓練

2023-06-27 12:56:23

微軟AI

2025-03-12 12:10:13

2025-01-09 08:01:10

2025-03-13 12:39:22

點贊
收藏

51CTO技術(shù)棧公眾號