使用魔搭swift对Baichuan2-13B-Chat-4bits全量微调(full),保存模型的时候报错:
NotImplementedError: You are calling save_pretrained
on a 4-bit converted model. This is currently not supported
这个错误是因为你在尝试保存一个已经被转换为4位精度的模型。目前,魔搭Swift不支持保存这种类型的模型。
解决这个问题的方法是将模型恢复到原始的8位精度,然后进行保存。你可以参考以下步骤:
加载模型:首先,你需要加载你正在使用的模型。这通常通过调用model.from_pretrained(model_name)
来实现。
恢复模型精度:然后,你需要将模型的精度从4位恢复到8位。这可以通过调用model.convert_to_fp32()
来实现。
保存模型:最后,你可以调用model.save_pretrained(output_dir)
来保存模型。
根据报错信息来看,你正在尝试对一个经过4位量化(4-bit quantization)的模型进行保存,但是当前版本的魔搭(MMDetection)中并不支持对4位量化的模型进行保存。
4位量化是一种用于减小模型大小和加速推理的技术,但是在某些情况下,会限制一些操作,比如模型的保存和加载等。目前,一些深度学习框架可能还不支持对4位量化模型的完全保存和加载。
为了解决这个问题,你可以考虑以下几种方法:
检查是否有最新版本的魔搭(MMDetection)或者相关库已经支持对4位量化模型的保存和加载。有时候,新版本的框架会解决一些旧版本存在的问题。
如果最新版本的框架仍然不支持对4位量化模型的保存,你可以考虑将模型保存为未经量化的版本,或者使用其他技术来减小模型大小和加速推理,比如剪枝(pruning)等。