據(jù)中心級梯隊與顯存帶寬瓶頸)
算力卡選型這件事我在過去兩年里被問過不下上百次問題幾乎都從同一句開場白開始“有沒有一份性能天梯圖我照著買就行”每次我都得先潑一盆冷水天梯圖能告訴你誰快誰慢但告訴不了你“這張卡放在你的機箱里、跑你的模型、連著跑三十天會不會出問題”。消費級卡和數(shù)據(jù)中心級卡之間的差距從來不是一條平滑的曲線中間隔著供電、散熱、顯存容量、互聯(lián)帶寬、驅(qū)動認(rèn)證、連續(xù)運行穩(wěn)定性這六七道坎。所以這篇東西我不打算給你一張“第一名、第二名”的排行表那玩意兒網(wǎng)上到處都是而且大部分是拿廠商公布的峰值稀疏算力直接排序水分大得能養(yǎng)魚。我想做的是把 2025 年這個時間點上從消費級到數(shù)據(jù)中心級的算力卡梯隊拆開來講清楚每一檔到底強在哪、弱在哪什么場景該停在哪一檔多花的那筆錢到底買到了什么。不管你是想在家搭一臺跑推理的小機器還是在給團隊規(guī)劃一批訓(xùn)練節(jié)點都能在里面找到能直接對號入座的部分。下文涉及的具體型號我用檔位代號來指代——消費級用 C 系、工作站級用 W 系、數(shù)據(jù)中心級用 D 系后面跟檔位字母。這樣做的原因是各家產(chǎn)品線更新太快具體型號半年就換一輪但檔位之間的性能關(guān)系和約束條件相對穩(wěn)定。你看的時候把自己手上的采購清單往這幾個檔位里套邏輯是通用的。1. 天梯圖的第一性問題你到底在比什么1.1 三條產(chǎn)品線的分界不是性能是約束條件很多人以為消費級、工作站級、數(shù)據(jù)中心級是按性能高低劃分的這是個挺大的誤解。真實的分界線是約束條件性能只是約束條件滿足之后的自然結(jié)果。消費級卡的設(shè)計前提是裝進普通機箱、插普通電源、每天跑幾個小時游戲或創(chuàng)作軟件、機箱里有風(fēng)道但不算強。工作站卡的前提是裝進塔式或機架工作站、可能要連續(xù)跑幾天渲染或仿真、要有專業(yè)軟件的驅(qū)動認(rèn)證、顯存不能出錯。數(shù)據(jù)中心卡的前提是裝進 4U 或 8U 機箱、由專門的供電和散熱系統(tǒng)伺候、7×24 滿負荷跑三年、壞了要能熱插拔換掉。這四條前提一旦定下來芯片設(shè)計的方向就完全不同了。消費級卡會把 PCB 做小、供電做夠用、顯存控制器做窄以控制成本數(shù)據(jù)中心卡會把供電相數(shù)堆到夸張、顯存用 HBM 堆到 8 層甚至 12 層、加一堆遙測和容錯電路。你拿一張消費級旗艦去和一張中端數(shù)據(jù)中心卡比紙面算力可能后者還低但真跑起來跑滿一周前者早就因為顯存溫度或者供電波動開始掉頻了。我見過太多人踩這個坑預(yù)算有限想用消費級旗艦卡拼一個“小集群”結(jié)果卡是買回來了機箱塞不下、電源帶不動、多卡之間沒有高速互聯(lián)通道跑分布式訓(xùn)練時通信開銷把算力全吃掉了。所以看天梯圖之前先在紙上寫清楚你的三個約束能接受多大功耗、需要連續(xù)跑多久、模型能不能拆開。這三個答案基本就把你鎖在某一條產(chǎn)品線里了。1.2 五個參數(shù)構(gòu)成的真實排序如果非要給一個排序口徑我一般按五個維度加權(quán)而不是只看算力。這五個維度在不同場景下的權(quán)重差異極大這也是為什么“全網(wǎng)最準(zhǔn)天梯圖”這種東西根本不存在。維度消費級權(quán)重工作站級權(quán)重數(shù)據(jù)中心級權(quán)重說明精度算力25%25%30%看稠密而非稀疏數(shù)值顯存容量20%30%30%決定能跑多大的模型顯存帶寬30%25%25%決定推理速度和訓(xùn)練吞吐卡間互聯(lián)5%10%15%多卡場景下影響巨大能效與穩(wěn)定性20%10%0%已達標(biāo)決定長期成本這張表值得多看一眼。消費級這一列顯存帶寬的權(quán)重我給了最高因為絕大多數(shù)個人用戶跑的是推理推理的瓶頸幾乎永遠在帶寬上。數(shù)據(jù)中心級這一列能效和穩(wěn)定性權(quán)重我直接寫成“已達標(biāo)”意思是這一檔的產(chǎn)品默認(rèn)就能連續(xù)跑不用你再操心選型時不需要為這個付溢價——你付的錢買的是別的東西。顯存容量這一項很多人低估了。模型參數(shù)是硬的7B 參數(shù)用半精度存就是 14GB加上激活值、KV 緩存、框架預(yù)留20GB 顯存跑 7B 推理已經(jīng)比較緊張。你想跑到 13B、30B 甚至 70B顯存不夠就是不夠算力再高也只能看著。所以我把顯存容量單列出來它是一道門檻型的指標(biāo)不是可以線性折中的東西。1.3 為什么峰值 TFLOPS 的排序經(jīng)常和實測反過來這里得聊一個稍微硬一點的概念Roofline 模型。一張卡的實測性能取的是“峰值算力”和“帶寬 × 算術(shù)強度”這兩個值里的較小者。算術(shù)強度指的是每搬運一個字節(jié)的數(shù)據(jù)能完成多少次浮點運算。舉個例子一張卡峰值稠密算力 400 TFLOPS、顯存帶寬 2TB/s那么它的拐點算術(shù)強度就是 400÷2 200 FLOPs/Byte。做大規(guī)模矩陣乘法的時候算術(shù)強度可以到幾千遠超拐點這時候是算力受限卡能跑到峰值的六七成但做自回歸推理的逐 token 生成時每生成一個 token 要把全部權(quán)重讀一遍算術(shù)強度只有 1 左右離拐點差了 200 倍這時候是帶寬受限算力再高也只發(fā)揮出百分之幾。這就解釋了一個特別常見的困惑為什么 A 卡的峰值算力比 B 卡高 40%實測推理速度卻只快 5%。因為 A 卡的帶寬只比 B 卡高 8%而這個任務(wù)本身就是帶寬受限的。你要是在電商頁面看到“算力提升 40%”的宣傳語先翻到規(guī)格表最后一行看帶寬漲了多少那個數(shù)字才是推理場景的真實提升幅度。還有一個坑是精度口徑。有些宣傳頁上的數(shù)字標(biāo)著“稀疏 INT8”那是把稀疏化和低精度兩個放大系數(shù)疊在一起的結(jié)果實際可用值要除以四甚至除以八。我自己整理天梯圖時只用三個口徑BF16 稠密、FP8 稠密、INT8 稠密其他的一律不看。你要是拿到的資料里只有稀疏數(shù)值直接用 0.5 乘一下當(dāng)參考誤差會小很多。2. 消費級梯隊從能用到“能干活”的跨越點2.1 入門到中端別被算力數(shù)字誘惑消費級這一檔我從下往上講。C30 這個檔位是入門卡典型規(guī)格是 8GB 顯存、128 位或 96 位顯存位寬、帶寬 250GB/s 上下、半精度算力十幾 TFLOPS、功耗一百瓦出頭。這個檔位能干什么跑 3B 以下的模型做推理、做圖像生成的中低分辨率出圖、跑一些傳統(tǒng)的計算機視覺任務(wù)夠用。但它有個致命問題8GB 顯存在 2025 年已經(jīng)接近臨界值稍微上點規(guī)模就 OOM。C60 是主流檔12GB 顯存、192 位位寬、帶寬 360GB/s 左右、半精度算力三十 TFLOPS 上下、功耗 150W。這一檔是我個人認(rèn)為個人開發(fā)者的性價比拐點。為什么因為 12GB 顯存剛好能塞下 7B 模型的 4bit 量化版本加上一段不長的上下文帶寬 360GB/s 跑量化推理的 token 生成速度能到每秒幾十個 token體驗上已經(jīng)“能用”了。而且功耗低普通 550W 電源就能帶機箱不用換噪音也能接受。C70 是性能檔16GB 顯存、256 位位寬、帶寬 600GB/s 左右、半精度算力六十 TFLOPS 上下、功耗 250W。這一檔的性價比要看你干什么如果只是跑推理從 C60 到 C70 的體驗提升大概是“從有點卡到不卡”值不值這個差價得你自己判斷如果要做微調(diào)16GB 是能跑 7B 全參數(shù)量化微調(diào)的底線意義就完全不一樣了。這里有個我反復(fù)強調(diào)的點入門和中端檔位顯存容量比算力重要得多。同一代產(chǎn)品里C60 和 C70 的算力差距可能只有一倍但顯存差 4GB這 4GB 決定了你能不能跑某個模型。選卡的時候先按“模型需要多大顯存”倒推再從滿足顯存要求的卡里挑算力最高的這個順序不能反。2.2 旗艦消費卡真正值錢的是帶寬和顯存跳到 C90 這個檔位情況就變了。典型規(guī)格是 24GB 到 32GB 顯存、384 位位寬、帶寬 1.0 到 1.8TB/s、半精度算力 160 到 200 TFLOPS、功耗 450W 到 575W。這一檔的價格通常是 C70 的三到四倍貴出來的錢主要買了三樣?xùn)|西顯存容量、顯存帶寬、和供電規(guī)格。顯存帶寬從 600GB/s 漲到 1.5TB/s 是什么概念跑 7B 模型半精度推理理論上每秒能生成 1500÷14 ≈ 107 個 token實際打六折也有 60 多個這個速度已經(jīng)是“讀起來跟不上”的級別了。而 C70 的 600GB/s 理論值是 42 token/s實際 25 左右差距是肉眼可見的。但旗艦消費卡有個很尷尬的地方它處在一個不上不下的位置。往上工作站卡有更大的顯存和 ECC往下C70 已經(jīng)能滿足大部分個人需求。我個人的判斷是旗艦消費卡適合兩類人一類是需要大顯存做本地大模型實驗、但不愿意為專業(yè)卡付溢價的獨立開發(fā)者另一類是既要跑模型又要打游戲或者做視頻剪輯、一張卡兼顧兩種用途的用戶。如果你是純做 AI 開發(fā)、機器 24 小時開著那這筆錢花得不太值往下走 C70 或者往上走工作站卡都更合理。還有一個細節(jié)這一檔的功耗普遍在 450W 以上瞬時功耗尖峰能沖到標(biāo)稱值的兩倍。你要是用老電源標(biāo)稱 750W 那種帶一張這樣的卡加上 CPU很容易在跑滿載推理的時候觸發(fā)過流保護直接關(guān)機。這不是卡的問題是電源的瞬態(tài)響應(yīng)跟不上。我一般建議這一檔配 850W 以上、且要看電源的 12V 單路輸出能力別只看總瓦數(shù)。2.3 消費級跑推理的四個硬墻用消費級卡做推理有四道墻你遲早會撞上提前知道能省不少時間。第一道是顯存容量墻。這道墻最硬繞不過去。32GB 顯存跑 30B 模型的 4bit 量化版本權(quán)重占了 15GB剩下 17GB 要分給 KV 緩存、激活值、框架開銷。你要是把上下文開到 32K、batch 開到 8KV 緩存能吃掉十幾個 GB直接 OOM。解決辦法只有量化、減 batch、減上下文三個全是降體驗的。第二道是顯存帶寬墻。這就是前面說的 Roofline消費級卡的帶寬和算力比例是失衡的算力堆得高、帶寬給得少做矩陣運算很爽做逐 token 生成就吃癟。這也是為什么消費級卡跑訓(xùn)練的表現(xiàn)往往比跑推理更“對得起”它的紙面參數(shù)。第三道是卡間互聯(lián)墻。消費級多卡之間走的是主板上的通用串行總線帶寬和延遲都很難看而且很多主板第二條插槽實際只有一半通道。你要是想用兩張卡拼顯存跑更大的模型通信開銷會讓速度掉到單卡的六七成得不償失。多卡消費級方案我只在“張量并行跑單機多卡推理”這個場景下見過效果還行的訓(xùn)練基本別想。第四道是散熱與降頻墻。消費級卡的散熱設(shè)計是按“游戲負載間歇性滿載”來的你讓它連續(xù)跑幾個小時推理顯存溫度會緩慢爬升到八十多度然后開始降頻保護。表現(xiàn)就是跑著跑著速度掉了 15%你還不一定能從日志里看出來。想長時間跑要么改水冷、要么把功耗墻拉低到 80%、要么在機箱風(fēng)道上花心思這三件事至少做一件。3. 工作站級最容易被跳過、卻最省錢的一檔3.1 它和消費卡差的不是性能是“能不能連續(xù)跑 30 天”工作站級這個檔位在國內(nèi)的個人和小團隊里存在感很低大部分人要么買消費級省錢要么直接上數(shù)據(jù)中心級圖省心中間這一層被跳過去了。但我要說對相當(dāng)一部分團隊來說這一檔才是最優(yōu)解。它和消費級卡的核心差異不在性能而在四件事一是 ECC 顯存。這個功能平時看不出來跑長任務(wù)的時候能救命。顯存出一次靜默錯誤訓(xùn)練可能不報錯但 loss 曲線莫名其妙發(fā)散你排查三天都找不到原因。ECC 會把這類錯誤糾正掉或者至少報出來省下的時間遠超溢價。二是驅(qū)動認(rèn)證與專業(yè)軟件兼容。做三維渲染、仿真、醫(yī)療影像、CAD 這類工作專業(yè)軟件對驅(qū)動有認(rèn)證要求消費卡跑起來可能功能缺失或者直接崩。這一條對純 AI 開發(fā)不重要對混合用途的團隊很關(guān)鍵。三是散熱與供電的冗余設(shè)計。工作站卡默認(rèn)就是 7×24 運行的設(shè)計目標(biāo)風(fēng)扇是渦輪或者雙軸流機箱風(fēng)道是按機架環(huán)境設(shè)計的。我實測過同一代產(chǎn)品里工作站卡和消費級旗艦卡連續(xù)跑 72 小時的穩(wěn)定性前者頻率基本一條直線后者有 5% 到 10% 的波動。四是顯存容量的上限更高。工作站檔位普遍能到 48GB 甚至 96GB這個容量區(qū)間是消費級完全覆蓋不到的而它剛好是“能跑中等規(guī)模模型”的甜點區(qū)。48GB 顯存跑 30B 半精度模型權(quán)重 60GB 裝不下但跑 30B 的 8bit 量化或者 13B 半精度就綽綽有余還能留出充足的 KV 緩存。我給一個粗略的檔位參考W-A 檔是 24GB 顯存、帶寬 768GB/s 左右、半精度算力 80 TFLOPS、功耗 250WW-B 檔是 48GB 顯存、帶寬 1.2TB/s 左右、半精度算力 200 TFLOPS、功耗 300WW-C 檔是 96GB 顯存、用堆疊式高帶寬顯存、帶寬 2.4TB/s 左右、半精度算力 400 TFLOPS、功耗 600W。這三檔的功耗控制得比消費級旗艦好很多W-B 檔 300W 的功耗做到了消費級 575W 才有的算力水平這就是能效差異。3.2 三檔配置的選型對照我把這三檔放在一起做個對照方便你按場景挑。檔位顯存帶寬半精度稠密算力典型功耗適合場景不適合場景W-A24GB768GB/s80 TFLOPS250W單機中等模型推理、小規(guī)模微調(diào)大模型全參微調(diào)、多機訓(xùn)練W-B48GB1.2TB/s200 TFLOPS300W13B 級模型微調(diào)、多卡單機推理70B 級模型、長上下文高并發(fā)W-C96GB2.4TB/s400 TFLOPS600W30B 級模型全參微調(diào)、單機大模型推理超大規(guī)模訓(xùn)練集群選 W-A 還是 W-B我一般讓提問的人先回答一個問題你未來一年內(nèi)會不會需要微調(diào) 13B 以上的模型答案是不會W-A 就夠了多花的錢不如加到內(nèi)存和存儲上答案是會直接上 W-B別在 W-A 上折騰因為顯存不夠就是不夠任何技巧都繞不過去。W-C 這一檔比較特殊它的價格已經(jīng)接近入門級數(shù)據(jù)中心卡了選它的人通常是看中“單機、不需要機房、插墻就能用”這三點。如果你的場景是實驗室或者小團隊的內(nèi)部推理服務(wù)不想折騰機架和配電W-C 是很有性價比的選擇——一臺機器四張卡384GB 總顯存跑 70B 量化模型能撐起一個小規(guī)模的內(nèi)部服務(wù)了。4. 數(shù)據(jù)中心級算力的分水嶺在卡外4.1 訓(xùn)練卡顯存和互聯(lián)是一門“堆”的學(xué)問進到 D 系討論的方式就要變了。這一檔的卡不是孤立賣的是連著整機、互聯(lián)、軟件棧一起賣的單看一張卡的參數(shù)意義有限。我先按用途分成兩支訓(xùn)練導(dǎo)向和推理導(dǎo)向這兩支的設(shè)計取向差異非常大。訓(xùn)練卡的核心指標(biāo)是顯存容量 × 卡間互聯(lián)帶寬算力反而排在第三。為什么因為大模型訓(xùn)練幾乎是強制的并行任務(wù)模型參數(shù)、梯度、優(yōu)化器狀態(tài)要切分到幾十上百張卡上每次梯度同步都要在所有卡之間搬運幾十 GB 的數(shù)據(jù)?;ヂ?lián)帶寬不夠卡就在那兒空等算力再高也發(fā)揮不出來。我用一個具體的數(shù)算給你看。7B 參數(shù)的稠密模型做全參微調(diào)用混合精度加自適應(yīng)優(yōu)化器顯存占用大概是每十億參數(shù) 16GB 的量級——權(quán)重半精度 14GB、梯度半精度 14GB、主權(quán)重單精度 28GB、優(yōu)化器兩個狀態(tài)各 28GB加起來 112GB再算上激活值和臨時緩沖實際需要 130GB 以上。一張 80GB 的訓(xùn)練卡裝不下必須切分。切到兩張卡每張 65GB勉強切到四張卡每張 33GB寬裕。這就是為什么訓(xùn)練卡要有高速互聯(lián)切得越細通信越頻繁。再說訓(xùn)練時間的量級。7B 模型訓(xùn) 1 萬億 token總計算量是 6 × 7×10? × 1×1012 4.2×1022 次浮點運算。一張卡稠密算力 400 TFLOPS實際利用率按 40% 算有效算力 1.6×101?那么單卡需要 2.6×10? 秒也就是八年多。這個數(shù)字不是嚇唬人是在說明為什么大模型訓(xùn)練必須堆卡。堆到 64 張擴展效率按 80% 算時間降到 60 天左右堆到 256 張降到 15 天。你看到的所有“訓(xùn)了幾個月”的說法背后都是幾百張卡的集群在跑。所以訓(xùn)練卡的選型邏輯是先確定模型規(guī)模算出顯存需求決定要幾張卡再看這幾張卡之間的互聯(lián)帶寬夠不夠最后才看算力。順序反過來的話很容易買回一堆算力很高但互聯(lián)很弱的卡跑起來效率只有三成。4.2 推理卡帶寬和能效才是第一指標(biāo)推理導(dǎo)向的數(shù)據(jù)中心卡是這兩年增長最快的一支設(shè)計取向和訓(xùn)練卡幾乎是相反的。它不需要巨大的顯存容量去裝優(yōu)化器狀態(tài)但需要極高的顯存帶寬去支撐逐 token 生成同時要把能效做到極致因為推理服務(wù)是長期在線跑的電費是持續(xù)性支出。我給個檔位參考D-S 檔是推理專用32GB 堆疊顯存、帶寬 1.5TB/s、INT8 稠密算力 800 TOPS、功耗 400WD-M 檔是訓(xùn)練推理均衡80GB 顯存、帶寬 2TB/s、半精度稠密算力 400 TFLOPS、功耗 700WD-L 檔是訓(xùn)練旗艦141GB 顯存、帶寬 4.8TB/s、半精度稠密算力 990 TFLOPS、功耗 1000W。算一下能效比就有意思了。D-S 的 INT8 能效是 800÷400 2 TOPS/WD-M 的半精度能效是 400÷700 0.57 TFLOPS/WD-L 是 990÷1000 0.99 TFLOPS/W。注意這里的口徑不同不能直接比但同一口徑下 D-S 在低精度推理上的能效優(yōu)勢是碾壓性的。這就是為什么現(xiàn)在推理集群越來越傾向于用“多張小卡”而不是“少量大卡”——推理任務(wù)的并行粒度細用數(shù)量和能效換總吞吐更劃算。還有一個經(jīng)常被忽略的點是顯存帶寬的絕對量。70B 模型半精度權(quán)重 140GB一張 D-M 裝不下得兩張總帶寬 4TB/s。理論 token 生成速度是 4000÷140 ≈ 28 token/s單個請求、無批處理實際打七折約 20 token/s。你要是把 batch 開到 16總的吞吐能到 300 token/s 以上但單請求的延遲會漲因為顯存帶寬被 16 個請求分著用。這就是推理服務(wù)里“吞吐”和“延遲”的永恒矛盾選卡的時候要先想清楚你優(yōu)化的是哪個。4.3 一臺機器不等于一張卡整機視角的三成定律這一節(jié)是我最想強調(diào)的。數(shù)據(jù)中心級選型里單卡性能大概只占最終效果的三成剩下七成在卡外面互聯(lián)拓撲、供電、散熱、存儲帶寬、調(diào)度軟件。我給這個說法起了個名字叫“三成定律”雖然不精確但足以讓很多人清醒。先說供電。八卡整機滿載功耗在 10kW 到 12kW 之間這個數(shù)字意味著什么意味著一臺機器要配兩路獨立的工業(yè)供電意味著機柜的配電要重新設(shè)計意味著 UPS 的容量要按 1.5 倍冗余配。我算過電費按 10kW、每天滿載 24 小時、電價 0.7 元算一臺機器一天 168 元一年 6.1 萬元。一百臺機器一年的電費就是 610 萬。這個數(shù)字往往比卡本身的采購價更影響決策而它在天梯圖上是看不到的。再說互聯(lián)拓撲。八張卡塞進一臺機器卡和卡之間的連接方式?jīng)Q定了通信效率。全互聯(lián)的拓撲能讓任意兩張卡直接通信環(huán)形或者半互聯(lián)的拓撲就得中轉(zhuǎn)中轉(zhuǎn)一次延遲翻倍。跑張量并行的時候通信是每一步都要做的延遲累積起來能把算力吃掉一半。所以買整機不能只看“八卡”要看“八卡怎么連”。散熱也是一樣。數(shù)據(jù)中心的卡是渦輪風(fēng)扇或者液冷渦輪風(fēng)扇的噪音在 70 分貝以上絕對不能放在辦公環(huán)境液冷要考慮管路、冷量分配、漏液檢測。我見過有人把數(shù)據(jù)中心整機放在普通辦公室結(jié)果一周之內(nèi)機房溫度上到四十度卡開始批量降頻。這不是卡的問題是環(huán)境不匹配。存儲帶寬這條容易被忽略但很致命。訓(xùn)練時數(shù)據(jù)加載跟不上卡就在那兒等數(shù)據(jù)利用率從 90% 掉到 50%。解決辦法是配高速本地盤做緩存、或者用分布式存儲加預(yù)取這些都要在選型階段一起規(guī)劃不能等卡裝好了再補。5. 把天梯圖落到預(yù)算三種典型場景的配置推演5.1 場景一個人開發(fā)者的小模型微調(diào)與推理先說最常見的場景。一個人、一臺機器、預(yù)算在兩三萬到五六萬之間主要工作是跑 7B 到 13B 模型的微調(diào)和推理偶爾做點圖像生成。這個場景我會推薦 C70 檔加一張或者預(yù)算寬裕直接上 W-A 檔。理由是這樣7B 模型做低秩適配微調(diào)顯存需求大概是 20GB 上下全參數(shù)量化微調(diào)要 30GB 以上。C70 的 16GB 只能勉強跑低秩微調(diào)還得把 batch 壓到 1、序列長度壓到 2K稍微長一點的樣本就 OOM。W-A 的 24GB 能舒服地跑 7B 低秩微調(diào)加 4K 序列或者跑 13B 的 4bit 量化推理覆蓋面寬很多。整機配置我一般這么配CPU 十二核以上、內(nèi)存按顯存的四倍配24GB 顯存配 96GB 內(nèi)存這個比例不是瞎定的因為數(shù)據(jù)預(yù)處理和模型加載都會在內(nèi)存里放副本、系統(tǒng)盤用 NVMe、數(shù)據(jù)盤單獨一塊大容量固態(tài)。電源按整機峰值功耗的 1.5 倍配機箱選風(fēng)道好的中塔前面三個進風(fēng)扇后面一個出風(fēng)扇別用側(cè)透的網(wǎng)紅機箱那種風(fēng)道是給水冷設(shè)計的。實測下來這套配置跑 7B 模型的低秩微調(diào)1000 條樣本大概兩三個小時跑 13B 的 4bit 量化推理能到每秒二三十個 token。對個人開發(fā)來說這個體驗是夠的能支撐起從實驗到原型的全流程。5.2 場景二團隊級別的中等規(guī)模推理服務(wù)第二個場景是團隊內(nèi)部或者對外提供推理服務(wù)需要撐住幾十個并發(fā)模型在 30B 到 70B 之間要求響應(yīng)穩(wěn)定、能連續(xù)跑。這個場景的關(guān)鍵詞是“并發(fā)”和“穩(wěn)定”單卡已經(jīng)不夠了。我推薦 W-B 檔兩張或者 D-S 檔兩到四張。這兩條路線各有取舍W-B 走的是通用串行總線互聯(lián)兩張卡之間的通信帶寬有限適合做數(shù)據(jù)并行而不是張量并行也就是“一張卡跑一個模型副本請求分發(fā)到不同副本”這種方式對互聯(lián)要求低擴展性好D-S 走的是專用互聯(lián)可以做張量并行把一個大模型拆到多張卡上但對軟件棧的要求高調(diào)試成本也高。我算一筆賬對比。30B 模型半精度權(quán)重 60GB4bit 量化后 15GB一張 W-B 的 48GB 能裝兩個副本還有富余兩個副本各撐 8 路并發(fā)總共 16 路。按每路每秒 20 token 算總吞吐 320 token/s。這個量級對大多數(shù)團隊內(nèi)部服務(wù)是夠用的而且單機部署運維成本極低壞了重啟就行。70B 模型就得上多卡了。半精度 140GB得三張 W-B 拼144GB或者兩張 D-M160GB。前者是通用總線互聯(lián)通信開銷大實際吞吐大概只有理論值的五成后者是專用互聯(lián)能到七成以上。差價大概在 30% 到 50%如果你的服務(wù)是長期跑、對吞吐敏感這個溢價是值得的。這里有個實操細節(jié)KV 緩存要單獨算。30B 模型假設(shè) 60 層、8 個 KV 頭、每頭 128 維、半精度存儲每個 token 每層占 2×8×128×2 4KB整個模型每 token 占 60×4KB 240KB。開 8K 上下文就是 1.9GBbatch 16 就是 30GB。這個數(shù)字經(jīng)常超過權(quán)重本身規(guī)劃顯存的時候千萬別漏了。5.3 場景三從零起步的訓(xùn)練集群第三個場景是從零搭一個小規(guī)模訓(xùn)練集群目標(biāo)是能跑 7B 到 13B 模型的全參微調(diào)或者小模型從零預(yù)訓(xùn)練。這個場景的坑最多我盡量講透。第一步是算顯存。前面算過7B 全參微調(diào)用混合精度加自適應(yīng)優(yōu)化器每十億參數(shù) 16GB7B 就是 112GB加激活值 130GB 往上。單卡裝不下最少四張 80GB 的卡切成四份每份 32GB 裝模型狀態(tài)剩下的留給激活值。要是訓(xùn) 13B直接翻倍到八張卡。第二步是算互聯(lián)。四張卡做全參微調(diào)每步都要做梯度同步同步的數(shù)據(jù)量是 28GB單精度梯度。互聯(lián)帶寬如果是每卡 900GB/s 全互聯(lián)同步一次大概 30 毫秒如果是通用總線每卡 64GB/s同步一次要 400 多毫秒。按每步計算 500 毫秒算前者總耗時 530 毫秒后者 900 毫秒差 70%。這個差距直接決定了你需要多買 70% 的卡來達到同樣產(chǎn)出所以互聯(lián)的錢不能省。第三步是算擴展效率。線性擴展是理想情況實際每增加一倍卡數(shù)效率掉 5% 到 15%。四張卡到八張卡效率大概 85%八張到十六張80%十六張到三十二張75%。這個衰減是因為通信占比隨卡數(shù)增加而上升。我一般建議中小團隊把集群規(guī)模控制在三十二張卡以內(nèi)超過這個規(guī)模網(wǎng)絡(luò)拓撲和調(diào)度系統(tǒng)的復(fù)雜度會陡增收益不明顯。第四步是算總擁有成本??ǖ膬r格只是開始機架、配電、制冷、網(wǎng)絡(luò)交換機、存儲、運維人力這些加起來往往是卡價的 50% 到 100%。我在做預(yù)算表的時候會把三年期的電費單獨列一行很多決策者看到這個數(shù)字會重新考慮規(guī)模。5.4 參數(shù)速算表我把常用的幾個公式整理成表你在選型的時候可以直接套。計算項公式示例推理權(quán)重顯存參數(shù)量 × 每參數(shù)字節(jié)數(shù)7B × 2B 14GB半精度KV 緩存2 × 層數(shù) × KV頭數(shù) × 頭維度 × 序列長度 × batch × 字節(jié)數(shù)60×8×128×8192×16×2B 30GB訓(xùn)練顯存全參參數(shù)量 × 16 至 20 字節(jié)7B × 16B 112GB訓(xùn)練顯存低秩微調(diào)參數(shù)量 × 2.5 至 3 字節(jié)7B × 3B 21GB訓(xùn)練總計算量6 × 參數(shù)量 × token 數(shù)6×7e9×1e12 4.2e22 FLOPs訓(xùn)練時間總計算量 ÷ (卡數(shù) × 單卡算力 × 利用率)4.2e22 ÷ (64×4e14×0.4) ≈ 4.1e6 秒推理 token 速度上限顯存帶寬 ÷ 權(quán)重顯存1500GB/s ÷ 14GB ≈ 107 token/s年電費功率 × 24 × 365 × 電價10kW × 8760 × 0.7 ≈ 6.1 萬元這張表里我特別想讓你注意的是最后兩行。推理速度上限那一行很多人在優(yōu)化推理性能的時候第一反應(yīng)是換更貴的卡其實先算一下就知道瓶頸在哪——如果實測速度只有帶寬上限的三成那問題在軟件棧而不在硬件換卡提升有限如果已經(jīng)到七成那換高帶寬的卡收益就很直接。年電費那一行則是在提醒你算力卡是持續(xù)消耗品不是一次性投入。6. 踩坑記錄天梯圖上不會寫的那些事6.1 顯存夠用但跑不起來碎片與預(yù)留有一類問題特別迷惑人nvidia-smi顯示顯存用了 60GB還有 20GB 空閑但程序就是報顯存不足。這不是玄學(xué)是顯存碎片。顯存分配器的工作方式和內(nèi)存類似長期運行的服務(wù)會不斷申請和釋放不同大小的塊時間一長空閑的顯存在物理上是不連續(xù)的雖然總量夠但沒有一塊連續(xù)區(qū)域能滿足大塊申請。表現(xiàn)就是服務(wù)跑幾個小時之后開始報錯重啟就恢復(fù)正常再跑幾個小時又報錯。解法有三條。一是在啟動時設(shè)置環(huán)境變量讓分配器采用更激進的碎片整理策略代價是啟動稍慢二是把服務(wù)的最大 batch 和最大序列長度固定下來讓顯存申請的模式變得可預(yù)測三是定期做顯存池的重建把服務(wù)做成可以優(yōu)雅重啟的形態(tài)在低谷期滾動重啟。我一般三條一起用穩(wěn)定性提升很明顯。還有一個容易被忽略的是框架的顯存預(yù)留。某些框架默認(rèn)會預(yù)留一大塊顯存做緩存池你看到“已用”其實是被預(yù)留了并沒有真正消耗。調(diào)優(yōu)的時候要用實際可分配的顯存去算別看總量。6.2 掉卡、降頻、跑不滿的排查順序連續(xù)跑長任務(wù)時出問題排查要按固定順序走亂試只會浪費時間。我的順序是這樣的第一步看溫度。顯存溫度和核心溫度分開看很多工具只顯示核心溫度。顯存溫度到 85 度以上就會觸發(fā)降頻到 95 度會開始報錯。消費級卡跑長任務(wù)顯存溫度高是常態(tài)解決辦法是拉低功耗墻到 80%、加強機箱風(fēng)道、或者加裝顯存散熱片。第二步看功耗。用監(jiān)控工具記錄整機功耗曲線看有沒有異常尖峰。電源瞬態(tài)響應(yīng)不足會導(dǎo)致瞬時掉電重啟這種情況日志里通常什么都沒有只會看到機器重啟了。判斷方法是換一個大功率電源試或者把卡的功耗墻拉低看是否復(fù)現(xiàn)。第三步看互聯(lián)。多卡任務(wù)跑不滿先看卡間通信有沒有報錯或者重傳。通用總線互聯(lián)的卡在多卡滿載時容易出現(xiàn)鏈路降速從全速降到一半甚至四分之一表現(xiàn)就是訓(xùn)練速度莫名其妙掉一半。查法是用廠商提供的帶寬測試工具跑一遍點對點帶寬和標(biāo)稱值對比。第四步看驅(qū)動和固件版本。這一條我放在最后但其實是最高頻的原因。多卡環(huán)境下驅(qū)動版本不一致、固件版本不匹配癥狀五花八門有的掉卡、有的算錯、有的只是慢。我一般要求同一批機器固件版本必須完全一致裝機器的時候統(tǒng)一刷一遍再上架。第五步看供電和接地。機房接地不良會導(dǎo)致各種隨機錯誤這種問題最難查因為換機器換卡都不復(fù)現(xiàn)。判斷方法是把機器挪到另一個機柜試或者測量機柜接地電阻。6.3 常見問題速查表現(xiàn)象最可能原因快速驗證處理方式報顯存不足但有余量顯存碎片重啟服務(wù)后恢復(fù)固定 batch、開碎片整理、滾動重啟長任務(wù)跑幾小時后變慢顯存或核心降頻看溫度曲線拉低功耗墻、改散熱、強風(fēng)道多卡訓(xùn)練速度只有單卡一半互聯(lián)帶寬不足跑點對點帶寬測試換互聯(lián)拓撲更好的配置、減少并行度機器隨機重啟、無日志電源瞬態(tài)不足換大功率電源上 850W 以上、留足余量訓(xùn)練 loss 無故發(fā)散顯存靜默錯誤開 ECC 或校驗換帶 ECC 的卡、降低頻率推理速度只有理論值三成軟件棧未優(yōu)化算帶寬上限對比換推理引擎、調(diào) batch、開連續(xù)批處理多機訓(xùn)練擴展效率驟降網(wǎng)絡(luò)延遲或丟包打流測試換網(wǎng)絡(luò)拓撲、調(diào)通信庫參數(shù)卡識別不到固件版本不匹配查固件版本統(tǒng)一刷固件、更新驅(qū)動這張表我建議存下來遇到問題按行對號入座能省掉大量瞎猜的時間。表里最后一條“卡識別不到”看著簡單實際是我見過最耽誤事的——多卡整機里少識別一張卡有些監(jiān)控工具不報警你要跑到訓(xùn)練腳本啟動才發(fā)現(xiàn)卡數(shù)不對白白浪費一輪排隊時間。6.4 幾個花錢買來的經(jīng)驗最后分享幾條我覺得最值錢的經(jīng)驗都是踩坑踩出來的。第一同一批機器必須配置完全一致。多機訓(xùn)練里只要有一臺機器的卡型號、固件版本、甚至內(nèi)存容量不一樣整個集群的效率就會被它拖住。木桶效應(yīng)在這個領(lǐng)域體現(xiàn)得淋漓盡致。寧可少買兩臺也要保證買到的完全一致。第二別為了省 10% 的錢選低一檔的互聯(lián)?;ヂ?lián)的差價看著心疼但它對訓(xùn)練效率的影響是 30% 起步。我見過為了省預(yù)算選了通用總線互聯(lián)的方案結(jié)果四張卡的實際算力只相當(dāng)于兩張半最后不得不重新采購。第三功耗墻不是越高越好。廠商標(biāo)稱的峰值算力是在功耗墻拉滿、溫度理想的情況下測出來的。實際機箱環(huán)境里把功耗墻拉到 85%性能只掉 5%但溫度和噪音改善巨大長期運行的穩(wěn)定性提升明顯。這個操作是免費的很多人不知道。第四留出至少一個檔位的升級空間。主板插槽、電源功率、機箱空間、散熱能力這四樣在規(guī)劃的時候都要往上留一檔。你今年買的是中端卡明年想換旗艦卡結(jié)果電源不夠、機箱塞不下那就得整機重來成本比一步到位高得多。第五先跑基準(zhǔn)測試再談優(yōu)化。拿到機器第一件事不是裝業(yè)務(wù)是跑一遍標(biāo)準(zhǔn)的算力基準(zhǔn)和帶寬基準(zhǔn)把數(shù)字記下來。以后性能有任何異常和這個基線一比就知道問題出在哪。沒有基線的性能調(diào)優(yōu)全是玄學(xué)。我自己在實際操作中的體會是算力卡這件事上“買對”比“買貴”重要得多而“買對”的前提是你能把自己場景的瓶頸算清楚。天梯圖給的是相對位置不是絕對答案。同一張卡在一個人手里是性價比之選在另一個人手里就是浪費預(yù)算差別只在于他有沒有先算清楚自己要跑的模型多大、要多快、要跑多久。下次你再看任何一份性能排行先別急著看第一名先翻到規(guī)格表把帶寬和顯存容量那兩個數(shù)字圈出來——那才是決定你體驗的東西。