非量化模型(.safetensors)转换为 Ollama 支持的 GGUF 格式
教程 | 将 Qwen2.5-VL-3B-Instruct 的非量化模型(.safetensors)转换为 Ollama 支持的 GGUF 格式
近期阿里发布了多模态开源模型 Qwen2.5-VL-3B-Instruct,支持视觉和语言输入,并提供了 safetensors 格式的非量化权重文件。但如果我们想在 Ollama 中使用该模型,就必须将其转换为 GGUF 格式。
本文将手把手教你如何完成 Qwen2.5-VL-3B-Instruct 模型的转换和部署。
一、准备环境
确保你的系统满足以下条件:
-
操作系统:推荐 Linux 或 WSL 环境
-
Python:建议 Python 3.10+
-
依赖库:
pip install -U transformers accelerate sentencepiece einops
二、获取模型文件
从 HuggingFace 下载 Qwen2.5-VL-3B-Instruct 模型(非量化 safetensors 版本):
git lfs install
git clone https://huggingface.co/Qwen/Qwen2.5-VL-3B-Instruct
三、转换为 GGUF 格式
我们需要使用 llama.cpp 提供的 convert.py 脚本完成 GGUF 格式的转换。
1. 克隆 llama.cpp 并编译
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
make
2. 执行模型转换
python3 convert.py \
--outfile qwen2.5-vl-3b.gguf \
--outtype f16 \
--model-dir /路径/到/Qwen2.5-VL-3B-Instruct \
--model-type qwen2.5-vl
参数说明:
-
--outfile: 输出 GGUF 文件名 -
--outtype f16: 使用 float16 精度(可选q4,q5,q8等) -
--model-dir: 模型所在目录 -
--model-type: 需要设置为qwen2.5-vl
转换完成后,qwen2.5-vl-3b.gguf 就是 Ollama 可用的模型文件。
四、在 Ollama 中部署模型
创建一个名为 Modelfile 的配置文件:
FROM llama3
PARAMETER temperature 0.7
PARAMETER top_p 0.9
PARAMETER num_ctx 4096
PARAMETER stop "<|im_end|>"
# 自定义模型路径
MODEL qwen2.5-vl-3b.gguf
然后使用以下命令添加模型到 Ollama:
ollama create qwen2.5-vl-3b -f Modelfile
启动模型:
ollama run qwen2.5-vl-3b
五、注意事项
-
如果转换失败,请检查 llama.cpp 是否为最新版本。
-
对于多模态输入,Ollama 当前尚不完全支持图片输入,但 GGUF 转换仍有助于未来集成。
-
你也可以尝试
quantize.py实现量化版本,例如 Q4_0、Q5_K 等。
六、结语
通过本文的步骤,我们成功将 Qwen2.5-VL-3B-Instruct 从 .safetensors 转换为 GGUF 格式,并部署到 Ollama 中。随着开源社区的发展,多模态模型的使用将越来越普遍,而 GGUF 格式作为高效部署的桥梁,越来越显示出其重要性。
如果你在部署过程中遇到任何问题,欢迎评论交流或私信我,一起探索更多大模型实战技巧!
更多推荐




所有评论(0)