跳到主要内容

minicpmo2.6

MiniCPM-o 2.6

目前本说明文档仅支持 MiniCPM-omni 模型的图像处理功能,我们将尽快更新完整模式的支持说明。

准备模型和代码

从 Hugging Face 下载 MiniCPM-o-2_6 PyTorch 模型到 "MiniCPM-o-2_6" 文件夹中。

注意: 请确保有足够的存储空间来存放模型文件,该模型体积较大。

构建 llama.cpp

文档修改时间:2025年2月6日

如果在使用过程中遇到差异,请参考官方构建文档

克隆 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-o 2.6 使用方法

模型格式转换

将 PyTorch 模型转换为 GGUF 格式文件(您也可以直接下载我们已转换好的 GGUF格式文件

# 第一步:执行模型预处理
python ./tools/mtmd/minicpmv-surgery.py -m ../MiniCPM-o-2_6

# 第二步:转换图像编码器
python ./tools/mtmd/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

# 第四步:量化为 int4 版本(可选,用于减少内存占用)
./build/bin/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

说明:

  • 第四步的量化过程是可选的,量化后的模型会显著减少内存占用
  • Q4_K_M 是推荐的量化格式,在性能和质量之间取得良好平衡

在 Linux 或 Mac 上进行推理

单轮对话模式:

./build/bin/llama-mtmd-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 "What is in the image?"

交互式对话模式:

./build/bin/llama-mtmd-cli -m ../MiniCPM-o-2_6/model/ggml-model-Q4_K_M.gguf --mmproj ../MiniCPM-o-2_6/mmproj-model-f16.gguf

参数说明

  • -m:指定主模型文件路径
  • --mmproj:指定多模态投影器文件路径
  • -c 4096:设置上下文长度为 4096 个token
  • --temp 0.7:设置温度参数,控制输出的随机性
  • --top-p 0.8:设置核采样参数
  • --top-k 100:设置top-k采样参数
  • --repeat-penalty 1.05:设置重复惩罚系数
  • --image:指定要分析的图像文件路径
  • -p:指定输入提示文本

使用提示:

  • 请将 xx.jpg 替换为您实际的图像文件路径
  • 支持常见的图像格式,如 JPG、PNG 等
  • 交互式模式下,您可以持续与模型对话
  • 可以根据需要调整温度和采样参数来获得不同风格的回答