标签:
- minicpm-o
任务标签: 任意到任意
基础模型:
- openbmb/MiniCPM-o-2_6
MiniCPM-o 2.6
本仓库包含MiniCPM-o 2.6模型的GGUF格式权重文件,专为llama.cpp设计。
当前说明文档仅支持minicpm-omni的视觉能力,我们将尽快更新完整模式支持。
准备模型与代码
从huggingface下载MiniCPM-o-2_6 PyTorch模型至"MiniCPM-o-2_6"文件夹。
克隆llama.cpp仓库:
git clone git@github.com:OpenBMB/llama.cpp.git
cd llama.cpp
git checkout minicpm-omni
MiniCPM-o 2.6使用指南
将PyTorch模型转换为gguf文件(也可直接下载我们已转换的gguf)
python ./examples/llava/minicpmv-surgery.py -m ../MiniCPM-o-2_6
python ./examples/llava/minicpmv-convert-image-encoder-to-gguf.py -m ../MiniCPM-o-2_6 --minicpmv-projector ../MiniCPM-o-2_6/minicpmv.projector --output-dir ../MiniCPM-o-2_6/ --image-mean 0.5 0.5 0.5 --image-std 0.5 0.5 0.5 --minicpmv_version 4
python ./convert_hf_to_gguf.py ../MiniCPM-o-2_6/model
./llama-quantize ../MiniCPM-o-2_6/model/ggml-model-f16.gguf ../MiniCPM-o-2_6/model/ggml-model-Q4_K_M.gguf Q4_K_M
使用CMake
构建llama.cpp:
参考文档:https://github.com/ggerganov/llama.cpp/blob/master/docs/build.md
cmake -B build
cmake --build build --config Release
在Linux或Mac上运行推理
# 运行f16版本
./llama-minicpmv-cli -m ../MiniCPM-o-2_6/model/ggml-model-f16.gguf --mmproj ../MiniCPM-o-2_6/mmproj-model-f16.gguf -c 4096 --temp 0.7 --top-p 0.8 --top-k 100 --repeat-penalty 1.05 --image xx.jpg -p "图片中有什么内容?"
# 运行量化int4版本
./llama-minicpmv-cli -m ../MiniCPM-o-2_6/model/ggml-model-Q4_K_M.gguf --mmproj ../MiniCPM-o-2_6/mmproj-model-f16.gguf -c 4096 --temp 0.7 --top-p 0.8 --top-k 100 --repeat-penalty 1.05 --image xx.jpg -p "图片中有什么内容?"
# 或进入交互模式运行
./llama-minicpmv-cli -m ../MiniCPM-o-2_6/model/ggml-model-Q4_K_M.gguf --mmproj ../MiniCPM-o-2_6/mmproj-model-f16.gguf -c 4096 --temp 0.7 --top-p 0.8 --top-k 100 --repeat-penalty 1.05 --image xx.jpg -i