ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

MiniCPM-V 2.0 技术解析:基于 SigLIP-400M 与 MiniCPM-2.4B 的端侧多模态大模型部署与评测指南

MiniCPM-V 2.0 技术解析:基于 SigLIP-400M 与 MiniCPM-2.4B 的端侧多模态大模型部署与评测指南 MiniCPM-V 2.0 技术解析基于 SigLIP-400M 与 MiniCPM-2.4B 的端侧多模态大模型部署与评测指南【免费下载链接】MiniCPM-VA Pocket-Sized MLLM for Ultra-Efficient Image and Video Understanding on Your Phone项目地址: https://gitcode.com/GitHub_Trending/mi/MiniCPM-V本文基于 MiniCPM-V 开源仓库中的存档文档docs/minicpm_v2.md2025-01-13 归档编写并结合仓库源码对调用方式、评测接入与底层实现作补充说明。文中涉及的 MiniCPM-V 2.0 权重与模型代码以 Hugging Face 模型库openbmb/MiniCPM-V-2的实际发布内容为准。导读MiniCPM-V 2.0 是 MiniCPM-V 系列面向高效端侧部署推出的第二代多模态大模型MLLM以 2.8B 的总参数量实现了高分辨率图像理解、可信行为对齐与中英双语能力可在约 8GB 显存的 GPU 以及 Android 手机上运行。本文将系统梳理该模型的架构组成、五大核心特性、完整评测数据、模型下载与资源需求并结合当前仓库中的 WebUI 演示脚本、命令行推理封装 与 VLMEvalKit 评测接入 给出可落地的使用与复现路径。一、模型定位与整体架构MiniCPM-V 2.0 是一个面向部署场景的高效视觉-语言模型整体采用视觉编码器 感知器重采样器 语言模型的三段式结构视觉编码器SigLIP-400M负责将输入图像编码为视觉特征语言模型MiniCPM-2.4B负责基于视觉特征与文本指令生成回答连接模块perceiver resampler感知器重采样器将高分辨率图像产生的视觉特征压缩为数量远少于传统 MLP 投影方案的 token显著降低送入语言模型的序列长度从而带来更低的内存占用与更快的推理速度。从源码结构看当前仓库的 omnilmm/model/resampler.py 提供了一个可参考的 2D perceiver-resampler 实现它使用grid_size**2个可学习 query配合 2D sincos 位置编码通过单层交叉注意力nn.MultiheadAttention将视觉特征序列聚合为固定数量的输出 token并在输出端叠加 LayerNorm 与线性投影ln_postproj。这一把图像表征压缩成少量 token的设计思路正是 MiniCPM-V 系列在端侧部署时保持低延迟的关键之一。说明MiniCPM-V 2.0 的完整模型代码AutoModel/AutoTokenizer配合trust_remote_codeTrue加载的远程代码随 Hugging Face 权重发布不在本仓库内本仓库主要提供其调用入口、WebUI 演示与评测脚本。二、五大核心特性1. 领先的基准性能State-of-the-Art PerformanceMiniCPM-V 2.0 在 OCRBench、TextVQA、MME、MMB、MathVista 等多个基准上取得了 7B 以下参数量模型中的领先成绩在 OpenCompass覆盖 11 个热门基准的综合评测上以 2.8B 的规模超越 Qwen-VL-Chat 9.6B、CogVLM-Chat 17.4B 与 Yi-VL 34B 等更大模型。其 OCR 能力尤为突出在场景文字理解上达到与 Gemini Pro 相当的水平在 OCRBench 上取得开源模型中的最优成绩。2. 可信行为Trustworthy BehaviorMiniCPM-V 2.0 是首个通过多模态 RLHF 对齐采用 RLHF-V 系列技术CVPR24的端侧多模态大模型旨在缓解 LMM 常见的幻觉问题即生成与图像内容不符的文本。在 Object HalBench 上其幻觉抑制能力可与 GPT-4V 匹敌。3. 任意宽高比的高分辨率图像支持High-Resolution Images at Any Aspect Ratio模型可接受最高 180 万像素如 1344×1344的任意宽高比图像显著提升对小物体、光学字符等细粒度视觉信息的感知能力该能力基于 LLaVA-UHD 技术实现。4. 高效率High Efficiency得益于 perceiver resampler 对视觉 token 的压缩MiniCPM-V 2.0 在多数 GPU 卡、个人电脑乃至手机等端侧设备上均可高效部署处理高分辨率图像时仍保持较低的显存成本与较快的推理速度。5. 中英双语支持Bilingual Support模型同时具备英语与中文的强双语多模态能力其跨语言多模态泛化技术源自 VisCPMICLR24。三、评测结果一览下图为 MiniCPM-V 2.0 与各对比模型的性能总览图片来源assets/minicpmv-2-peformance.png与本文评测小节主题直接相关以下表格完整列出了 MiniCPM-V 2.0 在 TextVQA、DocVQA、OCRBench、OpenCompass、MME、MMBench、MMMU、MathVista、LLaVA Bench、Object HalBench 共 10 个基准上的详细结果数据来源docs/minicpm_v2.mdModelSizeTextVQA valDocVQA testOCRBenchOpenCompassMMEMMB dev(en)MMB dev(zh)MMMU valMathVistaLLaVA BenchObject HalBenchProprietary modelsGemini Pro Vision-74.688.168063.82148.975.274.048.945.879.9-GPT-4V-78.088.464563.21771.575.175.053.847.893.186.4 / 92.7Open-source models 6B~34BYi-VL-6B6.7B45.5*17.1*29049.31915.168.668.340.328.851.9-Qwen-VL-Chat9.6B61.562.648852.11860.060.656.737.033.867.756.2 / 80.0Yi-VL-34B34B43.4*16.9*29052.62050.271.171.445.130.762.3-DeepSeek-VL-7B7.3B64.7*47.0*43555.61765.474.172.838.336.877.8-TextMonkey9.7B64.366.7558--------CogVLM-Chat17.4B70.433.3*59052.51736.663.753.837.334.773.973.6 / 87.4Open-source models 1B~3BDeepSeek-VL-1.3B1.7B58.4*37.9*41346.01531.664.061.233.829.451.1-MobileVLM V23.1B57.519.4*--1440.5(P)63.2-----Mini-Gemini2.2B56.234.2*--1653.059.8-31.7---MiniCPM-V2.8B60.638.236647.61650.267.965.338.328.951.378.4 / 88.5MiniCPM-V 2.02.8B74.171.960555.01808.669.668.138.238.769.285.5 / 92.2注表格中标*的数值为官方发布 checkpoint 由评测方自行评测所得We evaluate the officially released checkpoint by ourselvesObject HalBench 列的两个数值分别代表不同评测口径下的结果(P)表示基于论文数据。可以看到相较前代 MiniCPM-V2.8B2.0 版本在 TextVQA60.6 → 74.1、DocVQA38.2 → 71.9、OCRBench366 → 605等任务上提升尤为显著。四、模型动物园与资源需求ModelDeviceMemoryDescriptionDownloadMiniCPM-V 2.0GPU8 GB轻量版在性能与计算成本之间取得平衡openbmb/MiniCPM-V-2MiniCPM-V 1.0GPU7 GB最轻量版本推理速度最快openbmb/MiniCPM-VMiniCPM-V 2.0 的官方权重以openbmb/MiniCPM-V-2为模型 ID 发布Hugging Face 与 ModelScope 均提供下载入口仓库 docs/minicpm_v2.md 的 Model Zoo 小节给出了对应下载链接前代 MiniCPM-V 1.0 的模型 ID 为openbmb/MiniCPM-V。两者相比2.0 在显存需求仅增加约 1GB 的前提下大幅提升了 OCR 与文档理解能力。五、本地推理与 WebUI 部署实操1. 环境准备本仓库根目录的 requirements.txt 列出了相关依赖其中关键版本包括torch2.1.2、transformers4.40.0、timm0.9.10、accelerate0.30.1、gradio4.41.0等。由于 MiniCPM-V 2.0 通过trust_remote_codeTrue加载模型自带代码使用时可保持与该版本兼容的 Transformers 环境。2. 命令行/脚本调用仓库 chat.py 中的MiniCPMV类展示了最简洁的加载与推理方式from chat import MiniCPMV, img2base64 chat_model MiniCPMV(openbmb/MiniCPM-V-2) # 或本地权重目录 im_64 img2base64(./assets/worldmap_ck.jpg) msgs [{role: user, content: What is interesting about this image?}] answer, context, _ chat_model.chat( imageim_64, msgsmsgs, contextNone, tokenizerchat_model.tokenizer, samplingTrue, temperature0.7 ) print(answer)其底层实现为from transformers import AutoModel, AutoTokenizer model AutoModel.from_pretrained(model_path, trust_remote_codeTrue).to(dtypetorch.bfloat16) tokenizer AutoTokenizer.from_pretrained(model_path, trust_remote_codeTrue) model.eval().cuda()即通过 Transformers 的AutoModel加载openbmb/MiniCPM-V-2随后调用模型自带的chat(image..., msgs..., context..., tokenizer...)接口完成多轮对话context参数用于在多轮对话中传递历史上下文。3. 启动 Gradio WebUI仓库 web_demos/web_demo.py 提供了一个完整的 Gradio 演示界面支持两种解码策略Beam Search 与 Sampling及多组生成参数调节。启动命令依据硬件不同而有所区别脚本注释中已明确# 支持 BF16 的 Nvidia GPU如 A100、H100、RTX3090 python web_demo.py --device cuda --dtype bf16 # 不支持 BF16 的 Nvidia GPU如 V100、T4、RTX2080 python web_demo.py --device cuda --dtype fp16 # MacApple silicon 或 AMD GPU使用 MPS PYTORCH_ENABLE_MPS_FALLBACK1 python web_demo.py --device mps --dtype fp16脚本内部的默认生成参数可作为调参参考参数默认值说明num_beams3Beam Search 的束宽repetition_penalty1.2Beam/ 1.05Sampling重复惩罚系数max_new_tokens1024默认/ 896界面调用最大生成 token 数top_p0.8nucleus sampling 概率阈值top_k100top-k 采样候选数temperature0.7采样温度六、接入 VLMEvalKit 进行基准评测仓库eval_mm/vlmevalkit提供了基于 VLMEvalKit 的评测框架其中 eval_mm/vlmevalkit/vlmeval/vlm/minicpm_v.py 定义了MiniCPM_V评测类默认以openbmb/MiniCPM-V即 MiniCPM-V 1.0为模型路径也可替换为openbmb/MiniCPM-V-2对 2.0 进行评测class MiniCPM_V(BaseModel): def __init__(self, model_pathopenbmb/MiniCPM-V, **kwargs): self.model AutoModel.from_pretrained(self.model_path, trust_remote_codeTrue) self.model self.model.to(dtypetorch.bfloat16) self.model.eval().cuda() self.num_beams 3 ...该类的generate_inner按数据集类型MCQ / Y/N / 其他 VQA动态设置max_new_tokens20 / 100 / 1024并以num_beams3的贪心解码调用model.chat获取回答。评测入口可参考 eval_mm/vlmevalkit/run.py 与 eval_mm/vlmevalkit/scripts/run_inference.sh评测说明见 eval_mm/README.md。七、端侧部署Android 手机运行MiniCPM-V 2.0 可在 Android 操作系统的手机上直接部署。原文档 docs/minicpm_v2.md 给出了安装渠道通过mlc-MiniCPM项目安装官方 APK 即可在手机上运行文档中附带的演示动图为小米 14 Pro 上的原始屏幕录制未经过任何剪辑展示了模型在真实手机设备上的流畅表现。仓库中assets/gif_cases/目录存放了多组端侧演示素材如 assets/gif_cases/station.gif、assets/gif_cases/london_car.gif可用于直观了解模型的端侧问答效果。MiniCPM-V 2.0 之所以能在手机上运行核心在于 perceiver resampler 将图像表征压缩为远少于传统方案的 token 数相比 MLP 投影架构通常 512 的视觉 tokenMiniCPM-V 1.0 仅使用 64 个视觉 token2.0 在支持更高分辨率的同时继续沿用 token 压缩思路从而显著降低了解码阶段的计算量与内存峰值——这一点在 docs/minicpm_v1.md 对 1.0 的说明中已有明确表述。八、系列演进关系MiniCPM-V 2.0 处于 MiniCPM-V 系列承上启下的位置前代 1.0 确立了SigLIP perceiver resampler 2.4B 语言模型的轻量架构与中英双语能力64 视觉 token详见 docs/minicpm_v1.md2.0 在保持端侧可部署性的同时通过引入 LLaVA-UHD 的高分辨率切分、RLHF-V 的多模态对齐以及跨语言泛化技术实现了文档理解、场景 OCR 与幻觉抑制的显著跃升。后续的 MiniCPM-Llama3-V 2.5、MiniCPM-V 2.6 等版本则在此基础上继续演进可参见 docs/minicpm_llama3_v2dot5.md、docs/minicpm_v2dot6.md。结语MiniCPM-V 2.0 用 2.8B 参数量证明了小模型 高效架构 高质量对齐的路线可行性它在 OCR、文档理解等任务上的成绩达到甚至超过参数量大数倍的模型同时将推理门槛压缩到 8GB 显存与 Android 手机级别。无论是作为端侧 OCR 引擎、多模态助手还是作为后续 MiniCPM-V 系列模型的技术基线2.0 都是一份值得复现与二次开发的高性价比选择。开发者可基于本文的调用方式结合 WebUI 演示、命令行封装 与 VLMEvalKit 评测接入 快速上手。【免费下载链接】MiniCPM-VA Pocket-Sized MLLM for Ultra-Efficient Image and Video Understanding on Your Phone项目地址: https://gitcode.com/GitHub_Trending/mi/MiniCPM-V创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表