11 月10 日訊息,大語言模型(LLM)快速崛起,在語言生成和理解方面表現出光明的前景,影響超越了語言領域,延伸到邏輯、數學、物理等領域。
不過想要解鎖這些“非凡能量”,需要付出高額的代價,例如訓練540B 模型,需要Project PaLM 的6144 個TPUv4 晶片;而訓練175B 的GPT-3,需要數千Petaflop/s-day。
一個很好的解決方案是進行低精度訓練,這可以提高處理速度,降低記憶體使用和通訊成本。目前主流的訓練系統包括Megatron-LM、MetaSeq和Colossal-AI,預設使用FP16/BF16混合精度或FP32全精度來訓練大型語言模型
雖然這些精度等級對於大語言模型來說是必必不可少的,但它們的計算成本很高。
如果採用 FP8 低精度,可以將速度提高 2 倍、記憶體成本降低 50% 至 75%,並且可節省通訊成本。
目前只有 Nvidia Transformer Engine 相容 FP8 框架,主要利用這種精確度進行 GEMM(通用矩陣乘法)計算,同時以 FP16 或 FP32 高精度維持主權重和梯度。
為了應對這項挑戰,來自 Microsoft Azure 和 Microsoft Research 的一組研究人員推出了一個高效的 FP8 混合精度框架,專為大型語言模型訓練量身定制。
微軟引進了三個最佳化階段,利用 FP8 進行分散式和混合精準度訓練。隨著這些層級的進展,FP8 整合程度的提高變得明顯,這表明對 LLM 訓練過程的影響更大。
此外為了克服資料溢出或下溢等問題,微軟研究人員提出自動採樣和精確解耦兩種關鍵方法,前者涉及對精度不敏感的組件降低精度,動態調整Tensor 採樣因子,以確保梯度值保持在FP8 表示範圍內。這可以防止全減少通訊期間的下溢和溢流事件,確保訓練過程更加順暢。
微軟經過測試,與廣泛採用的 BF16 混合精度方法相比,記憶體佔用減少 27% 至 42%,權重梯度通訊開銷顯著降低 63% 至 65%。運行速度比廣泛採用的 BF16 框架(例如 Megatron-LM)快了 64%,比 Nvidia Transformer Engine 的速度快了 17%。
在訓練GPT-175B 模型時,混合FP8 精度框架在H100 GPU 平台上節省21% 的內存,而且相比較TE(Transformer Engine),訓練時間減少17%。
本站在此附上GitHub 地址和論文地址:https://www.php.cn/link/7b3564b05f78b6739d06a2ea3187f5ca
##################################################### ##以上是微軟發布新的混合精準度訓練框架 FP8:速度超過 BF16 64%,記憶體佔用減少 42%的詳細內容。更多資訊請關注PHP中文網其他相關文章!