在LoRA微调实践中,模型保存格式的选择直接影响训练效率和部署性能。本文将深入探讨几种主流格式的优劣,并提供具体的实现方案。
格式对比
1. PyTorch原生格式 (.pt/.pth) 这是最直接的方式,保存整个模型状态字典。适用于快速验证,但文件较大,加载时间长。
# 保存
torch.save(model.state_dict(), 'lora_model.pt')
# 加载
model.load_state_dict(torch.load('lora_model.pt'))
2. HuggingFace格式 推荐使用,兼容性好,支持模型分享和部署。
# 保存
model.save_pretrained('./lora_output')
# 加载
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained('./lora_output')
3. Adapter格式 针对Adapter微调优化,文件更小,加载更快。
# 保存Adapter权重
adapter_weights = {}
for name, module in model.named_modules():
if hasattr(module, 'adapter_weight'):
adapter_weights[name] = module.adapter_weight
np.savez('adapter_weights.npz', **adapter_weights)
实践建议
对于LoRA微调,建议采用HuggingFace格式保存,既保证兼容性又便于后续部署。同时可结合模型合并脚本进行最终模型生成。
复现步骤
- 训练完成后使用save_pretrained()保存模型
- 验证加载是否正确
- 测试推理性能

讨论