在使用开源大模型时,我们经常会遇到从HuggingFace或者modelscope中获取的权重文件不是gguf格式的情况。这时候,我们需要对权重文件进行转换。今天,我们就以Qwen-1.5 32B模型为例,来聊聊如何进行这个转换。
第一步:下载模型权重
首先,你需要进入Qwen-1.5 32B的modelscope网址下载模型文件。具体的下载方法这里就不展开了。第二步:克隆并编译llama.cpp仓库
接下来,你需要克隆并编译llama.cpp的github仓库。执行以下命令:git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp
make
编译完成后,llama.cpp目录会多出很多文件。
第三步:转换gguf格式
首先,使用以下命令安装所有依赖库:pip install -r requirements.txt
然后,使用如下指令生成gguf格式模型文件:
python convert-hf-to-gguf.py [Qwen-1.5 32B文件夹位置]
执行完成后,在[Qwen-1.5 32B文件夹位置]目录下会产生gguf格式的模型文件。需要注意的是,此时模型文件大小并没有发生变化,依然是65GB。
第四步:模型量化(可选)
如果你需要进行模型量化,可以选择使用Q4_0版本进行量化。执行以下命令:./quantize [Qwen-1.5 32B文件夹位置/ggml-model-f16.gguf] [Qwen-1.5 32B文件夹位置/ggml-model-Q4_0.gguf] Q4_0
可以看出,经过Q4_0量化后生成的模型文件小很多,只有18GB。
通过以上步骤,你就可以将开源大模型的权重文件从safetensors格式转换为gguf格式了。需要注意的是,这里提到的工具和命令可能需要根据实际情况进行调整。
我是陈景序,来自websoft网络软件专家(www.phpwebsoft.com)。如果你对Web开发技术感兴趣,欢迎关注我们的网站,了解更多相关内容。
