本地部署 MiniCPM-Llama3-V 2.5

本地部署 MiniCPM-Llama3-V 2.5

  • 0. 引言
  • 1. 性能评估
  • 2. 典型示例
  • 3. 本地部署
  • 4. 运行 WebUI Demo
  • 5. vLLM 部署

0. 引言

MiniCPM-Llama3-V 2.5 是 MiniCPM-V 系列的最新版本模型,基于 SigLip-400M 和 Llama3-8B-Instruct 构建,共 8B 参数量,相较于 MiniCPM-V 2.0 性能取得较大幅度提升。MiniCPM-Llama3-V 2.5 值得关注的特点包括:

🔥 领先的性能。 MiniCPM-Llama3-V 2.5 在综合了 11 个主流多模态大模型评测基准的 OpenCompass 榜单上平均得分 65.1,以 8B 量级的大小超过了 GPT-4V-1106、Gemini Pro、Claude 3、Qwen-VL-Max 等主流商用闭源多模态大模型,大幅超越基于Llama 3构建的其他多模态大模型。

💪 优秀的 OCR 能力。 MiniCPM-Llama3-V 2.5 可接受 180 万像素的任意宽高比图像输入,OCRBench 得分达到 725,超越 GPT-4o、GPT-4V、Gemini Pro、Qwen-VL-Max 等商用闭源模型,达到最佳水平。基于近期用户反馈建议,MiniCPM-Llama3-V 2.5 增强了全文 OCR 信息提取、表格图像转 markdown 等高频实用能力,并且进一步加强了指令跟随、复杂推理能力,带来更好的多模态交互体感。

🏆 可信行为。 借助最新的 RLAIF-V 对齐技术(RLHF-V [CVPR’24]系列的最新技术),MiniCPM-Llama3-V 2.5 具有更加可信的多模态行为,在 Object HalBench 的幻觉率降低到了 10.3%,显著低于 GPT-4V-1106 (13.6%),达到开源社区最佳水平。数据集已发布。

🌏 多语言支持。 得益于 Llama 3 强大的多语言能力和 VisCPM 的跨语言泛化技术,MiniCPM-Llama3-V 2.5 在中英双语多模态能力的基础上,仅通过少量翻译的多模态数据的指令微调,高效泛化支持了德语、法语、西班牙语、意大利语、葡萄牙语等 30+ 种语言的多模态能力,并表现出了良好的多语言多模态对话性能。查看所有支持语言

🚀 高效部署。 MiniCPM-Llama3-V 2.5 较为系统地通过模型量化、CPU、NPU、编译优化等高效加速技术,实现高效的终端设备部署。对于高通芯片的移动手机,我们首次将 NPU 加速框架 QNN 整合进了 llama.cpp。经过系统优化后,MiniCPM-Llama3-V 2.5 实现了多模态大模型端侧语言解码速度 3 倍加速、图像编码 150 倍加速的巨大提升。

1. 性能评估

在这里插入图片描述

图片来源:https://github.com/OpenBMB/MiniCPM-V/blob/main/assets/MiniCPM-Llama3-V-2.5-peformance.png

多语言LLaVA Bench评测结果,

在这里插入图片描述

图片来源:https://github.com/OpenBMB/MiniCPM-V/blob/main/assets/llavabench_compare_3.png

2. 典型示例

在这里插入图片描述

图片来源:https://github.com/OpenBMB/MiniCPM-V/blob/main/assets/minicpmv-llama3-v2.5/cases_all.png

3. 本地部署

克隆Gihub的仓库并跳转到相应目录,

git clone https://github.com/OpenBMB/MiniCPM-V.git
cd MiniCPM-V

创建 conda 虚拟环境,

conda create -n MiniCPMV python=3.10 -y
conda activate MiniCPMV

安装依赖,

pip install -r requirements.txt

4. 运行 WebUI Demo

# For NVIDIA GPUs, run:
python web_demo_2.5.py --device cuda

5. vLLM 部署

(20240527记:由于MiniCPM团队对 vLLM 提交的 PR 还在 review 中,因此目前他们 fork 了一个 vLLM 仓库以供测试使用。)

首先克隆他们 fork 的 vLLM 库,

git clone https://github.com/OpenBMB/vllm.git

安装 vLLM 库,

cd vllm
pip install -e .

安装 timm 库,

pip install timm=0.9.10

测试运行示例程序,

python examples/minicpmv_example.py 

reference:

  • https://github.com/OpenBMB/MiniCPM-V/blob/main/README_zh.md

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/843201.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Llama模型家族训练奖励模型Reward Model技术及代码实战(三) 使用 TRL 训练奖励模型

LlaMA 3 系列博客 基于 LlaMA 3 LangGraph 在windows本地部署大模型 (一) 基于 LlaMA 3 LangGraph 在windows本地部署大模型 (二) 基于 LlaMA 3 LangGraph 在windows本地部署大模型 (三) 基于 LlaMA…

闲话 .NET(3):.NET Framework 的缺点

前言 2016 年,微软正式推出 .NET Core 1.0,并在 2019 年全面停止 .NET Framework 的更新。 .NET Core 并不是 .NET Framework 的升级版,而是一个从头开始开发的全新平台,一个跟 .NET Framework 截然不同的开源技术框架。 微软为…

一文详解手机在网状态查询API

手机在网状态查询就是指客户手机号码的在营运商数据库中标注的状态,有正常使用、停机、销号、未启用、异常、预销户、在网但不可用等一系列状态。而手机在网状态查询接口则是指通过接入api接口的实时数据对客户的手机号码开展在网状态查询。手机号码在网状态查询主要…

2024第三届AIGC开发者大会圆桌论坛:AI Agent中国落地发展现状及多模态结合具身智能的发展展望

在2024年第三届AIGC开发者大会上,多位业内专家齐聚一堂,共同探讨了AI Agent在中国的落地发展现状以及多模态结合具身智能的发展前景。本次圆桌论坛的嘉宾包括: Fast JP作者于金龙Agent创始人莫西莫必胜作者秦瑞January Agent创始人李晨 多模…

Android NDK系列(一)手动搭建Native Project

使用NDK编写的本地代码具有高性能等特性,在游戏、图形处理等领域有广泛应用,下面介绍如何手动搭建一个纯C版的Android项目,通过该项目可以理解Android的项目结构。 一、创建settings.gradle Android项目是基于Gradle构建的,首先得…

数据结构之链表(高级应用)

基本的算法实践在上一篇博文,这篇博文向大家详细展示一下数据结构的高级应用,可能有些难,但这是重点,实用性很强,而且用的好往往事半功倍,想获得力量吗,开整: 我把他们分为这几块&a…

Captura完全免费的电脑录屏软件

一、简介 1、Captura 是一款免费开源的电脑录屏软件,允许用户捕捉电脑屏幕上的任意区域、窗口、甚至是全屏画面,并将这些画面录制为视频文件。这款软件具有多种功能,例如可以设置是否显示鼠标、记录鼠标点击、键盘按键、计时器以及声音等。此…

JVM1.8分代的理论基础和简单测试

你好,我是 shengjk1,多年大厂经验,努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注!你会有如下收益: 了解大厂经验拥有和大厂相匹配的技术等 希望看什么,评论或者私信告诉我! 文章目录 一…

用PHP封装一个强大且通用的CURL方法

用PHP封装一个强大且通用的CURL方法 支持:get、post、put、delete、patch、options 直接上代码: /*** function 强大且通用的cURL请求库* param $url string 路径* param $method string 请求方式 如&#x…

【Javascript】Promise形象比喻

我们可以把 Promise 形象地比喻为一个“外卖订单”,它有三种状态:下单中、已送达、已取消。这个比喻可以帮助你理解 Promise 的工作机制。 比喻解释 Pending(下单中): 当你在外卖平台上创建一个订单时,订…

c 函数指针的表现形式

1.概要 int&#xff08;*函数指针变量&#xff09;(int a,char b)&#xff0c;这里的函数指针变量就可以代码一个特定类型的函数指针 int&#xff08;*&#xff09;(int a,char b)就是这种函数指针的类型 2.代码 #include <iostream>void fun() {printf("fun\n&q…

海外仓系统哪家好?闭坑指南,擦亮眼睛选对系统

可以说现在的海外仓系统市场还是比较杂乱的&#xff0c;各种不同类型&#xff0c;不同收费标准的系统比比皆是&#xff0c;这让很多想引进海外仓系统的企业不知所措&#xff0c;不知道怎么选。 今天就聊一下在选择海外仓系统的时候应该如何考量&#xff0c;才能避免被坑&#…

JS分支语句

一 三元运算符 1 语法格式&#xff1a; 条件?满足条件执行代码1:不满足条件执行代码2 2 用途 三元运算符等价于简单的if else语句&#xff0c;常用于判断取值 二 switch语句 1 语法格式&#xff1a; swtich(数据){case 值1:执行语句breakcase 值2:执行语句breakcase 值…

C++之对象的使用

1、static成员 2、static成员优点 2、static成员函数 静态成员函数不能访问非静态成员原因&#xff1a;因为没有this指针。也不可以访问非静态成员函数。 可以通过对象来访问静态成员&#xff0c;但是不推荐这么使用&#xff0c;会让人误解成这个x_是属于对象的&#xff0c;但…

贪心算法典型题目

糖果 有n个小朋友&#xff0c;有m袋糖果&#xff0c;第i袋的糖果数量是a[i]。已知n<m<2n。 每个小朋友至少要有一袋糖果&#xff0c;至多只能要两袋糖果。 分配的目标是把这m袋糖果全部分完&#xff0c;而且要使得每个小朋友最终得到的糖果数量都是相等的。 如果可以…

“大一新生接单:专业打造单页HTML网站,让你的项目脱颖而出!”

我是大一新生&#xff0c;对HTML有浓厚的兴趣&#xff0c;并且已经掌握了一些基础知识。 学会了使用htmlcss的网页设计&#xff08;暂未学JavaScript&#xff09; 如果你需要代写的服务可以在本作品下方 评论留言

PyCharm基本配置内容

如何更换 Python 解释器 输入一段代码点击运行后&#xff0c;画面下方有一个路径如图中框中所示&#xff1a; 上面的路径为虚拟路径&#xff0c;可以改为我们自己设置的路径 点击设置&#xff0c;选择settings 选择Project&#xff1a;y002———》Python Interpreter&#…

C++课程设计实验杭州电子科技大学ACM题目(中)

题目四&#xff1a;2016.数据的交换输出 题目描述 Problem Description&#xff1a; 输入n(n<100)个数&#xff0c;找出其中最小的数&#xff0c;将它与最前面的数交换后输出这些数。 Input&#xff1a;输入数据有多组&#xff0c;每组占一行&#xff0c;每行的开始是一…

python爬虫之pandas库——数据清洗

安装pandas库 pip install pandas pandas库操作文件 已知在本地桌面有一名为Python开发岗位的csv文件(如果是excel文件可以做简单修改即可&#xff0c;道理是通用的) 打开文件&#xff1a; 打开文件并查看文件内容 from pandas import DataFrame import pandas as pd data_c…

【自动驾驶技术栈学习】2-软件《大话自动驾驶》| 综述要点总结 by.Akaxi

----------------------------------------------------------------------------------------------------------------- 致谢&#xff1a;感谢十一号线人老师的《大话自动驾驶》书籍&#xff0c;收获颇丰 链接&#xff1a;大话自动驾驶 (豆瓣) (douban.com) -------------…