3B模型大概占多少存储
3B模型下大概占多少存储
-
模型参数总量:3 × 10⁹ 个参数
-
单位换算:
- 1 KB = 10³ 字节
- 1 MB = 10⁶ 字节
- 1 GB = 10⁹ 字节
下面将分别针对 FP32、FP16、INT8、INT4 四种精度,展示每个参数占用的字节数、计算公式,以及最终得到的磁盘占用。
1. FP32(单精度浮点)
- 每参数字节数:4 字节
- 参数总数:3 × 10⁹
计算步骤
-
先计算所有参数占用的总字节数:
3 × 10⁹(参数) × 4(字节/参数) = 12 × 10⁹ 字节
-
将字节数转换为 GB:
12 × 10⁹ 字节 ÷ (10⁹ 字节/GB) = 12 GB
结论:FP32 权重文件约 12 GB。
2. FP16(半精度浮点)
- 每参数字节数:2 字节
- 参数总数:3 × 10⁹
计算步骤
-
计算总字节数:
3 × 10⁹(参数) × 2(字节/参数) = 6 × 10⁹ 字节
-
转换为 GB:
6 × 10⁹ 字节 ÷ (10⁹ 字节/GB) = 6 GB
结论:FP16 权重文件约 6 GB。
3. INT8(8 位整数量化)
- 每参数字节数:1 字节
- 参数总数:3 × 10⁹
计算步骤
-
计算总字节数:
3 × 10⁹(参数) × 1(字节/参数) = 3 × 10⁹ 字节
-
转换为 GB:
3 × 10⁹ 字节 ÷ (10⁹ 字节/GB) = 3 GB
结论:INT8 权重文件约 3 GB。
4. INT4(4 位整数量化)
-
每参数字节数:0.5 字节
- 4 位 = ½ 个字节
-
参数总数:3 × 10⁹
计算步骤
-
计算总字节数:
3 × 10⁹(参数) × 0.5(字节/参数) = 1.5 × 10⁹ 字节
-
转换为 GB:
1.5 × 10⁹ 字节 ÷ (10⁹ 字节/GB) = 1.5 GB
结论:INT4 权重文件约 1.5 GB。
汇总表格
精度类型 | 每参数占用 | 计算公式 | 总字节数 | 转换后大小 | 说明 |
---|---|---|---|---|---|
FP32 | 4 字节 | 3 × 10⁹ × 4 = 12 × 10⁹ 字节 | 12 × 10⁹ 字节 | 12 GB | 单精度浮点,训练常用 |
FP16 | 2 字节 | 3 × 10⁹ × 2 = 6 × 10⁹ 字节 | 6 × 10⁹ 字节 | 6 GB | 半精度浮点,推理常用 |
INT8 | 1 字节 | 3 × 10⁹ × 1 = 3 × 10⁹ 字节 | 3 × 10⁹ 字节 | 3 GB | 8 位量化,适合边缘设备 |
INT4 | 0.5 字节 | 3 × 10⁹ × 0.5 = 1.5 × 10⁹ 字节 | 1.5 × 10⁹ 字节 | 1.5 GB | 4 位量化,存储最小,但可能精度损失更大 |
说明:上表仅计算了模型权重文件的大小,不包含配置文件(
config.json
)、分词器文件(tokenizer.json
、vocab.txt
等)和可能存在的拆分索引文件。实际下载的文件夹会略大(通常额外增加几百 MB)。
总结
- FP32(4 字节/参数):约 12 GB,适合训练阶段使用。
- FP16(2 字节/参数):约 6 GB,兼顾精度与推理效率。
- INT8(1 字节/参数):约 3 GB,适合资源受限的部署场景。
- INT4(0.5 字节/参数):约 1.5 GB,存储需求最小,但相对更容易影响模型性能。
以 LLaMA 3.2 3B 模型为例,其在不同精度下的显存需求如下
精度类型 | 显存需求(约) |
---|---|
FP16 | 6.5 GB |
FP8 | 3.2 GB |
INT4 | 1.75 GB |