🚀 MiniCPM-V
MiniCPM-V(即 OmniLMM-3B)是一个具备出色性能且适合部署的高效模型。它基于 SigLip-400M 和 MiniCPM-2.4B 构建,通过感知器重采样器连接。该模型能有效解决多模态交互中的效率和性能问题,为多模态应用提供了更优的解决方案。
🚀 快速开始
模型简介
MiniCPM-V(即 OmniLMM-3B)是一款适合部署且性能出色的高效模型。它基于 SigLip-400M 和 MiniCPM-2.4B 构建,通过感知器重采样器连接。
最新动态
✨ 主要特性
⚡️ 高效性
MiniCPM-V 可以在大多数 GPU 显卡和个人电脑上高效部署,甚至可以在手机等终端设备上运行。在视觉编码方面,我们通过感知器重采样器将图像表示压缩为 64 个标记,这比其他基于 MLP 架构的大语言多模态模型(通常 > 512 个标记)要少得多。这使得 OmniLMM-3B 在推理过程中内存成本更低、速度更快。
🔥 出色性能
MiniCPM-V 在多个基准测试(包括 MMMU、MME 和 MMbech 等)中,在同类规模的模型中取得了最先进的性能,超越了现有的基于 Phi-2 构建的大语言多模态模型。它甚至取得了与 9.6B 的 Qwen-VL-Chat 相当或更好的性能。
🙌 双语支持
MiniCPM-V 是第一个支持中英文双语多模态交互的可终端部署的大语言多模态模型。这是通过跨语言泛化多模态能力实现的,该技术来自 ICLR 2024 亮点 论文。
📚 详细文档
评估结果
模型 |
规模 |
MME |
MMB dev (en) |
MMB dev (zh) |
MMMU val |
CMMMU val |
LLaVA-Phi |
3.0B |
1335 |
59.8 |
- |
- |
- |
MobileVLM |
3.0B |
1289 |
59.6 |
- |
- |
- |
Imp-v1 |
3B |
1434 |
66.5 |
- |
- |
- |
Qwen-VL-Chat |
9.6B |
1487 |
60.6 |
56.7 |
35.9 |
30.7 |
CogVLM |
17.4B |
1438 |
63.7 |
53.8 |
32.1 |
- |
MiniCPM-V |
3B |
1452 |
67.9 |
65.3 |
37.2 |
32.1 |
示例展示
演示体验
点击此处体验 MiniCPM-V 的演示。
手机部署
目前,MiniCPM-V(即 OmniLMM-3B)可以部署在运行 Android 和 Harmony 操作系统的手机上。🚀 点击 此处 尝试。
💻 使用示例
基础用法
在 Nvidia GPU 或支持 MPS 的 Mac(Apple silicon 或 AMD GPU)上使用 Huggingface transformers 进行推理。在 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
import torch
from PIL import Image
from transformers import AutoModel, AutoTokenizer
model = AutoModel.from_pretrained('openbmb/MiniCPM-V', trust_remote_code=True, torch_dtype=torch.bfloat16)
model = model.to(device='cuda', dtype=torch.bfloat16)
tokenizer = AutoTokenizer.from_pretrained('openbmb/MiniCPM-V', 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)
更多使用细节请参考 GitHub。
📄 许可证
模型许可证
声明
- 作为一个大语言模型,MiniCPM-V 通过学习大量文本生成内容,但它无法理解、表达个人观点或进行价值判断。MiniCPM-V 生成的任何内容都不代表模型开发者的观点和立场。
- 我们不对使用 MinCPM-V 开源模型产生的任何问题负责,包括但不限于数据安全问题、舆论风险,或因模型的误导、滥用、传播或误用而产生的任何风险和问题。