大模型训练内存预估计算方法

方法论

  • 大模型在训练过程中, 需要预估需要多少显存进行参数的存储, 需要进行预估.来方便GPU的购买.

举例

  • 以DeepSeek-V3模型为例, 总共有 671B 个参数.

B = Billion(十亿), 因此,671B模型指拥有6710亿参数的模型。

基础计算(以训练为例)

  • 假设使用FP16(16位浮点数)存储参数:
    每个参数占用 2字节。

    • 671B参数总显存 ≈ 6710亿 × 2字节 ≈ 1,342 GB
  • 实际训练时需额外存储梯度、优化器状态和激活值:

    • 使用Adam优化器时,每个参数需存储:
      参数(2字节) + 梯度(2字节) + 动量(2字节) + 方差(2字节) = 8字节/参数

    • 总显存 ≈ 6710亿 × 8字节 ≈ 5,368 GB

说明:
在计算机存储中,1GB 可以存储102410241024= 1073741824字节。具体换算关系如下:
- 1GB=1024MB(兆字节)
- 1MB=1024KB(千字节)
- 1KB=1024B(字节)
不过,在实际应用中,硬盘等存储设备的制造商通常按照1GB=1000MB,1MB=1000KB,1KB=1000B的进制来计算容量,这就导致在操作系统中查看存储设备容量时,显示的容量会略小于按照1024进制计算的结果

训练时间

  • 2.788M H800 GPU 小时
    • 2.788M: 2.788*10^6=2788000
    • 含义: 相当于 1 块 H800 GPU 连续运行 2788000 小时,或者 2788000 块 H800 GPU 同时运行 1 小时,又或者是任意满足总 GPU 数量与运行小时数乘积为 2788000 的组合方式所提供的计算资源量

示例说明

  • 假设你有 100 块 H800 GPU 用于训练,那么完成完整训练所需的时间 可以通过下面的公式计算得出:
    t = 2788000 / 100 = 27880(小时)
  • 要是你只有 1 块 H800 GPU,那就需要 2788000 小时才能完成训练;要是你有 2788000 块 H800 GPU,理论上 1 小时就能完成训练。但在实际情况中,由于存在通信开销、并行计算效率等因素,实际训练时间可能会和理论计算有所出入。

你可能感兴趣的:(人工智能,深度学习,机器学习)