当前位置:AIGC资讯 > AIGC > 正文

最强终端部署的多模态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)参数,被宣传为“最强端侧多模态模型”。它在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等相关技术经验展开讨论与交流。

更新时间 2024-08-24