DeepSeek模型所需顯卡內(nèi)存的計算方法如下:
1、模型參數(shù)部分
模型參數(shù)部分顯存計算公式為:
FP16/BF16:每個參數(shù)占用2字節(jié)
INT8:每個參數(shù)占用1字節(jié)
INT4:每個參數(shù)占用0.5字節(jié)
2、激活參數(shù)部分
激活參數(shù)部分顯存計算公式為:
3、KV Cache部分
KV Cache部分顯存計算公式為:
\text{KV Cache顯存(GB)} = \frac{\text{并發(fā)數(shù)} \times (\text{輸入Token數(shù)} + \text{輸出Token數(shù)}) \times 2 \times \text{層數(shù)} \times \text{hidden_size} \times \text{Sizeof(精度系數(shù))}}{10^9}
4、總顯存
總顯存為以上三部分之和:
總顯存(GB)=模型參數(shù)顯存+激活參數(shù)顯存+KV Cache顯存
5、安全系數(shù)
為了預(yù)留緩存和系統(tǒng)開銷,建議乘以一個安全系數(shù)(1.2-1.5):
總顯存(GB)=總顯存×安全系數(shù)
6、優(yōu)化策略
量化技術(shù):使用INT8或INT4量化可顯著降低顯存需求。
異構(gòu)計算:通過將稀疏MoE矩陣卸載到CPU內(nèi)存,僅保留稠密部分在GPU顯存中。
算子優(yōu)化:使用Marlin算子加速量化計算,結(jié)合CUDA Graph減少顯存碎片,提升利用率。
7、實際計算示例
以DeepSeek-R1 671B模型為例,假設(shè)batch size=30,isl=2048,out=2048,num_layers=61,hidden_size=7168,激活參數(shù)量37B:
模型參數(shù)顯存:671B×2字節(jié) = 1342 GB
激活參數(shù)顯存:37B×2字節(jié) = 74 GB
KV Cache顯存:30×(2048 + 2048)×2×61×7168×2字節(jié)= 808.08 GB
總顯存:1342 + 74 + 808.08 = 2224.08 GB
考慮安全系數(shù)1.2,總顯存需求約為2668.9 GB。
8、量化后的顯存需求
INT8量化:671B模型顯存需求約為671 GB(參數(shù))+約5.3 GB(KV Cache) ≈ 676.3 GB。
INT4量化:671B模型顯存需求約為335.5 GB(參數(shù))+約5.3 GB(KV Cache) ≈ 340.8 GB。
通過以上步驟和公式,可以準(zhǔn)確計算DeepSeek模型在不同配置下的顯卡內(nèi)存需求。
Copyright ? 2013-2020. All Rights Reserved. 恒訊科技 深圳市恒訊科技有限公司 粵ICP備20052954號 IDC證:B1-20230800.移動站