跳到主要内容

多模态视觉语言模型

MiniCPM-V 本地部署,5.03GB 就能跑起 8.7B 多模态

MiniCPM-V 4.5 的 Q4_K_M 量化权重只有 5.03GB,4.6 版整个模型才 1.3B。真正卡住你的从来不是显存,是 transformers 版本、漏下的 mmproj 文件和 torchcodec 的 CUDA 冲突。

MiniCPM-V 是 OpenBMB(面壁智能与清华 THUNLP)维护的开源视觉语言模型系列,仓库在 github.com/OpenBMB/MiniCPM-V,权重与代码统一按 Apache-2.0 开源,可以直接商用。它和大多数 VLM 最不一样的地方在于「小」:当代主力版本 MiniCPM-V 4.5 只有 8,695,895,280 个参数,bf16 权重 17.39GB,一张 24GB 卡就能装下全精度;而最新的 MiniCPM-V 4.6 干脆做到了 1,300,428,016 参数,bf16 权重 2.6GB,官方直接把它标成 On-Device Model,配了 iOS、Android、HarmonyOS 三端适配代码。

这个系列现在其实是两条线。MiniCPM-V 走纯视觉:4.5 用 Qwen3-8B 做语言底座、SigLIP2-400M 做视觉塔,配一个 3D-Resampler 把视频 token 压到 1/96,OpenCompass 八项均分 77.0、Video-MME 73.5,40960 的上下文里 query_num 是 64、max_slice_nums 是 9,也就是一张高分辨率图切片后大约吃掉 640 个视觉 token。4.6 换成了 Qwen3.5-0.8B 底座,上下文一口气拉到 262144,并且支持 4x/16x 混合视觉 token 压缩,用 downsample_mode 参数在「看得细」和「跑得快」之间切换。另一条线 MiniCPM-o 走全模态:o 4.5 是 9,371,787,666 参数,在 Qwen3-8B 之外挂了 Whisper-medium 音频编码器和一个 CosyVoice2 血统的 TTS 模块,能做全双工的实时视听说。

所以「MiniCPM-V 需要多大显存」这个问题没有单一答案,取决于你要哪一条线。想做端侧 OCR 和图片理解,4.6 的 Q4_K_M 只有 529MB,反倒是 mmproj 视觉塔有 1.11GB,比语言模型本体还大——这是很多人第一次部署时最意外的一件事。想要接近 GPT-4o 的图文推理质量,4.5 的 bf16 才是正解。想做能听会说的实时数字人,o 4.5 官方标 bf16 19.0GB、int4 11.0GB,全双工流式建议 28GB 以上。下面把每一档的真实数字和对应的卡都摊开讲。

01 —

MiniCPM-V 全系版本与真实显存

参数量取自 HuggingFace safetensors 索引,GGUF 体积取自官方量化仓库的实际文件大小。

版本参数量显存上下文说明
MiniCPM-V 4.61.3B(1,300,428,016)bf16 权重 2.60GB,实跑约 4GB;Q4_K_M 0.53GB + mmproj 1.11GB262K(max_position_embeddings 262144)端侧旗舰。Qwen3.5-0.8B + SigLIP2-400M,视觉塔原生 980px。已被 transformers 原生收编(model_type 为 minicpmv4_6),装 transformers[torch]>=5.7.0 后不需要 trust_remote_code。支持 4x/16x 混合视觉 token 压缩,视频 128 秒内按 1FPS 采样、超长则均匀抽帧。
MiniCPM-V 4.58.7B(8,695,895,280)bf16 权重 17.39GB;Q4_K_M 5.03GB + mmproj 1.10GB;Q8_0 8.71GB;F16 GGUF 16.38GB40K(max_position_embeddings 40960)通用主力。Qwen3-8B + SigLIP2-400M,3D-Resampler 做 96 倍视频压缩,OpenCompass 77.0、Video-MME 73.5。带混合思考开关 enable_thinking,默认关闭。仍是 custom_code 模型,加载必须 trust_remote_code=True,vLLM 需要 0.10.2 起。
MiniCPM-o 4.59.4B(9,371,787,666)bf16 19.0GB;int4 11.0GB;GGUF 全套约 8.85GB;全双工流式建议 ≥28GB40K(max_position_embeddings 40960)全模态版。Qwen3-8B + SigLip2(980px)+ Whisper-medium 音频编码器 + minicpmtts 语音合成,支持 180 万像素图片与 10FPS 视频,OpenCompass 均分 77.6,解码 154.3 tok/s(bf16)、212.3 tok/s(int4)。只做视觉时可以把 init_audio、init_tts 置 False 省下好几个 GB。
MiniCPM-V 4.04B 级Q4_K_M 2.19GB + mmproj 0.96GB;Q8_0 3.83GB上一代中量级,介于 4.6 的端侧定位和 4.5 的全能定位之间。如果你的显存刚好卡在 6~8GB 又嫌 4.6 能力不够,它仍然是一个合理的折中,但新项目建议直接上 4.6 或 4.5。
MiniCPM-V 2.6 / MiniCPM-Llama3-V 2.58B / 8.5Bbf16 权重约 16~17GB已归档的老代际。网上绝大多数中文教程还停留在这两版,chat 模板、图片切片参数和加载方式都和 4.x 不一样,照抄旧博客是新手部署失败的头号原因。搜到 MiniCPM-Llama3-V-2_5 的文章请直接忽略。

02 —

按场景选卡:MiniCPM-V 该租哪张 GPU

显存按权重加 KV 缓存加视觉切片余量估算,不虚标、不让你为跑不动的配置付钱。

  • MiniCPM-V 4.6 全量,或 4.5 的 Q4_K_M GGUF,做批量 OCR、图片打标、离线评测

    RTX 3090 24GB$0.193/卡·时

    4.5 的 Q4_K_M 加 mmproj 一共 6.13GB 权重,24GB 显存能开很大的批量和上下文,而这是我们全站单价最低的 24GB 卡。

  • MiniCPM-V 4.5 bf16 全精度单卡推理,不接受量化掉点

    RTX 5090 32GB$0.723/卡·时

    17.39GB 权重放 24GB 卡上开 40K 上下文会很紧张,32GB 才留得出 KV 缓存和 9 路图片切片的余量。

  • 复刻官方 Cookbook 的视频推理配置:vLLM 0.10.2 + max-model-len 8192

    RTX 4090 24GB ×2$0.540/卡·时(双卡 $1.080/时)

    官方 Cookbook 明确写了在 2×4090 上把 gpu_memory_utilization 设 0.8、上下文和 max-num-batched-tokens 都开到 8192 可以跑通,我们的节点单机最多挂 14 张卡,直接复刻这套组合。

  • MiniCPM-o 4.5 全双工实时视听说,或 vLLM 高并发对外发服务

    RTX A6000 48GB$0.817/卡·时

    官方对全双工流式的建议是 28GB 以上,19GB 权重之外还要装音频编码器、TTS 与并发 KV,48GB 才算真正宽裕;再往上做大规模并发可以换 A100 PCIE 80GB $0.824/卡·时。

03 —

四步把 MiniCPM-V 跑起来

从开机到发出第一个 OpenAI 兼容请求,一般十几分钟,主要时间花在拉权重上。

  1. 01

    开一台带 CUDA 的实例

    在 console.nexgpu.net 选卡,直接用 PyTorch 或 vLLM 预置镜像,省掉装驱动和 CUDA 的功夫。开机后 SSH、Jupyter、Web 终端都可以进,也可以走 REST API 和 CLI。计费从实例启动那一秒开始,停机即停止计算计费。

    ssh root@<your-node>.nexgpu.net -p <port>
  2. 02

    拉权重,注意别漏 mmproj

    走 GGUF 路线时,语言模型和视觉塔是两个独立文件。MiniCPM-V 4.6 尤其反直觉:Q4_K_M 语言模型只有 529MB,而 mmproj-model-f16.gguf 有 1.11GB。只下语言模型的话,模型会退化成纯文本,看不见图。

    hf download openbmb/MiniCPM-V-4_5-gguf MiniCPM-V-4_5-Q4_K_M.gguf mmproj-model-f16.gguf --local-dir ./mcpv45
  3. 03

    vLLM 起 OpenAI 兼容服务

    MiniCPM-V 4.5 是 custom_code 模型,必须带 --trust-remote-code,vLLM 版本不能低于 0.10.2,要处理视频还得装 vllm[video]。多图多视频输入记得用 --limit-mm-per-prompt 声明上限,否则请求会被直接拒掉。换成 4.6 时把模型名替换掉、去掉 --trust-remote-code 即可。

    vllm serve openbmb/MiniCPM-V-4_5 --trust-remote-code --dtype auto --max-model-len 8192 --gpu-memory-utilization 0.9 --limit-mm-per-prompt '{"image":5,"video":2}' --port 8000
  4. 04

    或者走 llama.cpp,把 GGUF 全丢进显存

    llama.cpp 从 b6282 起支持 MiniCPM-V 4.5。--mmproj 就是上一步那个视觉塔文件,-ngl 99 表示把所有层都卸载到 GPU。6.13GB 的权重在 24GB 卡上跑得非常轻松,剩下的显存全部留给上下文。

    llama-server -m ./mcpv45/MiniCPM-V-4_5-Q4_K_M.gguf --mmproj ./mcpv45/mmproj-model-f16.gguf -ngl 99 -c 8192 --port 8080

一次完整评测到底花多少钱

算一笔实账。用 RTX 5090 32GB($0.723/卡·时)跑 MiniCPM-V 4.5 bf16 全精度的图文抽取:拉 17.39GB 权重加装 vLLM 0.10.2 约 0.4 小时,正式跑批 6 小时,合计 6.4 小时,计算费 $0.723 × 6.4 = $4.63。挂一块 40GB 的卷存放权重和结果,留 3 天:$0.414 ÷ 30 × 3 × 40 = $1.66。把 2GB 结果导出去:$0.0081 × 2 = $0.02。总共 $6.31,跑完一次完整评测。换个思路,同样 6.4 小时如果只跑 Q4_K_M 量化版,RTX 3090 24GB 上是 $0.193 × 6.4 = $1.24,一杯咖啡都不到。按秒计费、没有最低消费、没有开通费、不用提工单申请配额,停机那一秒计算费就停了,只有存储会继续算到你销毁它为止。

04 —

常见问题

MiniCPM-V 4.5 本地部署到底需要多大显存?

bf16 全精度权重是 17.39GB(8,695,895,280 参数 × 2 字节),加上 40K 上下文的 KV 缓存和图片切片开销,24GB 卡能跑但会紧张,32GB 才舒服。走 Q4_K_M GGUF 的话,语言模型 5.03GB 加 mmproj 1.10GB 一共 6.13GB,8GB 卡就够,16GB 以上可以放心开并发。对应到 NexGPU:量化版选 RTX 3090 24GB $0.193/卡·时,全精度选 RTX 5090 32GB $0.723/卡·时,都是按秒计费,跑完停机就不再计算费。

MiniCPM-V 4.6 只有 1.3B,还有必要租 GPU 吗?

单个请求确实能在 CPU 甚至手机上跑,官方给了 iOS、Android、HarmonyOS 三端适配代码。但只要你要批量处理——几万张票据 OCR、给图库打标、跑一遍私有数据的视觉评测——CPU 的吞吐会立刻变成瓶颈,而且 1.11GB 的视觉塔本身也是算力大户。这种场景租一张 RTX 3090 24GB($0.193/卡·时)几个小时就能干完,成本比你等 CPU 跑三天低得多。

MiniCPM-V 和 MiniCPM-o 有什么区别?我该选哪个?

MiniCPM-V 只负责「看」——图片、多图、视频、OCR;MiniCPM-o 在同一个 Qwen3-8B 底座上加了 Whisper-medium 音频编码器和 TTS 模块,能听能说,还支持全双工实时对话。代价是显存:o 4.5 官方标 bf16 19.0GB、int4 11.0GB,全双工流式建议 28GB 以上。如果只做视觉,选 V,还能在加载时把 init_audio、init_tts 置 False。要做实时数字人就上 o,在 NexGPU 用 RTX A6000 48GB $0.817/卡·时,音频、TTS 和并发 KV 都装得下。

为什么我照着教程跑,模型加载就报错?

四个高频坑。一,MiniCPM-V 4.5 和 MiniCPM-o 4.5 是 custom_code 模型,必须 trust_remote_code=True 或 --trust-remote-code;而 4.6 已经被 transformers 原生收编,反而要求 transformers[torch]>=5.7.0,用 4.x 的 transformers 会直接不认识 minicpmv4_6 这个 model_type。二,GGUF 路线漏下 mmproj 文件,模型看不见图。三,torchcodec 和某些 CUDA 版本冲突,换成 PyAV 或者锁定 CUDA 版本。四,attn_implementation 别用 eager,用 sdpa 或 flash_attention_2。NexGPU 有 2,000+ 预置镜像,PyTorch、vLLM 环境都是配好的,能省掉大半环境问题。

40960 的上下文跑长视频够用吗?

比你想的够用,因为 MiniCPM-V 4.5 的 3D-Resampler 会把视频 token 压到 1/96。实操上有几个官方参数要调:跑视频时把 max_slice_nums 设成 1(默认 9 是给高分辨率单图切片用的),推荐 3~5 FPS 抽帧,MAX_NUM_FRAMES 设 180、MAX_NUM_PACKING 设 3。真要开大上下文和多路视频并发,官方 Cookbook 自己测的是 2×4090、gpu_memory_utilization 0.8、8192 上下文,我们这边 RTX 4090 24GB 是 $0.540/卡·时,双卡 $1.080/时就能原样复刻,单机最多可以挂到 14 张卡。

MiniCPM-V 可以商用吗?私有化部署数据安全吗?

可以。MiniCPM-V 4.5、4.6 和 MiniCPM-o 4.5 的权重与代码都是 Apache-2.0,商用无需额外授权,官方只是建议填一份可选的登记问卷,同时声明不对生成内容承担责任。数据这一侧,私有化部署的意义就是图片和视频不出你自己的环境——在 NexGPU 上你拿到的是独占实例,1,175 个已验证节点分布在 51 个国家和地区,可以按数据合规要求挑地域;不需要提工单申请配额,Telegram 上有中英文双语支持,随时问随时答。

开始使用 NexGPU

无论你是企业研发团队还是独立开发者,都可以在几分钟内跑起第一个任务。

注册即可浏览全网实时价格,无需绑定支付方式。