合并Peft适配器至基础模型后体积翻倍,求问题原因
问题原因与解决方法
体积翻倍的原因:合并后的模型默认以FP32单精度格式保存,而原
databricks/dolly-v2-3b基础模型是FP16半精度存储(5.6GB对应3B参数的FP16大小:3B*2字节≈6GB,和你给出的5.6GB接近),FP32每个参数占4字节,因此体积直接翻倍到11GB左右,这和你的微调数据集大小无关。解决步骤:
- 保存合并后的模型时指定半精度格式,修改保存代码为:
merged_model.save_pretrained('path', torch_dtype=torch.float16) - 若要确保加载和合并全程保持半精度,可在加载基础模型时就明确指定精度:
这样合并后的模型会自然保持FP16精度,保存后体积就和原基础模型一致了。base_model = AutoModelForCausalLM.from_pretrained( pre_trained_model_checkpoint, trust_remote_code=True, device_map="auto", torch_dtype=torch.float16 )
- 保存合并后的模型时指定半精度格式,修改保存代码为:
内容的提问来源于stack exchange,提问作者Hanzo
相关产品推荐
相关产品推荐

