前置:
fp16占2字节,fp32占4字节。换算就是1B的参数量,以fp16表示,占2G的内存。
模型参数为32B
全量微调:
模型参数:fp16的模型前向传播副本。fp32的模型的优化参数副本。这就是322+324=192G
梯度:fp16的模型梯度。322=64G
优化器状态:fp32的一阶动量和二阶矩。324+32*4=256G
总计:512G
lora:
上面是全量微调的,如果用lora,r为8,则
冻结的模型参数(FP16):32*2=64 GB
LoRA 增量参数:fp16的参数:87.36 M×2 字节≈174.72 MB;fp32的参数(:87.36 M×4 字节≈349.44 MB
LoRA 参数的梯度(FP16):87.36 M×2 字节≈174.72 MB
lora参数的优化器状态:87.36 M×4 字节 + 87.36 M×4 字节 ≈ 698.88 MB
总占用:65.4G
冻结的模型参数(FP16):64 GB
LoRA 参数及其 FP32 副本:524.16 MB
梯度(LoRA 参数,FP16):174.72 MB
优化器状态(LoRA 参数,FP32 一阶和二阶动量):698.88 MB