💡 快速答案:什麼時候一台 GPU 主機不夠用、需要多節點分散式訓練?
單台 8×H100 約有 640GB 顯存,70B 的 LoRA 微調、32B 以下全參數微調都夠;要全參數訓練 70B(需 700GB 以上)或做預訓練才須跨節點。關鍵不是卡數而是網路:節點間至少 100Gbps 的 InfiniBand 或 RoCE,否則通訊等待會吃掉 30-40% 算力,加卡不加速。
「一張 GPU 不夠,那我多租幾台主機串起來就好了吧?」這句話對了一半。多節點分散式訓練確實是大模型時代的標準解法,但它不是把主機疊起來就會變快的魔法:節點之間的網路頻寬、平行策略的選擇、故障恢復的機制,任何一環沒做對,你花三倍的錢可能只換到 1.5 倍的速度。這篇入門文把「什麼時候真的需要多節點」講清楚,再用白話拆解幾種平行策略與網路需求,並用一個台灣新創的實際訓練專案示範怎麼把叢集用在刀口上。看完的目標很務實:讓你在對的時間點做對的擴充決策,而不是提早半年付叢集的錢。
先算清楚:一台主機的天花板在哪
2026 年的主流訓練主機是單機 8 卡:8×H100 80GB 共 640GB 顯存,或 8×H200 141GB 共 1,128GB。這個容量能做什麼?以 FP16 混合精度、AdamW 優化器估算,全參數微調的顯存需求約是模型權重的 8-10 倍:7B 需要 110-140GB,單機輕鬆;32B 約 500GB,單機 8×H100 緊繃但可行;70B 需要 700GB 以上,單機 H100 裝不下,這就是第一道跨節點的門檻。
把 70B 的帳攤開看會更有感:FP16 權重 140GB、梯度再 140GB、AdamW 優化器狀態(FP32)約 560GB,合計 840GB 還沒算激活值——就算開滿 gradient checkpointing 與 ZeRO 分片,640GB 的單機也是塞不進去的,這不是調參數能解的問題,是物理限制。反過來說,8×H200 的 1,128GB 單機就能硬扛,所以「要不要跨節點」有時候也是「要不要換更大單機」的選擇題,兩個方案都該拿來報價比較。
換成 LoRA 這類參數高效微調,帳完全不同:70B 的 LoRA 只要 150-190GB,兩三張 H100 就夠,根本不用跨節點。所以判斷的順序應該是:先確認你的訓練方式(全參數還是 LoRA)、模型規模與資料量,再回頭看單機夠不夠。訓練與推論的顯存邏輯差異,可以參考 訓練與推理的 GPU 配置邏輯。
除了「放不放得下」,另一個天花板是「跑不跑得完」。訓練時間大致與「資料 token 數乘以模型參數量」成正比:同樣 300 億 token 的語料,14B 模型用單機 8×H100 要跑一個多月,16 卡叢集能壓進三週;若是 70B,單機就算塞得下也要跑上季度等級,商業上根本等不起。所以多節點的第二個理由是時程——當「慢慢跑」的時間成本超過「租叢集」的價差,跨節點就從奢侈品變成必需品,這筆帳要拿專案死線來算,不是拿硬體價格算。

四種平行策略,白話拆解
資料平行(Data Parallel)最直觀:每張卡放一份完整模型,各吃不同批次的資料,反向傳播後同步梯度。前提是單卡放得下整個模型,所以它解決的是「訓練太慢」而不是「模型太大」。ZeRO 與 FSDP 是資料平行的進化版,把優化器狀態、梯度、甚至權重切碎分散到各卡,讓每卡只保管一部分,單卡顯存需求大幅下降,是目前中型規模訓練的主力。
張量平行(Tensor Parallel)把單一層的矩陣運算切開,由多張卡合力算一層,通訊極度頻繁,基本上只能在有 NVLink 的同一台主機內做。管線平行(Pipeline Parallel)則把模型按層切段,前幾層放節點一、後幾層放節點二,像工廠流水線。真正的大規模訓練是三者混用:節點內張量平行、節點間管線加資料平行。
對號入座的口訣:模型放得下單卡、只嫌慢——用資料平行;模型放不下單卡、但單機多卡總量夠——ZeRO/FSDP 或張量平行;單機總量都不夠——管線平行加資料平行跨節點。好消息是你不需要手刻這些,DeepSpeed、Megatron-LM、PyTorch FSDP 都把策略包好了,設定檔幾行就能切換;壞消息是框架不會幫你判斷哪種組合適合你的模型與網路,這個功課還是得自己做,而且選錯組合的代價是以「天」計的訓練時間。
ZeRO 的三個階段也值得認識一下,因為它是最多人實際用到的:stage 1 只切優化器狀態,通訊負擔最小;stage 2 加切梯度;stage 3 連權重都切,單卡顯存壓到最低、通訊也最重。實務上的起手式是 stage 2 配 gradient checkpointing,不夠再上 stage 3;另有 offload 選項能把狀態丟到 CPU 記憶體換更多空間,速度會再掉兩三成,適合「就差一點點塞不下」的邊界情況。
網路才是主角:頻寬決定加卡有沒有意義
多節點訓練的成敗,八成取決於節點之間的網路。看幾個數量級就懂:單機內 NVLink 的卡對卡頻寬約 900GB/s,PCIe 5.0 x16 約 64GB/s,而一般企業機房的 10GbE 乙太網路換算只有 1.25GB/s——差了七百倍。梯度同步是每一步訓練都要做的事,若網路太慢,GPU 會有 30-40% 甚至更多時間在等資料,你付的是 8 卡的錢,拿到 5 卡的效能。
具體算一次你就不會再懷疑這件事:70B 模型的 FP16 梯度一份 140GB,資料平行每一步都要做全體同步(all-reduce 的實際傳輸量約是梯度量的兩倍),在 10GbE 上光傳輸就要上百秒,而一步的計算時間可能只有幾秒——網路慢到這種程度,加節點是負優化。換成 100Gbps(12.5GB/s)的 RDMA 網路,加上 NCCL 的通訊與計算重疊技術,同步時間能壓到與計算時間同級,叢集才開始「像一台機器」。
所以跨節點訓練的入場標準是:節點間至少 100Gbps 的 InfiniBand 或 RoCE,大型叢集普遍上到 400Gbps。搭配得當,2-4 節點的擴展效率(scaling efficiency)可以維持在 85-95%;用普通乙太網路硬跑,效率常掉到 50-70%,等於加一倍的卡只快三四成。租用多節點方案時,「節點間網路規格」這一行比 GPU 型號更值得追問。另外別忘了儲存:多節點要共享資料集與檢查點,NVMe 等級的共享儲存與夠粗的儲存網路,不然資料載入會變成新瓶頸,GPU 利用率照樣上不去。
進場前的驗收動作很簡單:拿 nccl-tests 跑一輪 all-reduce 頻寬測試,實測值應該到標稱頻寬的八成以上;再跑一小時的迷你訓練,盯著 GPU 利用率——健康的叢集應該穩定在 90% 以上,若在 60-70% 之間鋸齒狀跳動,九成是通訊或資料載入在拖後腿。這兩個測試合計半天,能把「租了才發現不對」的風險擋在簽約之前,正規的主機商都願意配合你做。
什麼規模需要幾個節點:對照表
| 訓練需求 | 顯存總量估算 | 建議配置 | 節點間網路 |
|---|---|---|---|
| 7B-32B LoRA/QLoRA 微調 | 10-95GB | 單機 1-2 卡(4090/H100) | 不需要 |
| 70B LoRA 微調 | 150-190GB | 單機 3-4×H100 | 不需要 |
| 7B-14B 全參數微調 | 110-280GB | 單機 2-4×H100 | 不需要 |
| 32B-70B 全參數微調 | 500GB-1.4TB | 單機 8×H200 或 2 節點 8×H100 | 100-400Gbps RDMA |
| 百億級以上持續預訓練 | 數 TB 起 | 4 節點以上叢集 | 400Gbps InfiniBand |
表格透露的重點:絕大多數企業微調需求停在「單機多卡」就能解決,真正需要跨節點的,是全參數訓練 70B 以上、或做持續預訓練(continual pre-training)注入大量領域語料的團隊。一個常見的規劃錯誤是「預算不夠就把節點切小」——用四台 2 卡機組叢集,不如一台 8 卡機:節點越多、跨網路的通訊占比越高,小節點叢集的效率天生吃虧。同樣預算永遠優先把單節點餵滿,再考慮加節點。表中的顯存估算已含優化器狀態,但激活值依 batch 與序列長度浮動,實際規劃再留一到兩成緩衝會安全得多。
台灣案例:新創訓練 14B 繁中領域模型
一家台北的 AI 新創要做金融領域的繁中模型:以開源 14B 底模做持續預訓練,語料 300 億 token,涵蓋公開財報、法規與新聞。他們評估過三條路:買 8 卡機(資本支出 NT$1,500 萬起、交期兩三個月)、海外雲(H100 每卡時 US$2.5-6,整案含實驗估 NT$250-400 萬,資料還要出境)、以及台灣機房租用 2 節點 16×H100 加 200Gbps InfiniBand 的方案,最後走第三條。
執行分兩階段:第一階段用單節點跑 1B 小模型,把資料管線、tokenizer、評測、檢查點機制全部驗證一遍,兩週;第二階段 16 卡全開跑 14B 主訓練,21 天完成,scaling efficiency 實測 91%。過程中不是沒出事——第 9 天一張卡 ECC 錯誤觸發中斷,因為每 30 分鐘存一次檢查點到共享儲存,重啟後只損失了 20 分鐘進度;這種「一定會發生的故障」,正是前兩週把續訓機制跑順的價值所在。
語料工程也占了整案三分之一的工時:300 億 token 的原始資料先過去重與品質過濾,砍掉近四成;再依「領域語料七成、通用語料三成」的配比混合,避免模型學了金融卻忘了普通話;每一批資料都留了 1% 做驗證集,訓練途中每天看一次 loss 與下游任務分數,發現異常能立刻定位是哪一批資料的問題。他們的心得很直接:多節點訓練燒錢的速度是每小時計的,資料沒準備好之前,一分鐘叢集都不要開。
成本這樣拆:叢集租期三個月(含前置與緩衝)控制在七位數初,大約是自購方案的六分之一,而且訓練結束就退租,不用養一台每年折舊六位數的鐵。對台灣團隊還有一個實際的點:凌晨三點的 NCCL 通訊錯誤,打電話有中文工程師一起查,不用等美西時區上班——多節點訓練的除錯常常是「環境問題」而不是「程式問題」,在地支援的價值在這種時刻最明顯。
還沒到多節點的你,該做的三件事
看完如果你發現自己的需求其實是「微調 32B 以下」,恭喜,省下一大筆:一台單卡或雙卡主機就能開工,方法見 LLM 微調實戰。如果你在單機 8 卡的邊緣,先把三件事做滿再談擴充:開 gradient checkpointing 用兩三成的速度換 30-50% 顯存、用 ZeRO-3 或 FSDP 把狀態切碎、評估 LoRA 能不能取代全參數。三招用盡還是不夠,才進多節點。
真的要進場,依這個節奏走:從 2 節點開始,把 NCCL 參數、網卡綁定、檢查點續訓、故障重啟的 SOP 全部跑順,量到穩定的 scaling efficiency 之後,再決定要不要往 4 節點以上加。跳過這一步直接租大叢集的團隊,常常花一週的叢集租金在查一個網卡設定,那是全案最貴的學費。多節點訓練是能力,不是身分象徵;在對的時間點用對的規模,才是把每一塊 GPU 預算都花在算力而不是等待上。
排程上還有一個省錢技巧:訓練專案的叢集需求是脈衝式的——資料準備期用單卡機、主訓練期租滿、收尾評測期再縮回單卡。跟主機商把這條曲線講清楚,分階段租用,比整案期間全程掛著大叢集省 30-50%。台灣機房的另一個優勢在這裡:溝通成本低,規格調整常常一通電話當天生效,海外供應商光開工單來回就是兩三天。

找台灣在地的 GPU 主機夥伴
從單卡實驗機、單機 8 卡,到多節點訓練專案,戰國策 GPU 主機提供 NVIDIA H100 與 RTX 系列的彈性配置,台灣機房、資料不出境,月租 NT$15,000 起,7×24 中文技術支援,訓練型專案可以短租、用完即退。方案細節見 戰國策 GPU 主機,或加 LINE @119m、撥免費專線 0800-003-191,由顧問依你的模型規模與訓練排程試算節點數與網路規格。
常見問題 FAQ
什麼情況一定要用多節點訓練?
兩種:全參數訓練 70B 以上模型(顯存需求 700GB 起,超過單機 8×H100 的 640GB),或持續預訓練需要在合理時間內吃完數百億 token 語料。若只是 LoRA 微調,70B 也只要 150-190GB,單機 3-4 張 H100 就能解決,不必跨節點。
資料平行、張量平行、管線平行差在哪?
資料平行是每卡一份完整模型、分頭吃資料,解決「訓練太慢」;張量平行把單層運算切給多卡合算,解決「單層太大」,通訊量極高只適合 NVLink 內;管線平行把模型按層切段跨卡跨節點放,解決「模型太深」。大型訓練通常三者混用,由框架自動調度。
節點之間的網路要多快才夠?
跨節點訓練的入場標準是 100Gbps RDMA(InfiniBand 或 RoCE),大型叢集普遍用 400Gbps。對照組:10GbE 乙太網路只有 1.25GB/s,跑梯度同步會讓 GPU 閒置 30-40% 以上。租用前務必確認節點間網路規格,這行字比 GPU 型號更影響實際訓練速度。
scaling efficiency(擴展效率)多少算合格?
2-4 節點的健康值是 85-95%:意思是卡數翻倍、實際吞吐拿到 1.7-1.9 倍。若實測掉到 70% 以下,先查節點間頻寬、NCCL 拓撲設定與資料載入瓶頸。效率長期低於 75% 時,多租的節點等於在燒錢,不如先回單機把配置調順。
ZeRO 和 FSDP 是什麼?能省多少顯存?
兩者都是把優化器狀態、梯度、權重切碎分散到多卡的技術,ZeRO 來自 DeepSpeed,FSDP 是 PyTorch 原生版。以 ZeRO-3 全切為例,單卡顯存需求可降到接近「總需求除以卡數」,讓 8×80GB 有機會跑動 500GB 級的全參數訓練,代價是通訊量增加、速度慢 10-30%。
多節點訓練中途斷掉怎麼辦?
標準做法是週期性存檢查點(checkpoint):每 30-60 分鐘或每 N 步把權重與優化器狀態寫進共享儲存,故障後從最近檢查點續訓,損失控制在一小時內。檢查點檔案很大(70B 全狀態約 800GB 以上),儲存要配 NVMe 並預留 3-5 份的空間。
訓練 70B 模型大概要多少張 H100、多久?
全參數微調 70B、資料量 100 萬筆指令等級:常見配置是 2 節點 16×H100,訓練數天到兩週,視序列長度與 epoch 數而定。若改用 LoRA,單機 4×H100 數天內可完成,成本差 3-5 倍。先確認任務真的需要全參數,再上重裝備。
租多節點叢集,月費大概什麼量級?
台灣機房的行情,單機 8×H100 等級月租約在七位數上下浮動,2 節點翻倍,另計 InfiniBand 網路與儲存。好消息是訓練專案通常 1-3 個月結束,短租加用完即退,總成本常只有自購的 10-20%,還不用扛折舊與機房維運。
單機多卡和多節點,程式要改多少?
用 PyTorch FSDP、DeepSpeed 或 Accelerate 的話,單機到多節點主要是改啟動參數與環境設定(節點清單、NCCL 網卡綁定),訓練程式碼本身改動很小。真正花時間的是叢集除錯:網卡挑錯、防火牆擋掉通訊埠這類環境問題,佔了多數導入工時。
可以先在單機驗證,再擴到多節點嗎?
這是最推薦的路徑:先用單機小模型(如 1B-7B)把資料管線、評測、檢查點機制全部跑通,確認 loss 曲線健康,再原封不動放大到多節點。90% 的訓練問題在小規模就能暴露,單機驗證的幾天時間,能省下多節點階段數十萬的試錯機時。