目录

端侧视觉语言模型实战:用 MiniCPM-V 4.6 给 App 装上看图能力

为什么要把看图能力塞进手机

相册问答、无障碍场景描述、离线扫描件转结构化信息、儿童教育里的看图说话……这些任务以前要发云端 API,现在可以整体搬到设备上。端侧视觉语言模型(VLM)的好处很直接:照片不出设备(隐私合规)、无网可用、单次推理成本为零、延迟稳定在几十到几百毫秒。

上一代做法是 CNN 分类 + 云端多模态兜底(比如本博客之前的懂鸟 App 方案:BirdNET 识别 + GPT-5.4 问答)。端侧 VLM 的定位不是取代 CNN,而是把原来必须上云的那部分开放域理解(这张图里有什么、帮我读一下这张发票、这个画面危险吗)在本地解决。

2026 年 8 月的端侧 VLM 选型

截至 2026-08-17 验证,端侧 VLM 的主力选手如下:

模型 参数量 体积 特点 适合场景
MiniCPM-V 4.6 1.3B Ollama 约 1.6GB,GGUF 约 2GB 2026-05 开源,SigLIP2-400M 视觉编码器 + Qwen3.5-0.8B 底座,256K 上下文 手机、平板、树莓派上的图像与视频理解
MiniCPM-o 4.5 9B 未量化较大 全双工全模态,流式视频与音频输入,能力接近 Gemini 2.5 Flash Mac(M3/M4,16GB 内存以上)或 12GB 显存 GPU 上的实时多模态对话
老一代小 VLM 0.25B 至 3B 视量化而定 SmolVLM2、Qwen2.5-VL 等 2025 年的模型 存量项目可继续用,新项目不建议再选

MiniCPM-V 4.6 是当前端侧 VLM 的标杆,以下均为官方数据:

  • Artificial Analysis Intelligence Index 得分 13,超过 Qwen3.5-0.8B(10 分)和 Ministral 3 3B(11 分)
  • 在 OpenCompass、RefCOCO、HallusionBench、MUIRBench、OCRBench 等多项基准上达到 Qwen3.5 2B 级别的能力
  • 视觉编码计算量比上一代降低 50% 以上,token 吞吐是 Qwen3.5-0.8B 的 2.4 倍

VLM 为什么以前跑不动手机

VLM = 视觉编码器 + 投影层 + LLM。一张图被切成几百上千个 patch,每个 patch 编码成一个视觉 token,LLM 要逐个处理。1280x1280 的图轻松产生上千 token,比一段话还贵,这就是端侧 VLM 的算力瓶颈。

MiniCPM-V 4.6 用 LLaVA-UHD v4 提出的 ViT 内提前压缩:在视觉编码器内部就做 4 倍/16 倍的混合 token 压缩,把视觉编码 FLOPs 砍掉一半以上,精度和速度可按任务切换。工程上这比先全量编码再压缩省得多,因为它直接减少了后续 LLM 要处理的 token 总数——这正是它 1.3B 参数却敢对标 2B 级能力的关键。

十分钟跑起来:Ollama 一条命令

2026-06-25 起 MiniCPM-V 4.6 已进 Ollama 官方模型库,一条命令拉取运行:

1
ollama run minicpm-v4.6

带图问答用 Python 客户端:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
import base64
from ollama import chat

def image_to_base64(path):
    with open(path, "rb") as f:
        return base64.b64encode(f.read()).decode("utf-8")

response = chat(
    model="minicpm-v4.6",
    messages=[{
        "role": "user",
        "content": "描述这张照片里发生了什么",
        "images": [image_to_base64("bird.jpg")],
    }],
)
print(response.message.content)

不走 Ollama 的话,官方发布了 GGUF 量化版(CPU 推理约 2GB 内存),llama.cpp 直接加载:

1
2
llama-cli -m MiniCPM-V-4.6-Q4_K_M.gguf \
  --image bird.jpg -p "描述这张照片"

手机端怎么集成

官方把端侧适配代码全部开源在 MiniCPM-V-Apps 仓库:iOS、安卓、鸿蒙三端各有一套可直接编译的工程,下载页还有现成 App 可以先体验再动手。集成注意点:

  1. 量化位宽优先选 Q4_K_M,内存敏感的机型再往更低位宽走
  2. 首帧视觉编码最耗时,输入图先压到最长边 1024 以内收益最大
  3. 图像描述类任务用 16 倍压缩档,精细 OCR 与目标定位用 4 倍档,按需切换

什么时候不用 VLM

固定类别的识别(鸟种、商品、人脸)用 YOLO 或分类 CNN 更快更省电;开放域理解才轮到 VLM。合理架构是分层:CNN 兜底高频固定任务,VLM 处理长尾开放场景,云端大模型只接真正复杂的多轮对话——三层各干各的,成本最低。

文中模型与性能数据均出自官方仓库与 Ollama 官方模型页,截至 2026-08-17 验证。