type
status
date
slug
summary
tags
category
icon
password
预估显存需求的关键在于模型的参数量、精度(如FP16、INT8)以及计算模式(训练或推理)。推理所需显存的经验法则是:参数量(B) x 精度字节数(如FP16为2) ≈ 推理显存(GB)。训练所需显存则复杂得多,因为它不仅包含模型参数,还需要考虑梯度、优化器状态和激活值等动态变量,通常是推理显存的3-4倍以上。
推理显存估算
基本公式:
参数量(B) × 精度字节数(Bytes/参数)。例: 对于一个7𝐵参数的模型,使用𝐹𝑃16(每个参数占用2字节),则显存需求约为 7*2 = 14GB
• 常见精度与显存占用:
◦ FP32: 每个参数占用4字节。一个1B参数的模型需要约4GB显存。
◦ FP16: 每个参数占用2字节。一个7𝐵参数的模型需要约14GB显存。
◦ INT8: 每个参数占用1字节。一个7𝐵参数的模型需要约7GB显存。
• 其他因素: 模型推理还需要额外的显存来存储输入输出数据、计算图等,所以实际需求会略高于参数量估算,可按公式
1.2 × 模型显存 进行粗略估算。 训练显存估算
• 组成部分: 训练时,显存除了模型参数,还需要存储梯度(Gradients)、优化器状态(Optimizer states)和激活值(Activations)等。
• 估算公式: 训练显存需求通常是推理显存的3−4倍甚至更高。: 一个7B7 cap B7𝐵参数的模型,使用全精度(FP32)进行训练,可能需要约7*4*6=168GB,或者说至少是推理需求的3-4倍以上。
• 实际需求: 由于训练时存在许多动态变化的变量(如激活值),实际显存消耗会动态变化。可以通过观察两次训练批次(batch)的显存占用差值来估算这部分动态开销。
• 模型并行: 大规模模型训练无法仅凭单卡显存完成,需要借助模型并行技术(如TP, SP, PP, Zero等)将模型和计算任务分布到多张显卡上,以降低单卡的显存压力。 总结表格 计算类型 关键因素估算方法推理参数量、精度、激活
参数量(B) × 精度字节数(Bytes/参数)训练参数、梯度、优化器状态、激活推理显存的3-4倍以上显存优化技术