Blog 

側邊欄

RECENT ARTICLES

AI 模型訓練需要幾多 GPU 記憶體?

在 經過 Tan cheng / 0 評論

重點總結

分三個場景計算:推論取決於權重加 KV cache;微調取決於權重、梯度、優化器狀態同激活值;只有由零開始訓練先係叢集級需求。快速法則:全參數微調約「參數(B)× 16 至 20 GB」,LoRA 約「× 1.2」,4-bit QLoRA 約「× 0.7」。


關鍵比較


模型規模全參數微調(最低)LoRA(rank 16 至 64)4-bit QLoRA純推論(FP16)
7B112 至 16016 至 246 至 1015 至 18
13B 至 14B210 至 28028 至 4012 至 1827 至 32
32B 至 34B510 至 68060 至 8024 至 3465 至 75
70B 至 72B1,120 至 1,440130 至 17048 至 60140 至 155
235B MoE叢集級,須多節點需要 4 至 8 張 80GB 以上需要 2 至 4 張 80GB 以上需要 4 至 8 張 80GB 以上

(單位為 GB,假設權重以 FP16/BF16 儲存、優化器為 AdamW 且無 CPU offload。)


實務建議

  1. 訓練期間記憶體由五項佔用:權重(每個參數 2 bytes)、梯度(2 bytes)、優化器狀態(Adam 為 8 bytes)、激活值,以及 1 至 2 GB 框架開銷——合共每個參數約 16 至 20 bytes。

  2. 推論記憶體 = 權重 + KV cache + 框架開銷。7B 模型 FP16 下,單次請求 2,048 token 上下文嘅 KV cache 約 1.4 GB(僅權重嘅 10%),但 32 個並發請求、上下文拉到 32,768 token 時,可以暴漲幾十倍,成為主要瓶頸。

  3. 精度直接決定權重佔用:FP32 每個參數 4 bytes、FP16/BF16 為 2、FP8/INT8 為 1、FP4/INT4 為 0.5(7B 模型分別為 28GB、14GB、7GB 同 3.5GB)。

  4. 記憶體不足嘅六個解法:降低精度;LoRA/QLoRA(只訓練 0.1% 至 1% 參數,記憶體減 70% 至 90%);梯度檢查點(激活值記憶體減 50% 至 70%,訓練慢 20% 至 30%);將優化器 offload 到 CPU;分散式策略(DDP 唔省記憶體;ZeRO-3 最省但通訊量最高;TP 需要 NVLink 高頻寬;PP 跨節點通訊較少);以及縮細 batch size 同序列長度。

  5. 唔好淨係睇容量:H100 頻寬 3.35 TB/s、H200 為 4.8 TB/s、B200 為 8 TB/s——遠高於消費卡嘅 1.79 TB/s;多卡訓練時,NVLink(H100 為 900 GB/s)遠勝 PCIe 5.0(單向約 64 GB/s)。

Tip:實務提醒——規劃推論伺服器時,預留 20% 至 30% 記憶體餘量,否則缺口往往喺上線後嘅並發壓力測試先浮現。至於買卡定租雲端 GPU,使用率高於 60% 時三年 TCO 通常買卡較划算;使用率低就雲端更合適。

Tags
上一篇文章
下一篇文章

發表評論