-
英伟达的护城河——NVLink
英偉達有三條較重要的護城河,CUDA軟體霸權 + NVLink硬體壟斷 + 供應鏈控制地位。今天我們來介紹一下其中的NVLink技術。NVLink技術是一種卡間通訊技術,可解決大模式推理延遲。大模型推理跟訓練不是一回事,訓練能慢慢磨,推理得即時回應,用戶發個請求總不能等半天吧?所以推理場景的要求其實是“低延遲下的高吞吐量”,還得扛住動態batch(就是有時候請求多有時候少)、模型並行拆分這些實際問題。從硬體角度看更直觀,像DeepSeek-R1-671b這種等級的大模型,推理延遲裡顯存頻寬佔45%、GPU運算效能佔25%,而GPU間通訊直接佔了20%,比PCIE頻寬的5%影響大多了,所以要最佳推理延遲,GPU間優化傳資料絕對不能忽略。但要解決GPU間通訊的問題,得先看這些GPU是在什麼範圍裡協作——如果是在單個超節點內部,比如一個裝了72個GPU的液冷機櫃裡,這些GPU要頻繁交換模型層數據、激活值這些密集信息,普通連接根本扛不住,這時候就需要一種專門針對“單個集群內部資料交換,壓下這部分的延遲;但Scale-Up網路也不是隨便搭的,得有能讓GPU之間高速直連的技術撐著,比如NVLink,再配合NVSwitch,就不是隨便搭的,得有能讓GPU之間高速直連的技術撐著,比如NVLink,再配合NVSwitch,就沒有把單一超節點裡的GPU連起來,形成低延遲、高頻寬的通訊鏈路,畢竟要是沒有把單一超節點裡的GPU連起來,形成低延遲、高頻寬的通訊鏈路,畢竟要是沒有將這種快速傳輸線提供每GPU*等單一超節點裡的通訊靠Scale-Up和NVLink理順了,要是還想把多個這樣的超節點連成更大的集群,那就是Scale-Out網路該管的事了,不過當下先解決GPU間通訊延遲,先得把Scale-Up這種單超節點內的網路架構,以及支撐它的NVLink技術搞清楚。 因此,本文分成兩部分,先介紹Scale-Up概念,再介紹Scale-Up中最主流的NVLink技術。一、Scale-Up概念(一)快取一致性首先,模型並行這塊-大模型參數動不動幾十上百億,單GPU根本裝不下,比如把一個Transformer模型拆成好幾層,每層放不同GPU上跑,這時候最關鍵的就是GPU之間還要啟動資料,例如前一層的傳值要傳到矩陣要傳到矩陣。 Scale Up講的是一個“緩存一致性”,如果沒有緩存一致,每個GPU都得自己存一份中間數據,不僅佔內存,傳的時候還得整份整份發;但有了緩存一致,比如NVLink那種,幾個GPU能共享同一塊“虛擬緩存”,前一層GPU算完的激活值不用特意傳,後一層GPU直接從共享快取裡讀,省了來回拷貝的時間,尤其推理時很多中間資料是可以復用的(比如同一batch裡多個樣本的特徵圖),緩存一致能把這種復用效率拉滿,這才是它在推理裡真正的價值,不是光說帶寬高就行的。 (二)推理過程的延遲再說說延遲的影響,Scale Up(單機櫃裡的通訊)延遲250ns,而Scale Out(不同機櫃之間的通信)六七百ns,看著只差幾百納秒,可推理裡這差距會被放大。推理時的每個請求的處理鏈路裡,通信佔比其實很高,比如一個動態batch裡有100個請求,每個請求要經過5次GPU間通信,每次差400ns,總共就差2微秒,2微秒延遲已經很高了,高並發的時候(電商大促客服、短卡視頻推薦),2微秒延遲已經很高了,高並發的時候(電商大促客服、短卡視頻推薦),累積成千上萬個請求而且推理不像訓練能做很多數據預取,很多時候得“即時通信”,比如處理完一層馬上要下一層的數據,這時候Scale Up的低延遲就是剛需,要是用Scale Out,光等數據傳輸就把GPU空著了,利用率上不去,吞吐量自然就掉下來。 (三)成本比較還有成本這塊,Scale Up硬體比Scale Out貴兩、三倍,可推理是長期跑的,不能只看初期買設備的錢。 Scale Up因為快取一致和高頻寬,GPU利用率能提不少——比如用Scale Out的時候,GPU可能有30%時間在等數據,Scale Up能把這段時間壓到10%以內,相當於同樣10個GPU,Scale Up能多處理快一倍的請求,長期算下來電費、機房空間都省了。而且超大規模廠商搞推理集群,Scale Out要維護多跳路由、複雜的網路配置,維運人員得天天盯著。再看廠商那些技術路徑,他們在推理場景都是用的什麼Scale Up技術。(四)不同的Scale Up技術NVIDIA的NVLink Fusion,說是能讓CPU和GPU協同,這在推理裡其實很關鍵——因為推理時CPU要做預處理(比如把文字轉token)、GPU做計算、CPUPU後處理,要是CPU和GPU通信慢卡,整個鏈路就這樣。 NVLink Fusion讓它們快取一致,CPU預處理好的資料直接進GPU緩存,不用等PCIe慢慢傳,低延遲就有保障了,但問題是它得搭NVIDIA自己的Grace ARM處理器,其實很多廠商之前的推理集群都是x86架構,要是換ARM,驅動、軟體服務都得重來,就算不開的AMD的UA Link,說是能快速落地,可推理集群有時候也需要多機架擴展(比如一個城市的推理請求集中到幾個機架),UA Link在多機架上不如以太網,要是後期想擴規模,就得換設備,反而麻煩。大的CSP廠商例如Google、Meta為啥傾向乙太網路?因為他們的推理模型經常換,還得相容於不同晶片(如TPU、MTIA),乙太網路生態成熟,不管換什麼硬件,軟體不用大改,推理服務能快速上線,不像NVLink、UA Link那樣綁死在某類硬體上。 (五)連接技術和白盒設備還有連接技術和白盒設備。單機架用銅纜,因為推理集群大多是集中部署的,比如一個資料中心裡的推理節點就擠在幾個機架裡,銅纜成本低還夠快,4機架以內用AEC銅纜也能,超過4機架才用光纖——畢竟推理不像訓練可能跨地域,沒必要一開始就上光纖。 CPO技術說潛力大,也是因為推理集群密度高,一堆GPU擠在一起,CPO能省空間還降散熱,而且推理是持續高負載,CPO的能效比優勢明顯,但超大規模廠商為啥不敢先上?因為推理服務不能停,CPO是新技術,萬一出點兼容性問題,整個集群就得 downtime,損失太大,所以他們寧願先從銅纜跑順了,等CPO穩定了再慢慢換,這是從“推理不能斷”的角度考慮的,不是光看技術先進。 白盒設備也是,推理時要相容於不同廠商的GPU(例如有的節點用NVIDIA A100,有的用AMD MI300),白盒得調驅動、固件,調試起來麻煩,推理集群最怕出問題,所以寧願多花點錢買Arista這種品牌設備,穩定,運維省心,就算貴點也值。二、NVLink技術 (一)物理層面NVLink不只是個快一點的連接線,從實體層到協定層、再到拓樸擴展,每一步都在解決傳統互連(PCIe)在AI場景裡的短板。 首先說物理層,第五代NVLink能做到1.8TB/s雙向頻寬,不是靠堆線那麼簡單,它用的是「點對點全雙工通道」設計:每個GPU上都整合了專門的NVLink控制器,控制器會分出多個高速差分訊號通道(例如單一通道速率能到100GB/s以上),這些通道不經過任何中間「中繼站」(PCIe的話得走主機板的根複合體),直接連接到另一個GPU的控制器上。 而且同一時間既能發數據又能收數據,不像有些互連是半雙工得切換,這就從硬體上把頻寬拉滿了——比如每GPU 900GB/s,其實就是控制器裡的發送通道總頻寬加接收通道總頻寬,雙向堆疊加到1.8TB/s,比PCIe 5.08GB/128GB/128GB(128GB)。因為「直連+全雙工」的實體設計,沒浪費任何傳輸環節。 (二)低延遲和高能效這就得繼續挖協定層的「快取一致性」了。 AI訓練或推理時,多個GPU要處理同一個模型的不同部分,比如一個GPU算完Layer1的激活值,得傳給算Layer2的GPU,要是沒有緩存一致,Layer2的GPU得等Layer1把數據先存到自己的顯存,再整份讀過來,中間多了“存取-NVL”兩步;但NVL ink搞了個“GPU間共享虛擬記憶體空間”,所有連在NVLink上的GPU,能看到同一塊“邏輯緩存區”——Layer1算完的激活值,不用特意存顯存,直接丟進這個共享緩存,Layer2的GPU要的時候直接從緩存裡讀,省了來回拷貝的時間,這就是延遲低的原因。而這事是靠硬體實現的,每個NVLink控制器裡都有專門的“一致性協議模組”,不用CPU插手調度(PCIe就得CPU管地址映射,慢得很),硬體直接處理地址同步和數據請求,自然能效也高——你想,少了CPU幹預和數據拷貝,就不用耗電純能,這就是浪費成本,這就是浪費成本(三)機架級擴充機架級擴充涉及到NVLink Switch晶片-之前單節點裡的GPU是直接兩兩直連(網狀拓樸),但要擴到72個GPU的機架級,總不能讓每個GPU都跟其他71個連一遍吧? Switch晶片就相當於樞紐,它上面有很多NVLink端口,每個端口能連一個GPU節點(比如一個節點8個GPU,透過內部NVLink連好),然後Switch會把這些節點組成一個「NVLink域」。 這裡Switch有個「無阻塞轉送」設計:例如節點A的GPU要給節點B的GPU傳數據,不用繞其他節點,Switch直接在內部建立專用通道,而且支援多組數據同時傳輸(例如A→B、C→D能並行),不會互相堵住。 130TB/s的域頻寬怎麼來?就是Switch所有連接埠的總頻寬疊加,再加上內部交換結構的處理能力,確保整個機架裡的GPU不管隔多遠,都能享受接近直連的速度。比較PCIe或華為的Cloud Matrix 384,PCIe是樹狀結構,越往上層頻寬越擠,多GPU通訊得繞根複合體,根本撐不起72個GPU的規模;華為那個雖然能連更多,但得靠複雜的多層交換架構,多了好幾層轉發,不僅調試的時候要排查每一層的問題(比如某一層交換機丟包,你得一層一層找),而且轉發環節多了,穩定性自然下降,還沒量產出貨也說明這種複雜架構落地難,而NVLink Switch是單級或簡單級聯,結構簡單,穩定性和延遲才能控制住。 (四)生態整合這個為啥能提升性能?兩方面,SHARP協定和Mission Control。 AI任務裡有個很常見的操作叫做「歸約」-例如多個GPU算完各自的梯度,要匯總成一個全域梯度再更新參數,傳統做法是每個GPU把梯度傳給CPU,CPU匯總完再發回去,這來回傳資料的時間特別長。但NVLink支援SHARP協議,這個協議是直接在NVLink的硬體層面實現歸約運算的-例如多個GPU的梯度資料在傳往Switch的時候,Switch直接在內部完成求和、取最大值這些操作,再傳到CPU,直接把結果發給需要的GPU,等於把「資料節運成這個中間一步,不用再傳到CPU,就省了CPU。而且每增加2倍NVLink頻寬,能帶來1.3-1.4倍的機架級性能提升,就是因為頻寬越高,同時能傳輸的梯度、激活值這些數據越多,SHARP的硬體歸約能處理的並行數據量也越大,不會讓運算等數據(這叫做「計算-通信重疊」)。至於Mission…