真正工程級手算一次:
目標:
👉 用 NVIDIA GeForce RTX 4090(24GB VRAM)👉 看「能訓練多大模型」
一、先確定 4090 的條件
- VRAM:24GB
- 訓練通常用:FP16 / BF16
- Optimizer:AdamW(最常見)
二、訓練時顯存怎麼算?
訓練不是只存權重。
需要存:
- 權重(Weights)
- 梯度(Gradients)
- Optimizer states(Adam 需要 2 份動量)
- Activation(前向中間結果)
🔴 Adam 訓練記憶體公式(簡化版)
如果用 FP16 訓練:

總計:

這就是為什麼大家說:
Adam 訓練 ≈ 16 bytes / parameter
三、4090 理論極限
24GB = 24 × 10⁹ bytes ≈ 24e9
可容納參數量:

👉 理論上限:約 1.5B 模型
但這還沒算 activation。
四、Activation 佔多少?
Transformer activation 大約:

以:
- hidden = 2048
- seq = 2048
- batch = 1
大約會吃:
3~5GB
所以實際能給參數的空間:
24GB − 4GB ≈ 20GB

🎯 結論(全參數訓練)
4090 可穩定訓練:
✅ 約 1B – 1.3B 模型
五、為什麼很多人能訓練 7B?
因為用了技巧:
1️⃣ LoRA(只訓練少量參數)
例如 7B 模型:

LoRA 只訓練 0.1% 參數:

顯存需求極低
👉 所以 4090 可以訓練 7B LoRA
2️⃣ QLoRA(4bit 量化)
權重變成:

4090 可以輕鬆跑。
六、不同模型規模對照表

七、如果用更省記憶體的方式?
用 BF16 + 8bit Adam
Adam state 變成 2 bytes × 2
每參數:

那麼:

👉 極限可達 2B 模型
但 activation 還是瓶頸。
八、真正工程答案
如果你問:
我真的用 4090 能訓練多大?
穩定建議:
- 全參數:1B 左右
- LoRA:7B 很舒服
- QLoRA:13B 可行
- 想玩 70B → 需要多卡
九、如果套用到之前的「武俠模型」
如果做:
- 中文武俠專用模型
- 訓練資料 5GB
其實:
1B 模型已經夠強
不需要 7B。





















