minicpmv2.6
MiniCPM-V 2.6
准备模型和代码
从 Hugging Face 下载 MiniCPM-V-2_6 PyTorch 模型到 "MiniCPM-V-2_6" 文件夹中。
构建 llama.cpp
文档修改时间:20250206
如果在使用过程中存在差异,请参考官方构建文档
克隆 llama.cpp 仓库:
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
使用 CMake 构建 llama.cpp:
cmake -B build
cmake --build build --config Release
MiniCPM-V 2.6 使用方法
将 PyTorch 模型转换为 gguf 文件(您也可以直接下载我们已转换好的 gguf 文件)
python ./tools/mtmd/minicpmv-surgery.py -m ../MiniCPM-V-2_6
python ./tools/mtmd/minicpmv-convert-image-encoder-to-gguf.py -m ../MiniCPM-V-2_6 --minicpmv-projector ../MiniCPM-V-2_6/minicpmv.projector --output-dir ../MiniCPM-V-2_6/ --image-mean 0.5 0.5 0.5 --image-std 0.5 0.5 0.5 --minicpmv_version 3
python ./convert_hf_to_gguf.py ../MiniCPM-V-2_6/model
# 量化为 int4 版本
./build/bin/llama-quantize ../MiniCPM-V-2_6/model/ggml-model-f16.gguf ../MiniCPM-V-2_6/model/ggml-model-Q4_K_M.gguf Q4_K_M
注意: 量化过程会将模型从16位浮点数(f16)压缩为4位整数(Q4_K_M),这可以显著减少模型大小,但可能会略微降低精度。
在 Linux 或 Mac 上进行推理
# 单轮对话模式运行
./build/bin/llama-mtmd-cli -m ../MiniCPM-V-2_6/model/ggml-model-f16.gguf --mmproj ../MiniCPM-V-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 "What is in the image?"
# 连续对话模式运行
./build/bin/llama-mtmd-cli -m ../MiniCPM-V-2_6/model/ggml-model-Q4_K_M.gguf --mmproj ../MiniCPM-V-2_6/mmproj-model-f16.gguf
参数说明:
-m:指定主模型文件路径--mmproj:指定多模态投影器文件路径-c 4096:设置上下文长度为4096个token--temp 0.7:设置温度参数,控制生成文本的随机性--top-p 0.8:设置核采样参数--top-k 100:设置候选词数量--repeat-penalty 1.05:设置重复惩罚系数--image:指定输入图像文件路径-p:设置提示词(prompt)
提示: 如果您的硬件资源有限,建议使用量化后的 Q4_K_M 模型以获得更好的性能表现。对于需要更高精度的应用场景,可以使用 f16 模型。