支撐大模型訓練,最重要的東西是啥?
有人說當然是GPU啊、算力卡啊。
的確,以算力為核心的硬件部分很重要,但是這些你只要有錢就可以買到。
你知道嗎,其實軟的部分同樣重要,沒軟件的話,算力卡就是磚頭。
軟件這部分呢,主要包含兩大塊:
1、計算庫,比如大家熟知的CUDA里面的cuDNN、cuBLAS等等;
2、深度學習框架,比較流行的有:PyTorch、飛槳(PaddlePaddle)、TensorFlow等,這三大框架也被稱為“PPT組合”。
如果拿大家熟悉的電腦舉例子↓
算力卡相當于電腦硬件,計算庫相當于硬件驅動,而深度學習框架就相當于操作系統。
這么說吧,在大模型訓推場景里,深度學習框架的地位堪比電腦領域的操作系統,重要程度可想而知。
為什么這么重要?還堪比操作系統?我再來舉個更通俗的例子——
把訓練大模型比作蓋樓,那么大樓就是大模型,而各種建材就相當于數據。
蓋樓的過程就是模型訓練的過程,這其中有三類角色起到關鍵作用↓
GPU/算力卡:相當于先進的施工機械,具備快速蓋樓能力。
計算庫:相當于精通機械操作的工人,有了他們機器才能開動。
飛槳、Pytorch等深度學習框架:相當于施工總指揮。
總指揮要負責把設計圖(模型架構、訓練邏輯)翻譯成具體指令,安排工人(CUDA、cuDNN等)去操控施工機械(GPU)。
他還要管理施工過程中的各個細節,如施工進度、材料調配、返工調整等。
正經定義:深度學習框架是基于對神經網絡表示和計算的抽象封裝,為開發、訓練、部署AI模型提供全流程支撐的AI基礎軟件。
核心功能包括模型定義與構建、數據預處理與加載、自動微分、算力卡及其計算庫適配對接、計算圖執行和加速優化、分布式訓練、推理部署等等。
一個大樓蓋下來,人們往往看到機械運轉(算力卡),工人忙碌(計算庫),卻忘記了背后的那個運籌帷幄、統攬全局的總指揮(深度學習框架)。
實際上,不管傳統AI、機器學習時代,還是如今的大模型時代,深度學習框架都是不可或缺的鐵三角之一。
今年,AI圈的行情又有了新變化!
DeepSeek井噴之后,國產大模型的訓練、優化,以及推理應用越來越普及。
一方面國內大廠紛紛推出新一代的基礎模型,另一方面這些模型迅速在各行各業落地生根。
這波新行情來勢洶洶,在技術層面和生態層面,對深度學習框架提出了新要求。
從技術層面看,大規模分布式訓練和并行推理成為新常態,同時模型迭代周期變短,需要框架提供更好的支持,無論訓推的性能上還是開發的靈活性上。
從生態層面看,大量國產算力芯片、國產模型開始唱主角,同樣需要框架能夠適配。
面對這些新變化,哪個框架能快速適應,就會更受歡迎。
事實上,三大主流框架中(P、P、T),百度飛槳(PaddlePaddle)早早就做好了準備。
一、先看技術層面
大規模分布式訓練本質上是多個節點協作完成神經網絡訓練任務,涉及到復雜的計算圖優化、通信優化,同時又需要保證開發靈活性與執行效率之間的平衡。
飛槳擁有一項獨門絕技:動靜統一,可以完美契合這種需求。
啥是「動靜統一」呢?
在深度學習中,神經網絡的計算過程通常都可以抽象成計算圖,這個圖的作用至關重要。
計算圖把復雜的數學運算用圖(節點與邊)直觀地表示出來,進而實現自動計算、自動優化、自動求導。
這就好比蓋樓時需要施工圖,有了施工圖,所有人才知道如何正確施工、如何合理搭配建材、如何提高效率縮短工期。
計算圖通常由兩種,一種叫做動態圖,就是在運行時動態來構建計算圖。
就好比你一邊蓋樓,一邊畫施工圖,隨建隨畫,按需靈活修改。
與動態圖相對應的,是靜態圖,是指在編譯或構建階段實現確定圖結構,然后再執行訓練或推理。
就好比蓋樓的時候,施工前所有的圖紙必須是定好了的,然后蓋樓一氣呵成,效率才有保障。
說白了,動態圖在計算時創建,易于動態控制、快速迭代,適合搞研究和開發。
而靜態圖結構固定,可以提前優化好,執行效率高,但沒法按需動態調整,靈活性不夠。適合嚴肅的生產級部署場景、高效推理。
動態圖靈活,但分布式效率低,靜態圖性能高,但分布式開發體驗差。偏偏新時代的“蓋樓”需求,兩樣都想要。
此時,壓力就給到施工總指揮(深度學習框架)這里了,只有把靜態圖和動態圖兩者的優勢統一起來,才能更好地適應新時代“蓋樓”節奏。
這種“魚和熊掌兼得”,恰恰就是百度飛槳提出并一直在強調的「動靜統一」能力。
飛槳允許靈活選擇動靜模式,一鍵轉換,無縫支持大規模訓推。
開發時用動態圖模式,保證靈活性與易用性, 訓練、部署時自動轉換為靜態圖,實現分布式性能優化(通信優化、并行優化、減少冗余操作)。
# PaddlePaddle動態圖模式
import paddle
paddle.disable_static() # 啟用動態圖模式
x = paddle.to_tensor(1.)
y = paddle.to_tensor(2.)
print(x + y)
# 轉為靜態圖
paddle.enable_static() # 啟用靜態圖模式
就這樣,動靜統一讓百度飛槳成為當下分布式訓推場景表現更優秀的框架。
當然,飛槳的技術亮點遠不止動靜統一。
比如飛槳提供了對模型訓練的特別優化,有效提升訓練吞吐率、訓練有效率和收斂效率,并提供軟硬一體的大模型自動容錯方案。
我們來講個提升訓推性能的黑科技↓
在大模型訓推過程中,需要處理大量數據,經常要用到一種叫「注意力機制(Attention)」的計算方法。
讓模型從長長的文本中,找出哪些信息是重要的,哪些信息可以忽略。
飛槳首創了「FlashMask 動態注意力掩碼」:加速大模型靈活注意力掩碼計算,有效提升長序列建模能力和訓練效率。
這項獨門技術,巧妙地對注意力機制的計算過程進行優化和簡化,支持靈活多樣的注意力掩碼模式,減少模型在進行長文本處理時不必要的計算和存儲需求。
從而模型在處理更長文本時,速度更快,占用顯存更少,優化長文處理能力和多輪交互表現。
同時,針對多模態模型、長序列等關鍵訓練場景以及訓練突刺、訓練資源變化和訓練中斷恢復等實際問題,飛槳創新性的拿出了一系列優化技術。
這些技術包括:多模型結構混合并行、分片切分并行、靈活批次虛擬流水線、存算平衡的重計算、AdaGC自適應梯度裁剪和ZCC Ckpt高效轉存等技術等等。
然后,再結合模型算法特點和實際訓練場景,從并行策略、計算優化、算法效率、集群容錯等各個方面進行全棧優化。
不僅如此,面對當下火爆的大模型推理需求,飛槳針對推理場景也做了大量優化。
比如飛槳PaddleSlim技術,為模型壓縮瘦身,在效果無損的前提下,大幅降低推理算力開銷。
剛剛發布的飛槳框架3.0,又為我們帶來了更多技術亮點↓
比如自動并行、神經網絡編譯器自動優化等等,所有這一切都是為大規模分布式訓練和推理未雨綢繆。
二、再看生態層面
目前,國產化算力已經開始全面上線(昆侖芯、昇騰、海光、寒武紀、沐曦……),算力短缺的情況會緩解,未來的大模型訓推,國產算力會逐漸唱主角。
但是,市面上的其他流行框架,對國產算力卡、計算庫、國產模型的支持,存在嚴重短板。
飛槳則擁有更加開放的生態,對國產化算力的支持,在業內是獨一無二的,而且,飛槳也支持所有主流大模型。
同時,飛槳框架3.0還進一步簡化了硬件適配,為大模型硬件適配提供了功能完善且低成本的方案。
3月16日,百度發布了新一代原生多模態基礎大模型文心4.5,通過多個模態聯合建模實現協同優化,多模態理解能力優秀;具備更精進的語言能力,理解、生成、邏輯、記憶能力全面提升,去幻覺、邏輯推理、代碼能力顯著提升。
在文心4.5的訓練和部署上線過程中,飛槳發揮了重要的作用。
可以想象一下,未來幾年的名場面:國產AI框架的統籌調度之下,國產算力卡、國產計算庫、國產大模型協同作戰…
總指揮、工人、施工機械,全國產化方案,一條龍蓋樓嘍!
百度飛槳的含金量,還在上升…
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.