兩張 RTX 5090(每張擁有 32GB GDDR7 顯存與 Blackwell 架構)是目前消費級硬體的頂規配置。針對 7B 規模模型的 Pre-train(預訓練),這個配置非常理想,甚至可以說是非常奢侈。
在 2026 年的技術標準下,針對此硬體與 7B 模型,以下是最佳實踐指南:
1. 記憶體預算分析 (7B Model @ 2x 5090)
一個 7B 模型在預訓練(混合精度 BF16)時的顯存佔用大致如下:- 模型參數:

- 梯度 (Gradients):

- 優化器狀態 (Adam Optimizer):

(這是最大的負擔)
- 總計: 約 112 GB。
結論: 兩張 5090 共有 64GB 顯存,無法直接塞下所有狀態。因此,必須使用 DeepSpeed ZeRO-2 或 ZeRO-3,並配合 CPU Offload。
2. 核心技術組合建議
DeepSpeed: ZeRO-2 + Offload (首選)
由於 5090 的單卡顯存(32GB)大於模型參數+梯度的總和(約 28GB),建議使用 ZeRO-2。
- 優勢: 將 84GB 的優化器狀態切分並放一部分到系統記憶體(RAM)中。這比 ZeRO-3 快,因為模型參數不需要在每層運算時重新廣播。
- 硬體要求: 建議您的系統 RAM 至少配備 128GB。
Liger Kernel: 必開
針對 5090 的 Blackwell 架構,Liger Kernel 的 FusedLinearCrossEntropy 非常關鍵。
- 作用: 預訓練時詞表(Vocabulary)很大,這一層非常耗顯存。Liger Kernel 可以把這部分的顯存佔用降低 60% 以上,讓您能使用更大的 Micro Batch Size,從而提高訓練效率。
Flash Attention 3
5090 支援第五代 Tensor Cores,務必使用 Flash Attention 3。
- 作用: 針對 Blackwell 架構優化,能極大化利用這張卡的 FP8/BF16 計算能力,尤其在處理長文本序列時,速度優勢極其明顯。
3. 推薦的 DeepSpeed 配置文件 (JSON)
這是一個針對「2x RTX 5090 + 7B Model」量身打造的配置參考:
</>JSON
{
"train_micro_batch_size_per_gpu": 4,
"gradient_accumulation_steps": 8,
"bf16": {
"enabled": true
},
"zero_optimization": {
"stage": 2,
"offload_optimizer": {
"device": "cpu",
"pin_memory": true
},
"allgather_partitions": true,
"allgather_bucket_size": 5e8,
"overlap_comm": true,
"reduce_scatter": true,
"reduce_bucket_size": 5e8,
"contiguous_gradients": true
},
"gradient_clipping": 1.0,
"steps_per_print": 10
}
4. 實作代碼片段 (整合 Liger Kernel)
在訓練腳本開頭,加入以下代碼即可自動優化所有 Llama 或類似結構的層:
</>Python
from liger_kernel.transformers import apply_liger_kernel_to_llama
import transformers
# 在載入模型前調用,自動替換優化算子
apply_liger_kernel_to_llama()
# 正常載入模型
model = transformers.AutoModelForCausalLM.from_pretrained("your-base-config")
5. 特別提醒
- 散熱與電源: RTX 5090 的功耗(TDP)高達 575W,兩張卡加上 CPU,整機滿載會逼近 1500W-1600W。請務必確認電源供應器(PSU)至少有 1600W (80+ Platinum) 以上,且機殼通風良好。
- PCIe 頻寬: 5090 雖然沒有 NVLink,但支援 PCIe Gen 5。請確保主機板支援兩條 PCIe 5.0 x16(或至少 x8/x8),否則在 DeepSpeed 交換梯度時會遇到嚴重瓶頸。

















