Minicpm V 2
MiniCPM-V 2.0是面向高效终端部署的强大多模态大语言模型,基于SigLip-400M和MiniCPM-2.4B构建,通过感知器重采样器连接。
下载量 9,097
发布时间 : 4/9/2024
模型简介
MiniCPM-V 2.0是一个高效的多模态大语言模型,支持图像和文本理解,特别擅长场景文本识别(OCR),在多项基准测试中表现优异。
模型特点
顶尖性能表现
在7B参数量以下模型中,多项基准测试达到最先进水平,OCR能力尤为突出,场景文本理解媲美Gemini Pro
可信回答生成
首个通过多模态RLHF对齐的终端侧模型,防幻觉能力比肩GPT-4V
任意比例高清图像处理
支持1344x1344分辨率的任意比例图像输入,实现对细小物体和光学字符的精准感知
高效部署能力
可在主流GPU和个人电脑高效运行,甚至能部署于手机等移动终端
中英双语支持
实现中英文多模态能力均衡发展
模型能力
图像内容理解
场景文本识别
多模态对话
高分辨率图像处理
中英文视觉问答
文档理解
数学视觉推理
使用案例
教育
数学题目解答
识别并解答数学题目中的视觉内容
在MathVista基准测试中表现优异
商业
文档理解
自动理解和提取文档中的关键信息
在DocVQA基准测试中表现优异
移动应用
移动端视觉问答
在手机等移动设备上实现实时视觉问答
已在小米14 Pro等设备上成功部署
🚀 MiniCPM-V
MiniCPM-V 是一款强大的多模态大语言模型,专为高效的端侧部署而设计。它在多个基准测试中表现出色,具备处理高分辨率图像、防止幻觉、双语支持等特性,还能在多种设备上高效运行。
🚀 快速开始
项目动态
- [2025.01.14] 🔥 我们开源了 MiniCPM-o 2.6,相较于 MiniCPM-V 2.6 有显著的性能提升,并且支持实时语音对话和多模态直播。立即试用。
- [2024.08.06] 🔥 我们开源了 MiniCPM-V 2.6,在单图像、多图像和视频理解方面优于 GPT-4V。它改进了 MiniCPM-Llama3-V 2.5 的流行特性,并且可以在 iPad 上支持实时视频理解。
- [2024.05.20] 🔥 GPT-4V 级别的多模态模型 MiniCPM-Llama3-V 2.5 发布。
- [2024.04.23] MiniCPM-V 2.0 现在支持 vLLM!
- [2024.04.18] 我们创建了一个 HuggingFace Space 来托管 MiniCPM-V 2.0 的演示,点击 此处 查看。
- [2024.04.17] MiniCPM-V 2.0 现在支持部署 WebUI 演示!
- [2024.04.15] MiniCPM-V 2.0 支持使用 SWIFT 框架进行 微调!
- [2024.04.12] 我们开源了 MiniCPM-V-2.0,它在场景文本理解方面达到了与 Gemini Pro 相当的性能,并且在 OpenCompass(对 11 个流行基准的综合评估)上优于强大的 Qwen-VL-Chat 9.6B 和 Yi-VL 34B。点击 此处 查看 MiniCPM-V 2.0 技术博客。
模型信息
属性 | 详情 |
---|---|
任务类型 | 视觉问答 |
支持语言 | 英文、中文 |
训练数据 | HaoyeZhang/RLHF-V-Dataset、Yirany/UniMM-Chat、HuggingFaceM4/VQAv2、liuhaotian/LLaVA-Instruct-150K |
✨ 主要特性
MiniCPM-V 2.8B 是一个强大的多模态大语言模型,专为高效的端侧部署而设计。该模型基于 SigLip-400M 和 MiniCPM-2.4B 构建,并通过感知器重采样器连接。我们的最新版本 MiniCPM-V 2.0 具有以下显著特性:
- 🔥 卓越性能:MiniCPM-V 2.0 在多个基准测试(包括 OCRBench、TextVQA、MME、MMB、MathVista 等)中,在参数少于 7B 的模型中达到了 最先进的性能。它甚至在 OpenCompass(对 11 个流行基准的综合评估)上 优于强大的 Qwen-VL-Chat 9.6B、CogVLM-Chat 17.4B 和 Yi-VL 34B。值得注意的是,MiniCPM-V 2.0 展现出 强大的 OCR 能力,在场景文本理解方面达到了与 Gemini Pro 相当的性能,并在 OCRBench 上的开源模型中达到了 最先进的性能。
- 🏆 可靠行为:大型多模态语言模型(LMMs)通常存在幻觉问题,即生成的文本与图像事实不符。MiniCPM-V 2.0 是 第一个通过多模态基于人类反馈的强化学习(RLHF)进行对齐以实现可靠行为的端侧 LMM(使用了最近的 RLHF-V [CVPR'24] 系列技术)。这使得该模型在 Object HalBench 上 在防止幻觉方面与 GPT-4V 相匹配。
- 🌟 支持任意宽高比的高分辨率图像:MiniCPM-V 2.0 可以接受 180 万像素(例如 1344x1344)的任意宽高比图像。这使得它能够更好地感知细粒度的视觉信息,如小物体和光学字符,这是通过最近来自 LLaVA-UHD 的技术实现的。
- ⚡️ 高效性:MiniCPM-V 2.0 可以 高效地部署在大多数 GPU 卡和个人计算机上,甚至可以部署在手机等端设备上。对于视觉编码,我们通过感知器重采样器将图像表示压缩为更少的标记。这使得 MiniCPM-V 2.0 在推理过程中即使处理高分辨率图像也能 具有良好的内存成本和速度。
- 🙌 双语支持:MiniCPM-V 2.0 支持强大的中英文双语多模态能力。这是通过跨语言泛化多模态能力实现的,该技术来自 VisCPM [ICLR'24]。
📊 评估结果


💻 使用示例
基础用法
# test.py
import torch
from PIL import Image
from transformers import AutoModel, AutoTokenizer
model = AutoModel.from_pretrained('openbmb/MiniCPM-V-2', trust_remote_code=True, torch_dtype=torch.bfloat16)
# For Nvidia GPUs support BF16 (like A100, H100, RTX3090)
model = model.to(device='cuda', dtype=torch.bfloat16)
# For Nvidia GPUs do NOT support BF16 (like V100, T4, RTX2080)
#model = model.to(device='cuda', dtype=torch.float16)
# For Mac with MPS (Apple silicon or AMD GPUs).
# Run with `PYTORCH_ENABLE_MPS_FALLBACK=1 python test.py`
#model = model.to(device='mps', dtype=torch.float16)
tokenizer = AutoTokenizer.from_pretrained('openbmb/MiniCPM-V-2', trust_remote_code=True)
model.eval()
image = Image.open('xx.jpg').convert('RGB')
question = 'What is in the image?'
msgs = [{'role': 'user', 'content': question}]
res, context, _ = model.chat(
image=image,
msgs=msgs,
context=None,
tokenizer=tokenizer,
sampling=True,
temperature=0.7
)
print(res)
高级用法
在不同设备上运行模型时,根据设备的特性选择合适的参数,以获得最佳性能。例如,对于支持 BF16 的 Nvidia GPU,可以使用 torch.bfloat16
数据类型;对于不支持 BF16 的 Nvidia GPU,可以使用 torch.float16
数据类型;对于配备 MPS 的 Mac 设备,可以使用 PYTORCH_ENABLE_MPS_FALLBACK=1
环境变量来运行。
# 根据不同设备选择合适的参数
# For Nvidia GPUs support BF16 (like A100, H100, RTX3090)
model = model.to(device='cuda', dtype=torch.bfloat16)
# For Nvidia GPUs do NOT support BF16 (like V100, T4, RTX2080)
#model = model.to(device='cuda', dtype=torch.float16)
# For Mac with MPS (Apple silicon or AMD GPUs).
# Run with `PYTORCH_ENABLE_MPS_FALLBACK=1 python test.py`
#model = model.to(device='mps', dtype=torch.float16)
请查看 GitHub 以获取更多使用细节。
📦 安装指南
环境依赖
在使用 Huggingface transformers 在 Nvidia GPU 或配备 MPS 的 Mac(Apple silicon 或 AMD GPU)上进行推理时,需要安装以下依赖库。这些依赖库在 Python 3.10 环境下进行了测试:
Pillow==10.1.0
timm==0.9.10
torch==2.1.2
torchvision==0.16.2
transformers==4.36.0
sentencepiece==0.1.99
使用 vLLM 进行推理
点击查看如何使用 vLLM 进行推理
由于我们对 vLLM 的拉取请求仍在审核中,我们分叉了这个仓库来构建和测试我们的 vLLM 演示。以下是具体步骤: 1. 克隆我们的 vLLM 版本: ```shell git clone https://github.com/OpenBMB/vllm.git ``` 2. 安装 vLLM: ```shell cd vllm pip install -e . ``` 3. 安装 timm: ```shell pip install timm=0.9.10 ``` 4. 运行我们的演示: ```shell python examples/minicpmv_example.py ```📚 详细文档
演示
点击 此处 试用 MiniCPM-V 2.0 的演示。
手机部署
MiniCPM-V 2.0 可以部署在运行 Android 和 Harmony 操作系统的手机上。🚀 点击 此处 进行尝试。
MiniCPM-V 1.0
请查看 此处 了解 MiniCPM-V 1.0 的信息。
其他多模态项目
📄 许可证
模型许可证
- 本仓库中的代码遵循 Apache-2.0 许可证发布。
- MiniCPM-V 系列模型权重的使用必须严格遵循 MiniCPM 模型许可证。
- MiniCPM 的模型和权重完全免费用于学术研究。填写 "问卷" 进行注册后,也可免费用于商业用途。
声明
- 作为一个大语言模型,MiniCPM-V 2.0 通过学习大量文本生成内容,但它无法理解、表达个人观点或进行价值判断。MiniCPM-V 2.0 生成的任何内容均不代表模型开发者的观点和立场。
- 我们不对使用 MinCPM-V 开源模型所产生的任何问题负责,包括但不限于数据安全问题、舆论风险,或因模型的误导、误用、传播或滥用而产生的任何风险和问题。
📖 引用
如果您觉得我们的工作有帮助,请考虑引用以下论文:
@article{yu2023rlhf,
title={Rlhf-v: Towards trustworthy mllms via behavior alignment from fine-grained correctional human feedback},
author={Yu, Tianyu and Yao, Yuan and Zhang, Haoye and He, Taiwen and Han, Yifeng and Cui, Ganqu and Hu, Jinyi and Liu, Zhiyuan and Zheng, Hai-Tao and Sun, Maosong and others},
journal={arXiv preprint arXiv:2312.00849},
year={2023}
}
@article{viscpm,
title={Large Multilingual Models Pivot Zero-Shot Multimodal Learning across Languages},
author={Jinyi Hu and Yuan Yao and Chongyi Wang and Shan Wang and Yinxu Pan and Qianyu Chen and Tianyu Yu and Hanghao Wu and Yue Zhao and Haoye Zhang and Xu Han and Yankai Lin and Jiao Xue and Dahai Li and Zhiyuan Liu and Maosong Sun},
journal={arXiv preprint arXiv:2308.12038},
year={2023}
}
@article{xu2024llava-uhd,
title={{LLaVA-UHD}: an LMM Perceiving Any Aspect Ratio and High-Resolution Images},
author={Xu, Ruyi and Yao, Yuan and Guo, Zonghao and Cui, Junbo and Ni, Zanlin and Ge, Chunjiang and Chua, Tat-Seng and Liu, Zhiyuan and Huang, Gao},
journal={arXiv preprint arXiv:2403.11703},
year={2024}
}
@article{yao2024minicpmvgpt4vlevelmllm,
title={MiniCPM-V: A GPT-4V Level MLLM on Your Phone},
author={Yao, Yuan and Yu, Tianyu and Zhang, Ao and Wang, Chongyi and Cui, Junbo and Zhu, Hongji and Cai, Tianchi and Li, Haoyu and Zhao, Weilin and He, Zhihui and Chen, Qianyu and Zhou, Huarong and Zou, Zhensheng and Zhang, Haoye and Hu, Shengding and Zheng, Zhi and Zhou, Jie and Cai, Jie and Han, Xu and Zeng, Guoyang and Li, Dahai and Liu, Zhiyuan and Sun, Maosong},
journal={arXiv preprint arXiv:2408.01800},
year={2024},
url={https://arxiv.org/abs/2408.01800},
}
Clip Vit Large Patch14 336
基于Vision Transformer架构的大规模视觉语言预训练模型,支持图像与文本的跨模态理解
文本生成图像
Transformers

C
openai
5.9M
241
Fashion Clip
MIT
FashionCLIP是基于CLIP开发的视觉语言模型,专门针对时尚领域进行微调,能够生成通用产品表征。
文本生成图像
Transformers 英语

F
patrickjohncyh
3.8M
222
Gemma 3 1b It
Gemma 3是Google推出的轻量级先进开放模型系列,基于与Gemini模型相同的研究和技术构建。该模型是多模态模型,能够处理文本和图像输入并生成文本输出。
文本生成图像
Transformers

G
google
2.1M
347
Blip Vqa Base
Bsd-3-clause
BLIP是一个统一的视觉语言预训练框架,擅长视觉问答任务,通过语言-图像联合训练实现多模态理解与生成能力
文本生成图像
Transformers

B
Salesforce
1.9M
154
CLIP ViT H 14 Laion2b S32b B79k
MIT
基于OpenCLIP框架在LAION-2B英文数据集上训练的视觉-语言模型,支持零样本图像分类和跨模态检索任务
文本生成图像
Safetensors
C
laion
1.8M
368
CLIP ViT B 32 Laion2b S34b B79k
MIT
基于OpenCLIP框架在LAION-2B英语子集上训练的视觉-语言模型,支持零样本图像分类和跨模态检索
文本生成图像
Safetensors
C
laion
1.1M
112
Pickscore V1
PickScore v1 是一个针对文本生成图像的评分函数,可用于预测人类偏好、评估模型性能和图像排序等任务。
文本生成图像
Transformers

P
yuvalkirstain
1.1M
44
Owlv2 Base Patch16 Ensemble
Apache-2.0
OWLv2是一种零样本文本条件目标检测模型,可通过文本查询在图像中定位对象。
文本生成图像
Transformers

O
google
932.80k
99
Llama 3.2 11B Vision Instruct
Llama 3.2 是 Meta 发布的多语言多模态大型语言模型,支持图像文本到文本的转换任务,具备强大的跨模态理解能力。
文本生成图像
Transformers 支持多种语言

L
meta-llama
784.19k
1,424
Owlvit Base Patch32
Apache-2.0
OWL-ViT是一个零样本文本条件目标检测模型,可以通过文本查询搜索图像中的对象,无需特定类别的训练数据。
文本生成图像
Transformers

O
google
764.95k
129
精选推荐AI模型
Llama 3 Typhoon V1.5x 8b Instruct
专为泰语设计的80亿参数指令模型,性能媲美GPT-3.5-turbo,优化了应用场景、检索增强生成、受限生成和推理任务
大型语言模型
Transformers 支持多种语言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一个基于SODA数据集训练的超小型对话模型,专为边缘设备推理设计,体积仅为Cosmo-3B模型的2%左右。
对话系统
Transformers 英语

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基于RoBERTa架构的中文抽取式问答模型,适用于从给定文本中提取答案的任务。
问答系统 中文
R
uer
2,694
98