3

硬體

把運算、記憶體與 interconnect 限制映射到服務行為。

9 分鐘閱讀

印刷頁: 71–92

在 GitHub 加星

一口氣讀懂

推論硬體是一串容量有限、速度各異的資源,不是單一效能數字。Tensor Core 的吞吐量會限制長提示 prefill 與影音生成等運算密集工作;video random-access memory(VRAM)的容量決定 weights 及工作狀態是否放得下,而 VRAM 頻寬往往限制自回歸 decode。一旦模型跨越多個裝置,interconnect 頻寬與同步成本也會進入關鍵路徑。選硬體時,應先用符合正式流量形狀的測試找出真正飽和的階段與資源,再為該瓶頸配置容量。

為何重要

  • 當 decode 正在等待記憶體時,再高的峰值 floating-point-operations-per-second(FLOPS)也可能毫無幫助;反過來說,增加頻寬也救不了受運算限制的 prefill 或 diffusion 步驟。先把資源對準實際階段,才能避免為工作負載根本用不到的漂亮規格付費。
  • 由多個 GPU 組成的 instance 是一種 topology,不只是裝置數量。同一節點內的資料傳輸遠快於跨節點傳輸,因此模型 sharding 放在哪裡,會直接改變延遲、同步成本與擴充效率。
  • 實際配置的單位還包含主機 CPU、主機記憶體、儲存空間、網路,以及特定 GPU 外型與連接方式。即使 accelerator 本身看似合適,任何一項周邊資源都可能拖慢模型載入、cache 卸載、前處理或分散式執行。
  • 雲端、自有機房、實體隔離環境、桌上型電腦與手機,各自在彈性、隱私、外部依賴、散熱、裝置差異與開發成本之間取捨。最佳配置可能是把小而急迫的工作放在終端裝置,把高負載工作留在資料中心。

心智模型

把每個推論步驟想成輸送帶:數值先從某個儲存層取出,交給 compute unit 轉換,必要時再傳到另一個裝置。若輸送帶供應不了運算元,再快的計算單元也只能閒置。小型 cache 距離運算最近、速度最快;往 VRAM、主機記憶體與儲存空間移動時,容量逐層增加,但存取成本也跟著上升。平衡的系統會把最常使用的工作集合留在運算附近,並盡量減少穿越較慢邊界的次數。

GPU 記憶體層級

Tensor Core 各自使用 L0 指令 cache,並共用每個 SM 的 L1 工作空間;所有 SM 再經全 GPU 共用的 L2 連到容量較大但速度較慢的 VRAM,主機記憶體與本機儲存空間則是逐層更低的卸載層。

  • Tensor Core執行矩陣運算
  • L0 指令 cache每個 Tensor Core 獨立使用
  • L1 cache位於每個 SM 內的高速空間
  • L2 cache全晶片共用的 cache
  • VRAM保存 weights、activation 與 KV cache
  • 主機記憶體容量更大的卸載層
  • 本機儲存空間鄰近但最大且最慢的一層
  • Tensor CoreL0 指令 cache: 每核心指令
  • Tensor CoreL1 cache: 每個 SM 的工作資料
  • L1 cacheL2 cache: 晶片內共用
  • L2 cacheVRAM: 經記憶體匯流排
  • VRAM主機記憶體: 跨主機連線卸載
  • 主機記憶體本機儲存空間: 載入或溢寫

假設要部署一個長提示、短回答的語言服務。第一步不是看哪張 GPU 的峰值最高,而是先用模型參數量與精度估算 weights,再加入最長預期序列、目標 concurrency 與 batch 需要的 key-value cache、activation 及 runtime buffer,確認尖峰情境仍有餘裕。第二步把 prefill 與 decode 分開測:前者處理整段提示,可能先吃滿 Tensor Core;後者逐 token 讀取 weights,可能先吃滿 VRAM 頻寬。算力較高但容量或頻寬較低的裝置,可能在第一個 token 路徑勝出,卻在持續生成時落後,甚至在長 context 下直接發生 out-of-memory(OOM)。最後要比較的是完整工作負載範圍:不同序列長度、concurrency 量與尾端延遲是否都在服務目標內,而不是規格表上的單一冠軍。

接著讓模型大到超過一個裝置。單一節點內,GPU 能經高速連線頻繁交換 partial result,因此需要每層同步的切分仍可能有效;跨到第二節點後,每次同步都要走較慢網路,累積成本可能抵銷新增算力。相同的八張額外 GPU 可以拿來擴大一個 replica,也可以建立另一個獨立 replica。只有模型容量、key-value cache 空間或單一請求延遲真的要求更多裝置時,擴大 replica 才有必要;若模型已能在一個節點內有效服務,橫向複製通常能避免跨節點同步並處理更多彼此獨立的請求。模型大小、cache 餘裕、流量 concurrency 與演算法通訊模式必須一起決定 topology,不能只依 GPU 數量。

硬體層級還會一路延伸到機架之外。手機適合在沒有網路往返的情況下處理小型、即時且隱私敏感的工作;工作站可能利用大型 unified memory 或高階獨立顯示卡執行個人模型;資料中心則能把高功率 accelerator、穩定散熱與標準化網路整合成可擴充服務。替代晶片也可能針對記憶體頻寬、能源效率或特定 dataflow 取得優勢。真正的工程問題不是哪一個位置或廠商絕對勝出,而是哪一段流程能在當地的算力、容量、持續散熱、電池、軟體支援矩陣與可得供應下可靠執行。混合系統還要定義能力偵測、資料邊界與 fallback,讓終端裝置不足或離線策略不適用時,可以平順轉到中央服務。

採購比較必須把完整 instance 標準化,不能只比晶片名稱。先找出能容納 weights 與服務 headroom 的最小 instance 形狀,將主機 CPU、主機記憶體、儲存、網路、GPU 外型與 interconnect 都列入,並在相同 driver、runtime、engine、precision 及請求分布下量 sustained performance。雲端標價也要換算成滿足延遲目標時的每秒有效 token 或每千次請求成本,不能用理論峰值除價格。接著記錄區域容量、啟動時間、可否預留、故障替換與 multi-instance 分割方式:小模型若只用到整張卡的一小部分,現代 GPU 的合適 slice 可能更有效;模型需要大量 burst 或 cache 時,完整裝置才保有彈性。供應不穩也會讓優秀 benchmark 失去意義,因為無法在需要的區域與時間取得足夠相同 topology,服務就不能可靠擴充。

每一層邊界都要設計故障處理。VRAM 空間不足時,系統要限制 admission、降低 batch、縮短 context 或選較小模型,不能等 OOM 讓 replica 崩潰;節點內連線或跨節點網路退化時,要能辨識同步延遲並改用較少通訊的配置,必要時把工作切回獨立 replica;終端裝置缺少支援、過熱、低電量或執行太慢時,要有明確雲端 fallback,同時維持使用者同意與資料邊界。監控也要能區分 Tensor Core 飽和、VRAM 容量壓力、memory bandwidth 停頓、interconnect 壅塞、thermal throttling、模型載入輸入輸出與普通 queueing,否則所有問題只會表現成「延遲變高」。硬體選型只有在這些退化模式可觀測、可限制並可恢復時才算完成。

為每次硬體決策保存可重查的紀錄:正式流量的輸入輸出與 concurrency 分布、weights 和 cache 的記憶體算式、裝置與節點 topology、完整 instance 規格、driver 與 engine 版本、各階段 benchmark、價格計算 benchmark、容量取得方式,以及被淘汰方案的原因。這份文件要明確寫出假設,例如目標 precision、最長 context、可接受 P99、預期 cache hit 與跨節點通訊量。當流量形狀、模型大小、精度、kernel、雲端供應或價格改變時,就重新執行相同測試,而不是延用舊結論。若只有局部假設改變,也要先重跑受影響的 phase,再用端到端負載確認沒有把瓶頸推到其他層;若供應商替換 instance 內的主機或網路配置,即使 GPU 名稱相同也視為新候選。也要把測試日期與版次保留在紀錄中,避免後來的讀者把歷史結果誤當成目前保證。硬體選型從來不是永遠正確的產品排行,而是在一組可驗證假設下成立的工程判斷。

核心概念

運算吞吐量

Streaming Multiprocessor 把純量、矩陣與特殊函式等資源組在一起。比較推論效能時,應看實際採用精度下的 Tensor Core 吞吐量,不能把 dense、sparse 與不同精度的峰值數字混在一起。

記憶體容量

weights 只代表最低需求,activation、runtime buffer 與 key-value cache 都需要額外空間;長 context、高 batch 或影片生成尤其吃重。模型勉強載入成功,不表示它能承受有意義的正式流量。

記憶體頻寬

在低到中等 batch 下,decode 會反覆 streaming weights,卻只做相對少量的算術運算。因此即使峰值算力相同,提高可用頻寬仍可能加快單一使用者看到 token 的速度。

架構世代

2026 年 1 月版快照:Hopper 導入廣泛使用的低精度與非同步功能;Blackwell 延伸低精度格式及記憶體搬移能力;已公布的 Rubin 系統則鎖定更高頻寬記憶體與獨立的運算導向元件。新晶片仍要等 kernel、編譯器與 runtime 成熟後,再用真實測試判斷。

完整 instance 形狀

instance 會把 accelerator、主機資源及連線包成一個可配置單位。Multi-instance GPU 能讓小模型使用新硬體的一部分;完整的多 GPU 節點則提供大型模型需要的容量與高速節點內 interconnect。

替代 accelerator

2026 年 1 月版快照:非 NVIDIA 設計各自追求記憶體頻寬、能源效率、專用 dataflow 或雲端整合等優勢。實務評估不能只看晶片規格,還要一起檢查軟體成熟度、可量產容量、供應通路與工作負載涵蓋度。

本機推論

在裝置上執行可以移除網路延遲、離線運作、讓資料留在本機,並把 accelerator 成本從服務營運方移開;代價是嚴格的散熱與電池預算,以及破碎的裝置支援矩陣。設計時要以一般使用者的硬體為 benchmark,不能只看愛好者的頂級設備。

運作機制

  1. 先由 weights 數量與精度計算記憶體下限,再為 runtime buffer、activation 與預期 key-value cache 設定明確預算。最後向上取到市場上可用的 instance 形狀,不要假設標示的每一個 byte 都能配置給模型。
  2. 量測時把工作階段分開。長提示 prefill 與圖像、影片生成通常更需要算力;低到中等 batch 的語言 decode 通常更需要記憶體頻寬。混合流量則要依實測找出兩者平衡點。
  3. 把 CPU 記憶體當成刻意規劃的次級層,而不是看不見的溢出區。2026 年 1 月版快照:緊密 interconnect 的 Grace-GPU 系統提供比一般 CPU-GPU 連線高得多的主機到裝置存取速度,因此可能改變 cache 或 adapter 卸載的成本效益。
  4. 對雲端供應商的精確 stock-keeping unit(SKU)做測試,因為 GPU 外型、主機配額、儲存、網路與 interconnect 都可能隨 instance 類型而變。報告中要連同 driver、runtime、模型、精度、序列形狀與 batch 設定一起記錄。
interconnect topology - 2026 年 1 月版快照

同一節點內的 GPU 先經 NVLink 與 NVSwitch 互通,而第一節點到第二節點之間的資料流則跨越速度較慢的 InfiniBand 層級。

  • 節點 A 的 GPU承載平行模型 sharding
  • NVLinkGPU 之間的直接高速連線
  • NVSwitch節點內全 interconnect 協調
  • InfiniBand頻寬較低的節點間網路
  • 節點 B 的 GPU承載額外模型 sharding
  • 節點 A 的 GPUNVLink: 節點內傳輸
  • NVLinkNVSwitch: 協調整個節點
  • NVSwitchInfiniBand: 離開節點
  • InfiniBand節點 B 的 GPU: 抵達第二節點

關鍵指標

目標精度下的 dense 算力

FLOPS

必須比較相同數值格式,也不能用結構化 sparsity 的峰值取代 dense 推論能力。

可用 accelerator 記憶體

GB

要追蹤 weights 加上營運空間,而不是只確認模型是否載入成功。

持續記憶體頻寬

GB/s 或 TB/s

以預期的 decode 形狀量測實際資料搬移行為。

運算、記憶體與連線使用率

時間序列

平均值可能掩蓋停頓、裝置間不平衡,以及隨流量改變的階段轉換。

能源與散熱範圍

W 與 joules/request

替代 accelerator 與本機裝置尤其重要,因為散熱或電池會限制長時間可維持的速度。

取捨

新架構與成熟 software stack

新世代可能增加格式、頻寬與指令,但要等編譯器、kernel、engine 與雲端供應同步跟上,優勢才會真正出現。在這段空窗期,成熟硬體的每元效能可能更可預測。

節點內擴大與跨節點擴充

更大的單一節點能保留高速連線;增加節點可擴大容量,卻會暴露較慢的通訊路徑。當模型已經放得下時,額外節點拿來建立獨立 replica 可能更有價值。

分割 GPU 與完整 GPU

Multi-instance 分割能讓小模型有效使用新晶片;完整裝置則有較大的記憶體、彈性與突發空間。隔離需求與 slice 形狀必須符合服務流量範圍。

專用 accelerator 與生態系廣度

針對特定用途的晶片可能在單一瓶頸或能源目標勝出,但搬遷時也要重新驗證 kernel、framework、可觀測性、容量供應與團隊維運能力。

邊緣端與資料中心

本機執行改善隱私、離線能力與網路延遲;集中式服務則提供更強硬體、一致軟體、機隊控制與大型模型。混合 routing 可以把兩者各自擅長的工作分開處理。

工程檢查表

  • 比較 accelerator 之前,先記錄輸入長度、輸出長度、modality、精度、batch、concurrency 量、cache 大小與延遲目標。
  • 證明完整服務 footprint 在保留合理餘裕後仍放得下;要測試長 context 與尖峰 batch 的 OOM 行為,不能只看啟動。
  • 把算力規格統一成相同精度下的 dense 運算,並註明數字是理論峰值還是實際達成值。
  • 確認所選供應商 SKU 的 GPU 外型、主機 CPU 與記憶體、儲存路徑、網路介面及精確 interconnect。
  • 畫出裝置與節點邊界,再把需要大量通訊的平行工作放到最快的可用連線上。
  • 把 2026 年 1 月版的世代表當作歷史背景,並在實際軟體映像上重新測試相容性與價格效能。
  • 評估非預設 accelerator 時,測試整套部署工具鏈與實際可得容量,不要只看廠商的 microbenchmark。
  • 做本機推論時,定義最低支援裝置、持續散熱測試、電池預算、fallback routing 與隱私邊界。

術語

Streaming Multiprocessor
GPU 內負責 scheduling 大量 thread 的運算群組,包含算術資源與區域 shared memory。
Tensor Core
針對矩陣乘加最佳化的專用 compute unit,神經網路推論的許多步驟都依賴它。
VRAM
連接 accelerator 的高頻寬晶片外記憶體,用來保存模型 weights 與目前的服務狀態。
High-bandwidth memory
作為 accelerator VRAM 的堆疊式記憶體技術家族,能提供很高的資料傳輸速率。
2026 年 1 月版快照:NVIDIA 在支援系統內提供的 GPU 直連與節點級交換架構,用於高速通訊。
InfiniBand
常用於 accelerator 節點之間的高頻寬網路,但速度仍遠低於節點內 interconnect。
Multi-instance GPU
把大型 GPU 與相應主機資源切成較小、彼此隔離 instance 的硬體分割機制。
本機推論
模型直接在使用者桌機、筆電、手機或其他終端裝置上執行,而非集中式伺服器。

原書索引

  • 第 71-74 頁

    accelerator 版圖、部署模式與 GPU 架構方向。

  • 第 74-77 頁

    compute unit、數值吞吐量、cache、VRAM、容量與頻寬。

  • 第 77-83 頁

    2026 年 1 月版的架構世代與主機到裝置記憶體連線。

  • 第 83-87 頁

    雲端 instance 組成、多 GPU 連線、跨節點網路與硬體分割。

  • 第 87-89 頁

    2026 年 1 月版的替代 accelerator 策略與採用限制。

  • 第 89-92 頁

    桌面與行動推論的機會、限制及混合配置。

Accelerator categories, deployment modes, and GPU parallel-compute orientation
印刷頁: 71–74; PDF 頁: 73–76
Tensor Core compute, precision, cache levels, VRAM capacity, and bandwidth bottlenecks
印刷頁: 74–77; PDF 頁: 76–79
GPU architecture generations, inference features, and CPU-to-GPU memory links
印刷頁: 77–83; PDF 頁: 79–85
Cloud instances, multi-GPU topology, interconnects, and multi-instance GPU partitioning
印刷頁: 83–87; PDF 頁: 85–89
Alternative accelerator strategies and ecosystem constraints
印刷頁: 87–89; PDF 頁: 89–91
Desktop and mobile inference benefits, constraints, and hybrid placement
印刷頁: 89–92; PDF 頁: 91–94