权重显存怎么算
权重占用的估算公式很简单:参数量乘以每个参数占的字节数。难的是口径统一与边界判断:字节数取决于精度,参数量要按十亿级口径取值,张量并行后每张卡只放分片,另外还要算上通信缓冲。估出来的数字用于判断模型能不能装下,最终以实际加载后观测为准。
估算示例
估算示例
# 按十进制口径估算(先统一口径,避免与工具显示差近百分之七)
70 亿参数 FP16 ≈ 70e8 × 2 字节 ≈ 14 GB
70 亿参数 INT8 ≈ 7 GB
70 亿参数 4 位 ≈ 3.5 GB
# 张量并行 2 卡时,每卡权重约减半
# 最终以加载后的实测显存为准,预留通信与工作区开销精度与每参数字节
| 精度 | 每参数字节 | 说明 |
|---|---|---|
| 单精度浮点 | 4 | 训练常用,推理极少用 |
| 半精度浮点 | 2 | 推理常见默认精度 |
| 八位整数 | 约 1 | 量化后体积约减半 |
| 四位整数 | 约 0.5 | 常见量化的下限档位 |
| 更低档位 | 小于 0.5 | 质量下降明显,仅限特定场景 |
典型使用场景
- 选卡前评估:按参数量与目标精度判断模型能否装下单卡
- 确定并行度:单卡装不下时计算需要几张卡分摊权重
- 排查加载失败:反推理论权重体积,与实际占用对照
- 量化收益预估:比较不同精度下的理论体积差
- 方案输出:给业务方说明显存构成时作为其中一项输入
口径要先统一:十进制与二进制单位相差约百分之七,大模型上可能刚好吃掉安全余量,估完再核对实测值。
估算顺序有讲究:先用这条公式确认权重装得下,再用 KV 公式推并发上限,最后用实测曲线校准两者的余量。
权重体积只是下限:加载后还要加上 KV 池、工作区与框架开销,按理论值规划容量必然溢出。