MiniCPM-V模型是一个强大的端侧多模态大语言模型,专为高效的终端部署而设计。
目前该模型有MiniCPM-V 1.0、MiniCPM-V 2.0和MiniCPM-Llama3-V 2.5版本。
MiniCPM-V 1.0模型:该模型系列第一个版本,具有基础的多模态处理能力,同时是最轻量级的版本。
MiniCPM-V 2.0模型:此版本提供了高效而先进的端侧双语多模态理解能力,能够处理最大180万像素的高清大图,包括那些具有1:9极限宽高比的图像,进行高效编码和无损识别。
它集成了多模态通用能力、OCR(光学字符识别)综合能力和对多种类型数据的处理能力。
MiniCPM-Llama3-V 2.5:这是MiniCPM系列的最新版本,拥有80亿(8B)参数,被宣传为“最强端侧多模态模型”。它在2024年5月21日推出并开源,支持超过30种语言,性能超越了Gemini Pro和GPT-4V等多模态巨无霸模型。
该模型在HuggingFace和GitHub Trending榜上均登顶,展示了其在开源社区的影响力和受欢迎程度。
MiniCPM-Llama3-V 2.5强调了在有限的硬件资源(如8GB显存)上实现高效推理的能力,适合在手机等移动设备上部署。
github项目地址:https://github.com/OpenBMB/MiniCPM-V
一、环境安装
1、python环境
建议安装python版本在3.10以上。
2、pip库安装
pip install torch==2.1.2+cu118 torchvision==0.16.2+cu118 torchaudio==2.1.2 --extra-index-url https://download.pytorch.org/whl/cu118
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install jmespath -i https://pypi.tuna.tsinghua.edu.cn/simple
3、模型下载
(1)MiniCPM-V-1模型
git lfs install
git clone https://www.modelscope.cn/OpenBMB/MiniCPM-V.git
(2)MiniCPM-V-2.0模型
git lfs install
git clone https://www.modelscope.cn/OpenBMB/MiniCPM-V-2.git
(3)MiniCPM-V-2.5模型
git lfs install
git clone https://www.modelscope.cn/OpenBMB/MiniCPM-Llama3-V-2_5.git
二、功能测试
1、web功能测试
使用第一张显卡,显卡至少要有19G显存以上测试MiniCPM-V-2.5模型
CUDA_VISIBLE_DEVICES=0 python web_demo_2.5.py --device cuda
2、python接口测试
from PIL import Image
import torch
from modelscope import AutoModel, AutoTokenizer
#初始化模型和分词器
model = AutoModel.from_pretrained('openbmb/MiniCPM-Llama3-V-2_5', trust_remote_code=True, torch_dtype=torch.float16).to('cuda')
model.eval()
tokenizer = AutoTokenizer.from_pretrained('openbmb/MiniCPM-Llama3-V-2_5', trust_remote_code=True)
#输入图片和问题
image_path = 'example_image.jpg'
image = Image.open(image_path).convert('RGB')
query = 'Describe the scene depicted in this image.'
#定义对话消息
messages = [{'role': 'user', 'content': query}]
#方法1:使用模型进行聊天(非流式)
response = model.chat(image=image, msgs=messages, tokenizer=tokenizer, sampling=True, temperature=0.5)
print("\nNon-streaming response:")
print(response)
#方法2:使用模型进行聊天(流式)
print("\nStreaming response:")
stream_response = model.chat(image=image, msgs=messages, tokenizer=tokenizer, sampling=True, temperature=0.5, stream=True)
for text_chunk in stream_response:
print(text_chunk, end='', flush=True)
print()
3、测试结果
(1)案例1
(2)案例2
(2)案例3
三、总结
MiniCPM-V是一个端侧多模态大型语言模型,专为视觉-语言理解任务设计。
该模型能够同时理解和生成文本及图像内容,适用于各种交互式应用,如虚拟助手、图像描述生成、增强现实等。
MiniCPM-V模型不仅仅能够提供高性能、低资源消耗的多模态处理能力,还特别适合在设备端(如手机、嵌入式设备等)运行,无需依赖云端计算资源。
随着MiniCPM-V系列模型的不断演进,预计它们将在智能家居、可穿戴设备、移动应用、自动驾驶等多个领域发挥重要作用,推动AI技术的普及和创新应用。
喜欢就点赞转发,后期我还会持续在这里分享最新研发技术动向。
另外,想看更多的CogVLM2相关技术经验,欢迎后台留言讨论。
总结
# MiniCPM-V多模态大语言模型总结## 模型简介
MiniCPM-V是一个专为高效的终端部署而设计的强大端侧多模态大语言模型。该模型系列目前包括MiniCPM-V 1.0、MiniCPM-V 2.0和MiniCPM-Llama3-V 2.5三个版本,每个版本都在前一版的基础上进行了功能和技术上的扩展与优化。
### 版本特点
- **MiniCPM-V 1.0**:模型系列的第一个版本,具备基础的多模态处理能力,同时保持轻便的设计。
- **MiniCPM-V 2.0**:此版本引入了高效而先进的端侧双语多模态理解能力,能够处理高达180万像素的高清图片,包括但不限于1:9极限宽高比图像,实现了高效编码与无损识别。此版本还集成了多模态通用能力、OCR(光学字符识别)综合能力和多种类型数据的处理能力。
- **MiniCPM-Llama3-V 2.5**:作为MiniCPM系列的最新版,该模型拥有80亿(8B)参数,被誉为“最强端侧多模态模型”。支持超过30种语言,性能超越了Gemini Pro和GPT-4V等多模态巨无霸模型。该模型在HuggingFace和GitHub Trending榜上登顶,同时在有限的硬件资源上(如8GB显存)实现高效推理,非常适合在手机等移动设备上部署。
## 功能与应用
MiniCPM-V系列模型具有显著的功能扩展和广泛的应用前景,具体如下:
- **多模态处理**:能够同时理解和生成文本及图像内容,实现视觉与语言的深度融合和交互。
- **交互式应用**:该模型适用于虚拟助手、图像描述生成、增强现实等多种交互式应用场景,提高用户体验。
- **高性能与低资源消耗**:其强大的多模态处理能力搭配低资源消耗设计,使得该模型在设备端甚至移动设备上也能发挥出色性能,无需依赖云端计算资源。
- **应用领域广泛**:预计在智能家居、可穿戴设备、移动应用及自动驾驶等多个领域发挥重要作用,推动AI技术的普及和创新应用。
## 环境与部署
### 环境安装
1. **Python环境**:建议安装Python 3.10及以上版本。
2. **pip库安装**:安装相关Python库,包括PyTorch及其依赖库和其他必要的库。
3. **模型下载**:根据所需版本,通过Git LFS和clone命令下载模型文件。
### 功能测试
- **Web功能测试**:通过指定显卡和设备进行测试,确保模型在特定硬件环境下运行正常。
- **Python接口测试**:通过编写测试脚本,利用模型和分词器实现图像和文本的交互处理,并展示两种聊天方法:非流式与流式。
## 总结与展望
MiniCPM-V系列模型作为应用于端侧多模态处理领域的佼佼者,凭借其强大的处理能力、广泛的应用场景以及高效的资源利用,展现了广阔的发展前景。随着技术的不断进步和版本的持续迭代,MiniCPM-V将在更多领域发挥重要作用,为AI技术的创新应用贡献力量。
喜欢本文的读者可以点赞转发,并关注后续研发技术动向。同时,我们也欢迎就CogVLM2等相关技术经验展开讨论与交流。