為何是 GPU:吞吐量導向的平行架構
深度學習的計算核心是稠密矩陣乘法(GEMM),具有大量、規則、可獨立的乘加運算。CPU 為低延遲的序列任務優化(少量強核、大快取、複雜分支預測);GPU 則為高吞吐量優化——數千個簡單核心做 SIMT 平行,並以張量核(Tensor Core)專做矩陣乘累加。架構哲學的差異,正好對上神經網路的需求。
計算強度與 Roofline:被記憶體還是算力卡住
一個運算核心的效能受兩件事約束:算力(FLOP/s)與記憶體頻寬(Byte/s)。關鍵指標是計算強度(arithmetic intensity)——每讀一位元組做幾次浮點運算:
$$ I=\frac{\text{FLOPs}}{\text{Bytes accessed}} $$
Roofline 模型指出可達效能為
$$ P=\min\big(P_{\text{peak}},\;I\times B\big) $$
$I$ 低時受記憶體頻寬限制(memory-bound),$I$ 高才能跑滿算力(compute-bound)。這解釋了許多 AI 系統優化的本質——如 FlashAttention 透過分塊與避免把巨大注意力矩陣寫回記憶體,把記憶體受限的注意力變得更接近算力受限,從而大幅加速。
晶片光譜:從通用到專用
| 晶片 | 定位 | 取捨 |
|---|---|---|
| GPU(NVIDIA/AMD) | 通用平行,生態成熟(CUDA) | 彈性高 |
| TPU(Google ASIC) | 為神經網路客製的脈動陣列 | 效率高、彈性低 |
| NPU | 端側低功耗推論 | 省電 |
| 雲廠自研(Trainium 等) | 降低供應商依賴 | 垂直整合 |
越專用,能效越高但彈性越低——這是硬體設計的根本權衡。
分散式訓練:把一個模型攤到上萬張卡
前沿模型動用數千至數萬張 GPU 連續運算數週,需多重平行策略:資料平行(不同卡跑不同批次、同步梯度)、張量平行(單層權重切到多卡)、管線平行(不同層分到不同卡)。瓶頸常在跨卡通訊(all-reduce),故高速互連(NVLink、InfiniBand)與通訊—計算重疊是關鍵工程。
為何算力與地緣政治綁在一起
高階 AI 晶片供不應求,且高度依賴先進製程與先進封裝(如 CoWoS)——這使 AI 算力與半導體供應鏈、出口管制深度交織(延伸見本平台〈優半導體〉專區與〈AI 治理與法規〉)。算力成本最終反映在「為何強模型要付費、為何有用量上限」。下一篇細談訓練與推論的成本結構。
深入探討(研究所視角)
Roofline 模型與算術強度的理論上界
要嚴謹理解「為什麼晶片這麼關鍵」,必須跳脫單純的 FLOPS 峰值,改以 Roofline 模型刻畫運算與記憶體之間的根本張力。定義算術強度(arithmetic intensity)$I = \frac{W}{Q}$,其中 $W$ 為總浮點運算量、$Q$ 為從記憶體搬移的位元組數。則可達到的效能上界為
$$P = \min\bigl(P_{\max},\; \beta \cdot I\bigr),$$
其中 $P_{\max}$ 是硬體峰值算力、$\beta$ 是記憶體頻寬。轉折點 $I^\* = P_{\max}/\beta$ 區分「記憶體受限」($I < I^\*$)與「運算受限」($I > I^\*$)兩個區域。現代加速器的 $I^\*$ 往往高達數百 FLOP/byte,這意味著像逐元素運算、LayerNorm、注意力中的 softmax 等低強度核心會被頻寬卡死,無法觸及峰值。這正是 FlashAttention 之所以關鍵的理論動機:它並未降低 $W$(仍為 $O(n^2 d)$),而是透過分塊(tiling)與線上 softmax 將 HBM 讀寫量 $Q$ 從 $O(n^2)$ 降到 $O(n^2 d / M)$($M$ 為 SRAM 容量),從而把記憶體受限的注意力核心推向運算受限區,提升實際 MFU(Model FLOPs Utilization)。
通訊複雜度、Scaling Law 與計算最適性
當模型超出單晶片容量,瓶頸從晶片內轉移到晶片間的集體通訊(collective communication)。在 $p$ 個裝置上做 All-Reduce,基於 ring 演算法的通訊量下界為 $2(p-1)/p \cdot S$($S$ 為梯度大小),與 $p$ 幾乎無關——這是資料平行可擴展性的數學基礎,也是 TPU Pod 採用高維 torus 拓撲、NVLink/NVSwitch 追求高對分頻寬(bisection bandwidth)的根本原因。張量平行與管線平行則用以攤銷 $S$ 與啟用記憶體,但會引入 $\Theta(1/m)$ 的管線氣泡。
理論上更深的連結來自 Chinchilla scaling law:在固定運算預算 $C \approx 6ND$($N$ 為參數量、$D$ 為訓練 token 數)下,最小化損失 $L(N, D) = E + \frac{A}{N^\alpha} + \frac{B}{D^\beta}$,以 Lagrange 乘子法可解得計算最適配置滿足 $N_{\mathrm{opt}} \propto C^{a}$、$D_{\mathrm{opt}} \propto C^{b}$(經驗上 $a \approx b \approx 0.5$)。這說明「算力」不只是工程約束,而是直接決定了模型容量與資料量的最適比例——晶片供給上限因此等價於可達成的不可約損失下界。
低精度、開放問題與跨主題連結
SOTA 的算力效率高度依賴數值精度的下探:從 FP16/BF16 到 FP8(E4M3/E5M2),乃至 NVFP4 與區塊縮放(block-wise scaling)。其理論挑戰在於量化誤差 $\epsilon$ 對隨機梯度下降收斂的影響——在非凸設定下,梯度雜訊的方差膨脹會使收斂界惡化為 $O(1/\sqrt{T}) + O(\epsilon)$,如何設計無偏的隨機捨入(stochastic rounding)使期望梯度保持無偏,是活躍的開放問題。其餘前沿包括:稀疏化與 MoE 的條件計算如何打破 $C = 6ND$ 的稠密假設、以記憶體頻寬為核心的 near-memory / in-memory computing 架構,以及通訊-計算重疊的最優排程(一個 NP-hard 的排程問題)。這些議題與最佳化理論、資訊理論的率失真界、乃至分散式系統的 CAP 權衡彼此交織,構成 AI 算力研究的完整圖景。