絡(luò)面試核心:分布式訓(xùn)練、RDMA與擁塞控制)
準(zhǔn)備AI Infra方向面試的朋友最容易在算法和訓(xùn)練框架上侃侃而談但一被問到AI集群網(wǎng)絡(luò)基礎(chǔ)就容易露怯。不是大家不努力而是網(wǎng)絡(luò)這塊知識太散了——今天背了個RDMA概念明天又看到一堆InfiniBand、RoCE、PFC、ECN的縮寫沒有一條主線串起來面試就答不到點(diǎn)子上。我自己當(dāng)年面AI Infra崗位時也在這上面栽過跟頭。后來在千卡集群上踩了一年的坑重新梳理才發(fā)現(xiàn)AI集群網(wǎng)絡(luò)其實(shí)有一套非常清晰的邏輯核心就是分布式訓(xùn)練到底給網(wǎng)絡(luò)提了什么需求網(wǎng)絡(luò)又是怎么滿足這些需求的。這篇文章就是基于這條主線把AI Infra面試中最??嫉木W(wǎng)絡(luò)基礎(chǔ)知識整理成一份可以系統(tǒng)復(fù)習(xí)的提綱。適合準(zhǔn)備AI Infra、計算集群、MLOps相關(guān)崗位面試的工程師也適合剛接觸集群網(wǎng)絡(luò)想快速建立框架的人。1. 為什么AI Infra面試必考網(wǎng)絡(luò)1.1 AI Infra工程師日常繞不開三件事AI Infra這個崗位在招聘JD里經(jīng)常寫得云里霧里但實(shí)際工作內(nèi)容我概括成三件事讓訓(xùn)練跑起來、讓訓(xùn)練跑得更快、讓集群更穩(wěn)定。第一件事靠部署能力和框架配置第二件事靠性能分析和調(diào)優(yōu)第三件事靠監(jiān)控、容錯和故障恢復(fù)。這三件事每一件都繞不開網(wǎng)絡(luò)。訓(xùn)練能跑起來至少需要理解分布式訓(xùn)練框架是怎么把模型拆到多張卡上的拆完之后梯度同步走什么通信原語跑得更快需要定位算力瓶頸和通信瓶頸而通信瓶頸大概率出在網(wǎng)絡(luò)上集群穩(wěn)定則要面對網(wǎng)卡故障、交換機(jī)丟包、鏈路閃斷這些每天都在發(fā)生的小事。所以一個合格的AI Infra工程師說到底是半個網(wǎng)絡(luò)工程師。這也是面試官愛問網(wǎng)絡(luò)基礎(chǔ)的根本原因。1.2 算力越強(qiáng)網(wǎng)絡(luò)越容易成為性能天花板很多人對網(wǎng)絡(luò)的重要性沒有體感是因?yàn)閱螜C(jī)單卡的訓(xùn)練根本不需要網(wǎng)絡(luò)。但到了大模型時代情況完全不同。一個千億參數(shù)的模型光參數(shù)和梯度就要按TB量級來算單卡肯定裝不下必須做各種并行。數(shù)據(jù)并行要求每輪迭代后把所有GPU的梯度匯總模型并行要求把中間激活值在各層之間傳來傳去專家并行則更夸張每個token可能都要跨節(jié)點(diǎn)訪問專家模塊。這些通信操作的時間通常能占到整個訓(xùn)練迭代的10%到40%。GPU算力不斷增強(qiáng)以后這一點(diǎn)越來越刺眼。A100的算力提升后計算一個batch的時間縮短了通信時間卻沒法同步縮短整體訓(xùn)練速度就被通信主導(dǎo)。我在實(shí)際集群里見過不少次這種情況訓(xùn)練loss曲線看上去很正常但GPU利用率只有40%一查NCCL profiling發(fā)現(xiàn)大量時間卡在網(wǎng)絡(luò)等待上。這種問題不從網(wǎng)絡(luò)角度分析單靠調(diào)訓(xùn)練參數(shù)不可能解決。面試官專門拿網(wǎng)絡(luò)來篩人非常合理。1.3 面試官考察的三個真實(shí)維度根據(jù)我面別人和被別人面下來的經(jīng)驗(yàn)面試官問網(wǎng)絡(luò)基礎(chǔ)主要考察三個維度這三個維度也可以當(dāng)作復(fù)習(xí)主線。第一概念是否清晰那些縮寫和術(shù)語之間的邊界能不能講明白這決定了基礎(chǔ)知識扎不扎實(shí)。第二能不能從分布式訓(xùn)練的需求推導(dǎo)出網(wǎng)絡(luò)設(shè)計的邏輯而不是背答案這決定了你是不是真的理解了系統(tǒng)。第三面對訓(xùn)練慢通信卡死這類實(shí)際故障時能不能沿著網(wǎng)絡(luò)鏈路逐層排查這決定了你有沒有實(shí)戰(zhàn)能力。后面幾個章節(jié)基本就是圍繞這三個維度展開的。2. 先建地圖AI集群網(wǎng)絡(luò)到底分幾層2.1 從單機(jī)多卡到跨機(jī)通信速度斷崖第1章說網(wǎng)絡(luò)重要但很多人沒意識到最核心的差距在哪。單機(jī)內(nèi)多卡通信走的是PCIe或NVLink。NVLink的本質(zhì)是GPU之間專用的高速總線目前主流H100平臺的NVLink帶寬能到900GB/s這個速度接近內(nèi)存訪問級別。而網(wǎng)絡(luò)通信走網(wǎng)卡當(dāng)前主流是400Gbps換算下來是50GB/s。也就是說單機(jī)內(nèi)通信和跨機(jī)通信之間隔了一個數(shù)量級這是所有分布式系統(tǒng)設(shè)計都要面對的根本約束。這個差距帶來連鎖反應(yīng)能放在單機(jī)內(nèi)完成的數(shù)據(jù)交換盡量不跨機(jī)但模型規(guī)模上去以后跨機(jī)通信又無法避免。所以AI集群網(wǎng)絡(luò)的目標(biāo)非常明確盡量把跨機(jī)通信的帶寬做大、時延做低同時讓通信模式和拓?fù)淦ヅ錅p少不必要的跨跳數(shù)。理解了這條主線后面所有知識點(diǎn)就能串起來。2.2 一套集群三張網(wǎng)計算、存儲、管理在真實(shí)AI集群機(jī)房走一圈你會發(fā)現(xiàn)物理上并不只有一套網(wǎng)絡(luò)。邏輯上至少分三張計算網(wǎng)絡(luò)承載GPU之間的訓(xùn)練通信流量這是最高性能的網(wǎng)絡(luò)普遍用InfiniBand或RoCE帶寬以400G為主流存儲網(wǎng)絡(luò)承載數(shù)據(jù)集讀取和checkpoint落盤對帶寬要求高但時延容忍度稍高管理網(wǎng)絡(luò)承載帶外BMC、監(jiān)控、控制指令帶寬需求小普通以太網(wǎng)就可以。這三個平面很容易在面試中忽略但有個很好的延伸考點(diǎn)checkpoint寫入存儲網(wǎng)絡(luò)時如果存儲網(wǎng)絡(luò)帶寬不足會造成GPU空等這種隱性瓶頸在長訓(xùn)練任務(wù)里非常常見?;卮鸺豪镉心男┚W(wǎng)絡(luò)時把計算、存儲、管理講清楚再補(bǔ)一句存儲網(wǎng)絡(luò)在checkpoint頻繁場景下的重要性會讓面試官覺得你有實(shí)戰(zhàn)意識。2.3 帶寬、時延、BDP與對分帶寬四件套面試基礎(chǔ)題里帶寬和時延是絕對高頻。我建議用一句話說清區(qū)別帶寬是單位時間能運(yùn)多少貨時延是貨從出發(fā)到到達(dá)要多久。兩者不矛盾但容易混淆。舉例來說一輛貨車走高速公路時延低但帶寬也就一條車道如果換成大車隊開同樣的路帶寬大了第一輛車到達(dá)的時間卻不會更快。通信時間 數(shù)據(jù)量 / 帶寬 時延 × 交互次數(shù)這個公式在面試?yán)锖艹S媒ㄗh背下來并理解每一項的實(shí)際含義。BDP帶寬時延積稍微進(jìn)階一點(diǎn)它的意義是在等待返回消息的那段時間里鏈路上能容納多少數(shù)據(jù)。如果這個值很大說明網(wǎng)絡(luò)很容易被打滿需要足夠的并發(fā)流和緩沖區(qū)來利用帶寬。對分帶寬則是衡量網(wǎng)絡(luò)最壞情況下的通信能力把網(wǎng)絡(luò)切成兩半兩側(cè)之間的總帶寬。在評估網(wǎng)絡(luò)拓?fù)涫欠駮?dǎo)致?lián)砣麜r對分帶寬是核心指標(biāo)。這四個概念講清楚基礎(chǔ)關(guān)基本就過了。3. 集合通信AI訓(xùn)練最核心的網(wǎng)絡(luò)負(fù)載3.1 為什么面試一定要考AllReduce如果要我押一道AI Infra面試必考題我會押AllReduce。原因很簡單數(shù)據(jù)并行訓(xùn)練里每個GPU獨(dú)立算出一份梯度但在更新模型參數(shù)之前所有GPU必須拿到所有梯度的平均值這個操作就是AllReduce。它出現(xiàn)在每一次迭代里頻率極高數(shù)據(jù)量極大。這里要強(qiáng)調(diào)的是AllReduce不只是一個操作它背后帶出一整套思考方式這種所有節(jié)點(diǎn)到所有節(jié)點(diǎn)的通信模式不能簡單理解為多發(fā)幾次點(diǎn)對點(diǎn)通信因?yàn)辄c(diǎn)對點(diǎn)會產(chǎn)生嚴(yán)重的流量擁塞。設(shè)計上要考慮如何把全網(wǎng)流量打散到各條鏈路上如何讓每個節(jié)點(diǎn)都承擔(dān)相近的收發(fā)量如何減少總通信時間。面試官問到AllReduce其實(shí)是在問你能不能從通信模式出發(fā)思考網(wǎng)絡(luò)設(shè)計而不是停留在API層面。3.2 Ring AllReduce的原理、時間推導(dǎo)和局限Ring AllReduce是數(shù)據(jù)并行里最常見的實(shí)現(xiàn)方式。思路是把所有GPU排成一個邏輯環(huán)每個GPU只向相鄰的GPU收發(fā)數(shù)據(jù)。整個過程分兩步第一步是Reduce-Scatter把數(shù)據(jù)切成N份每一份在環(huán)上接力式做求和最終每個GPU持有其中一份的完整結(jié)果第二步是AllGather每個GPU把自己持有的那一份廣播給所有人最終每個GPU都拿到了全套均值。時間上每個分片從出發(fā)到完成規(guī)約大約需要經(jīng)過N-1次傳輸考慮到并行流水線整體耗時近似為總數(shù)據(jù)量的兩倍除以帶寬再乘上一個與拓?fù)湎嚓P(guān)的系數(shù)。這個兩倍就是所有數(shù)據(jù)被傳輸了兩次一次規(guī)約一次廣播。Ring的優(yōu)雅之處在于每個節(jié)點(diǎn)都只和鄰居通信不會出現(xiàn)單點(diǎn)熱點(diǎn)但代價是時延隨環(huán)長線性增加。所以超大規(guī)模集群更傾向用分層AllReduce、Tree AllReduce甚至把數(shù)據(jù)切成多個分段同時做多環(huán)并行。面試中能順勢說出Ring在卡數(shù)多時時延不好業(yè)界會用層級化方案來優(yōu)化相當(dāng)加分。3.3 集合通信原語和并行策略的映射關(guān)系除了AllReduce集合通信還有幾個原語值得記熟。AllGather是每個節(jié)點(diǎn)把自己持有的數(shù)據(jù)廣播給所有人數(shù)據(jù)總量隨節(jié)點(diǎn)數(shù)線性增長Reduce-Scatter是每個節(jié)點(diǎn)先本地規(guī)約再分散傳輸最終每個節(jié)點(diǎn)得到部分結(jié)果Broadcast是單源到多目的Send/Recv則是點(diǎn)對點(diǎn)。這些原語看似基礎(chǔ)卻是理解各種并行策略的關(guān)鍵。數(shù)據(jù)并行主線是AllReduce但用了梯度分片技術(shù)之后其實(shí)可以拆成Reduce-Scatter AllGather張量并行和流水線并行里大量使用Send/Recv和AllGather專家并行的token路由則會產(chǎn)生大量稀疏的All-to-All流量。能把這層映射說清楚面試官會知道你不僅知道概念還知道它們在真實(shí)訓(xùn)練里怎么用。3.4 NCCL框架和硬件之間的翻譯官講到集合通信一定會提到NCCLNVIDIA Collective Communications Library。它是英偉達(dá)提供的集合通信庫PyTorch DDP底層基本都走它。NCCL的作用是感知GPU拓?fù)溥x擇最優(yōu)的通信路徑和算法常見因素包括GPU是否在同一PCIe switch下、是否同一機(jī)架、是否走IB網(wǎng)絡(luò)。實(shí)際排障時NCCL的日志和環(huán)境變量也很重要。NCCL_DEBUGINFO會輸出通信路徑和拓?fù)湫畔CCL_IB_DISABLE1可以強(qiáng)制走以太網(wǎng)遇到鏈路問題這些開關(guān)能快速定位。面試中談到NCCL能舉出這類實(shí)操細(xì)節(jié)非常加分。4. IB與RoCE v2面試高頻的協(xié)議選型對比4.1 InfiniBand為什么是省心方案InfiniBand是HPC領(lǐng)域沉淀多年的高性能網(wǎng)絡(luò)技術(shù)。它從設(shè)計之初目標(biāo)就很明確為分布式計算提供高帶寬、低時延、無損的網(wǎng)絡(luò)。它的做法是全棧專用從網(wǎng)卡、交換機(jī)、線纜到協(xié)議都考慮了高性能和高可靠性還專門有子網(wǎng)管理器負(fù)責(zé)路由計算和故障恢復(fù)。實(shí)際使用IB的體驗(yàn)是穩(wěn)定鏈路一旦up帶寬基本能跑滿很少出現(xiàn)傳統(tǒng)網(wǎng)絡(luò)里讓人頭疼的丟包重傳問題。缺點(diǎn)也非常明顯貴、閉環(huán)、學(xué)習(xí)門檻高而且IB世界的很多知識在通用數(shù)據(jù)中心里用不上。但要是公司追求訓(xùn)練性能上限運(yùn)維團(tuán)隊又有經(jīng)驗(yàn)IB仍然是不錯的選擇。4.2 RoCE v2把RDMA搬進(jìn)傳統(tǒng)以太網(wǎng)RoCE的全稱是RDMA over Converged Ethernetv2版本使用IP/UDP封裝可以跨越三層網(wǎng)絡(luò)和傳統(tǒng)以太網(wǎng)設(shè)施兼容。它的最大價值是普通交換機(jī)也能支撐RDMA級別的通信成本大幅下降。在互聯(lián)網(wǎng)公司里RoCE 白盒交換機(jī)的方案相當(dāng)流行原因就是改造現(xiàn)有數(shù)據(jù)中心網(wǎng)絡(luò)的成本遠(yuǎn)低于新建一套IB網(wǎng)絡(luò)。但天下沒有免費(fèi)的午餐。RoCE的核心挑戰(zhàn)是以太網(wǎng)本身是有損網(wǎng)絡(luò)而RDMA對丟包極度敏感一個微小丟包就可能導(dǎo)致重傳風(fēng)暴、帶寬斷崖。為應(yīng)對這個問題RoCE網(wǎng)絡(luò)必須依賴PFC、ECN、智能網(wǎng)卡等機(jī)制把有損網(wǎng)絡(luò)偽裝成無損。這套機(jī)制調(diào)好了RoCE能接近IB的性能調(diào)不好就是各種PFC風(fēng)暴、網(wǎng)絡(luò)卡死非常消耗運(yùn)維精力。4.3 IB與RoCE v2對比一張表說清差異復(fù)習(xí)時用對比表來記憶很高效這里也分享給你面試可以按這個框架組織語言維度InfiniBandRoCE v2設(shè)計理念全棧專用為HPC而生復(fù)用以太網(wǎng)生態(tài)的RDMA方案網(wǎng)絡(luò)層封裝自有協(xié)議棧IP/UDP封裝支持路由丟包控制原生無損硬件機(jī)制完善依賴PFC/ECN配置復(fù)雜成本設(shè)備貴生態(tài)封閉成本低兼容現(xiàn)有以太網(wǎng)運(yùn)維復(fù)雜度相對低穩(wěn)定高需精細(xì)調(diào)優(yōu)典型場景超大規(guī)模HPC、頭部AI集群互聯(lián)網(wǎng)公司AI訓(xùn)練推理集群回答選型題時不要直接說IB好或RoCE好而是先給出約束條件規(guī)模多大、預(yù)算多少、是否需要兼容現(xiàn)有設(shè)施、運(yùn)維具備什么能力。在這個前提下給出傾向性更合理。比如三千卡以下、已有成熟以太網(wǎng)運(yùn)維的團(tuán)隊RoCE v2的綜合性價比通常更好追求極致性能和技術(shù)閉環(huán)則是IB方向。4.4 交換機(jī)和拓?fù)銫LOS/Fat-Tree是主流網(wǎng)絡(luò)協(xié)議之外物理拓?fù)涫橇硪粔K必考內(nèi)容。傳統(tǒng)數(shù)據(jù)中心常用三層樹形結(jié)構(gòu)從上到下是核心、匯聚、接入但它的最大問題是上行帶寬容易不足流量越往上層越集中。AI集群要傳輸海量并行流量用這種結(jié)構(gòu)會迅速擁塞?,F(xiàn)在主流是CLOS架構(gòu)也叫脊葉架構(gòu)。簡單理解Spine是骨干層Leaf是接入層每個Leaf都連接所有Spine任何Leaf之間通信最多三跳。好處是橫向擴(kuò)展能力極強(qiáng)需要更大帶寬時往Spine層加交換機(jī)即可多路徑也讓流量能分散不容易出現(xiàn)單點(diǎn)瓶頸。面試常有一個追問怎么評估一個拓?fù)浜貌缓没卮鸱较蚓褪菍Ψ謳捄吐窂綌?shù)量。計算對分帶寬時從Leaf規(guī)模、Spine規(guī)模、端口速率推導(dǎo)。能在這個問題上給出計算思維很容易留下好印象。5. 擁塞控制與調(diào)優(yōu)AI集群最容易踩的坑5.1 AI流量模式和傳統(tǒng)網(wǎng)絡(luò)完全不同前面說過AI集群的流量是典型的周期性爆發(fā)加全集群同步。每次訓(xùn)練迭代開始所有GPU幾乎同時發(fā)起集合通信一瞬間可能把交換機(jī)端口打滿形成微突發(fā)。傳統(tǒng)網(wǎng)絡(luò)里這種突發(fā)可以用TCP的重傳和緩沖吸收掉影響不大但在RDMA場景下丟包就是災(zāi)難。這里必須拉出一個關(guān)鍵概念in-cast流量擁塞也就是多臺服務(wù)器同時向一臺交換機(jī)或一臺服務(wù)器發(fā)包造成瞬時過載。AllReduce的Gather階段就是典型的in-cast模式。面試?yán)锶绻苤鲃诱f出AI流量是同步的、突發(fā)的、有模式的多對一流量和通用的任意到任意流量模型不同說明你真的理解問題本質(zhì)。5.2 PFC、ECN這些機(jī)制該怎么答無損RDMA網(wǎng)絡(luò)背后有兩個機(jī)制必須掌握PFC和ECN。PFC優(yōu)先級流控的作用是當(dāng)交換機(jī)緩沖區(qū)快滿時向上游設(shè)備發(fā)送暫停幀讓上游暫時停止發(fā)送從而不丟包。這像高速路上前方擁堵時交警攔住后方車輛。副作用是可能產(chǎn)生隊頭阻塞也就是一條流的暫停會卡住其他流嚴(yán)重時形成PFC風(fēng)暴網(wǎng)絡(luò)癱瘓。成熟的RoCE網(wǎng)絡(luò)會把PFC觸發(fā)閾值設(shè)得很高并盡量靠其他機(jī)制避免觸發(fā)PFC。ECN顯式擁塞通知是更柔性的機(jī)制交換機(jī)檢測到擁塞時給報文打標(biāo)記接收端感知后把擁塞信息反饋給發(fā)送端發(fā)送端主動降速。這就像導(dǎo)航軟件告訴你前方堵車你自主變道減速而不是交警硬攔。ECN配合RoCE v2的DCQCN算法可以實(shí)現(xiàn)比較平滑的擁塞控制。面試?yán)锬軐Ρ萈FC和ECN的定位——PFC是兜底ECN是主動調(diào)節(jié)——再提一句兩者互操作不當(dāng)可能引發(fā)的問題就是高手回答。5.3 訓(xùn)練慢排查的實(shí)操路徑最后分享一個真實(shí)排障路徑面試同樣能用。遇到訓(xùn)練變慢我的習(xí)慣是分四步第一步看GPU利用率如果GPU整體空等多半是通信瓶頸第二步看NCCL日志和profiling確認(rèn)卡在哪個集合通信原語、哪一跳第三步看網(wǎng)絡(luò)監(jiān)控關(guān)注交換機(jī)端口流量、丟包計數(shù)、PFC觸發(fā)計數(shù)出現(xiàn)丟包基本能鎖定物理鏈路或擁塞參數(shù)問題第四步檢查光模塊光功率和線纜狀態(tài)很多通信慢的根因是光模塊衰耗過大引發(fā)大量重傳。這套路徑的價值在于把抽象問題拆成可執(zhí)行的排查動作。面試官問你如何排查訓(xùn)練慢時可以按這個順序回答再補(bǔ)一句越是慢的問題越要從物理層看起因?yàn)榕渲眯秃臀锢硇凸收险剂舜蠖鄶?shù)。這句話是我實(shí)戰(zhàn)中的真實(shí)體會。6. 面試真題與答題思路速查6.1 基礎(chǔ)概念類快速過一遍準(zhǔn)備面試時我會快速過一遍基礎(chǔ)題確保每道題能在30秒內(nèi)答出要點(diǎn)。這里列幾道最??嫉腞DMA是什么需要強(qiáng)調(diào)兩點(diǎn)直接內(nèi)存訪問、繞過操作系統(tǒng)內(nèi)核協(xié)議棧所以時延低、CPU占用低。NVLink和網(wǎng)絡(luò)的差別NVLink是GPU之間或GPU與CPU之間的高速總線作用范圍在單機(jī)內(nèi)以太網(wǎng)或IB是跨機(jī)的。帶寬和時延的區(qū)別用運(yùn)貨速度和到貨時間類比最直觀。對分帶寬怎么理解把網(wǎng)絡(luò)切成兩半后兩側(cè)之間的總帶寬用來衡量網(wǎng)絡(luò)最壞情況通信能力。這些題目本身不難但很多人答得散原因是沒形成框架。建議回答時先給一句話定義再補(bǔ)一個實(shí)際訓(xùn)練場景里的例子比如AllReduce里最怕的就是帶寬不足所以對分帶寬直接影響擴(kuò)展性這樣內(nèi)容就立體了。6.2 原理推導(dǎo)類展現(xiàn)建模能力面試官可能會問數(shù)據(jù)并行下把卡數(shù)從128擴(kuò)到512AllReduce通信時間怎么變很多人直接回答變慢四倍但正確的是分情況討論。Ring AllReduce里單節(jié)點(diǎn)分到的分片數(shù)據(jù)量等于總數(shù)據(jù)量除以卡數(shù)數(shù)據(jù)量大時擴(kuò)展卡數(shù)單節(jié)點(diǎn)處理量反而減少但時延項會隨環(huán)長增加。還要考慮拓?fù)淇〝?shù)增加往往意味著跨Spine流量變多擁塞加劇。所以準(zhǔn)確的回答是需要從帶寬和時延兩個維度分開建模。這種定量加定性的回答方式很考察建模能力。面試官也經(jīng)常設(shè)置變體比如如果換成AllGather呢AllGather是每個節(jié)點(diǎn)把自己的數(shù)據(jù)廣播給所有人數(shù)據(jù)量隨節(jié)點(diǎn)數(shù)線性增長那擴(kuò)卡后通信時間通常確實(shí)會增加。能針對不同原語作出不同推導(dǎo)說明你真的理解而不是背了一個公式。6.3 場景設(shè)計類先建模再選型場景題也很有代表性給你512張A100卡要搭一個訓(xùn)練集群你怎么選網(wǎng)卡、交換機(jī)和拓?fù)湮业拇痤}框架是把問題拆成四步先算需求按單卡通信帶寬400G來算512卡總需求約200Tbps考慮實(shí)際到達(dá)率還需要預(yù)留余量再選網(wǎng)絡(luò)類型確定IB還是RoCE預(yù)算充足、追求穩(wěn)定選IB已有以太網(wǎng)生態(tài)選RoCE然后定拓?fù)銫LOS架構(gòu)Leaf按每機(jī)架8臺服務(wù)器乘8卡估算Spine按對分帶寬需求定數(shù)量最后討論運(yùn)維留出監(jiān)控、告警和故障切換預(yù)案。這個框架可以應(yīng)對很多變體比如卡數(shù)翻倍、加訓(xùn)練任務(wù)、引入推理服務(wù)等。核心邏輯是先有需求再有設(shè)計而不是一上來就報一堆型號參數(shù)。面試官聽你講設(shè)計時關(guān)注的是你有沒有算過賬這比記住具體型號重要得多。6.4 故障排查類思路比答案更重要這類題通常給一個現(xiàn)場描述訓(xùn)練迭代突然變慢日志里出現(xiàn)NCCL超時你怎么辦記住一個原則不要跳著答不要一上來就說是某條鏈路壞了。正確順序是先定范圍用profiling確認(rèn)是通信卡頓還是計算卡頓再定位位置從日志拓?fù)湫畔⒄夜收宵c(diǎn)然后查網(wǎng)絡(luò)證據(jù)丟包、重傳、PFC計數(shù)最后給出行動換線、換光模塊、調(diào)參數(shù)或重啟NCCL。你甚至可以主動說我會先低優(yōu)先級觀察一段時間很多網(wǎng)絡(luò)問題是抖動性的快速重啟反而掩蓋真相。這種回答明顯更有工程師氣質(zhì)也更容易讓面試官產(chǎn)生共鳴。實(shí)際運(yùn)維里重啟有時只是緩解癥狀根因還在能體現(xiàn)這層思考說明你不是只會抄命令。7. 一些個人經(jīng)驗(yàn)和建議這篇文章寫到這里主線內(nèi)容已經(jīng)覆蓋得比較完整最后聊一點(diǎn)個人感受。AI Infra面試準(zhǔn)備最容易犯的錯誤是把網(wǎng)絡(luò)知識當(dāng)成一門背誦課——今天背RDMA定義明天背ECN原理后天背CLOS架構(gòu)看起來都會一遇到綜合題就露餡。我的建議是用一條主線串起來從大模型訓(xùn)練需要通信推導(dǎo)出集合通信進(jìn)而推導(dǎo)出網(wǎng)絡(luò)需要高性能和低時延再推導(dǎo)出硬件選型和拓?fù)湓O(shè)計最后推導(dǎo)出擁塞控制的重要性。順著這條鏈復(fù)習(xí)你會發(fā)現(xiàn)所有知識點(diǎn)都是必然出現(xiàn)的而不是孤立存在的。另一個建議是盡量動手做一次小實(shí)驗(yàn)。NVIDIA官方有NCCL的測試工具比如nccl-tests你可以在兩臺機(jī)器上跑AllReduce的benchmark打開NCCL_DEBUGINFO看看路徑選擇再用ethtool查看網(wǎng)卡協(xié)商速率和丟包計數(shù)。親眼看一次帶寬沒跑滿、調(diào)整參數(shù)后明顯改善的過程比死記硬背十篇資料都有用。最后分享一個小技巧面試時被問到一個不確定的網(wǎng)絡(luò)概念先別慌不要硬背答案??梢哉f我理解這個問題可以從幾個層面看然后把你最熟悉的一層展開把不確定的部分坦誠帶過。面試官在意的是思維路徑不是完美答案。AI集群網(wǎng)絡(luò)這個領(lǐng)域迭代非常快從IB的HDR到NDR從RoCE v1到v2再到各種增強(qiáng)很多細(xì)節(jié)很快會過期但底層的方法論不會變。把思路練扎實(shí)比囤積一堆參數(shù)和名詞更有價值。