MiniCPM-V: A GPT-4V Level MLLM on Your Phone 手机上的 GPT-4V 级多模态大模型

GitHub - OpenBMB/MiniCPM-V: MiniCPM-V 2.6: A GPT-4V Level MLLM for Single Image, Multi Image and Video on Your Phone

2408.01800 (arxiv.org)

目录

Introduction

Model Architecture

Training

End-side Deployment


MiniCPM-V是一种高效的多模态大型语言模型,可在移动设备上部署。它在单图、多图和视频理解方面表现出色,超越了GPT-4V,并且在单图理解方面优于GPT-4o mini、Gemini 1.5 Pro和Claude 3.5 Sonnet。这是首次能够在iPad等终端设备上实时支持视频理解!代码已开源,由面壁智能提供。

-------------------------------------------

近期,多模态大语言模型(MLLM)的兴起对AI研究和行业产生了重要影响,并为实现下一个AI里程碑指明了方向。然而,MLLM仍存在一些挑战,限制其广泛应用于实际场景中。其中最主要的挑战来自运行具有大量参数和计算需求的MLLM所带来的巨大成本。因此,许多MLLM需要部署在高性能云服务器上,从而限制了它们在移动、离线、低功耗以及隐私保护场景中的应用范围。基于此,在本研究中我们提出了MiniCPM-V系列,这是一种可以高效运行于终端设备上的MLLM模型集合体系结构。最新版本MiniCPM-Llama3-V 2.5整合了最先进的MLLM技术包括架构设计、预训练方法以及对齐策略,并具有以下几个显著特点:(1)强劲性能,在11个流行基准测试中OpenCompass表现优于GPT-4V-1106、Gemini Pro和Claude 3;(2)卓越OCR功能以及对任意宽高比下180万像素高分辨率图像感知;(3)可靠性强且幻觉率低;(4)支持30多种语言;(5)适用于手机等终端设备进行高效部署。更重要的是,MiniCPM-V代表着一个有希望发展趋势:随着终端计算能力快速增长,在不久之后将会出现类似规模更小但与GPT-4V相当性能水平的MLLM部署到终端设备上变得越来越可能,并将推动人工智能技术更广泛地应用于真实世界场景。

Introduction

MiniCPM-V Series Techniques. In this paper, we will take the latest MiniCPM-Llama3-V 2.5 as an example, and systematically introduce the notable features of MiniCPM-V series and the key techniques behind them:

• Leading Performance. MiniCPM-Llama3-V 2.5 achieves better performance than GPT-4V-1106, Gemini Pro and Claude 3 on OpenCompass collection, a comprehensive evaluation over 11 popular benchmarks. This is jointly contributed by its careful design in architecture, data and training recipes, which we will detail in the following. 

性能卓越。在 OpenCompass 集合上,MiniCPM-Llama3-V 2.5 在涵盖 11 个流行基准的综合评估中,其性能优于 GPT-4V-1106、Gemini Pro 和 Claude 3。这一成果得益于其在架构、数据和训练配方方面的精心设计。

• Strong OCR Capability. MiniCPM-Llama3-V 2.5 outperforms GPT-4V, Gemini Pro and Qwen-VL-Max on OCRBench. It also supports high-utility functions such as table-to-markdown conversion and full OCR content transcribtion. These are largely attributed to the 1.8M pixel high-resolution (e.g., 1344 × 1344) image perception technique across any aspect ratios [107].

OCR能力强大。MiniCPM-Llama3-V 2.5 在 OCRBench 上的表现优于 GPT-4V、Gemini Pro 和 Qwen-VL-Max。它还支持高实用性功能,如表格到 Markdown 的转换和完整的 OCR 内容转录。这些能力主要归功于其跨任何纵横比的 180 万像素高分辨率(例如 1344x1344)图像感知技术。

• Trustworthy Behavior. Based on the RLAIF-V [112] and RLHF-V [111] techniques that align MLLM behaviors from AI/human feedback, MiniCPM-Llama3-V 2.5 exhibits more trustworthy behaviors, achieving lower hallucination rates than GPT-4V-1106 on Object HalBench.

行为可信。基于从AI/人类反馈中调整多语言大型模型(MLLM)行为的RLAIF-V[112]和RLHF-V[111]技术,MiniCPM-Llama3-V 2.5 展现了更可信的行为,在Object HalBench上的幻觉率低于GPT-4V-1106。

• Multilingual Support. Inspired by the findings from VisCPM [41], the integration of multilingual LLM significantly alleviates the heavy reliance on multimodal training data in low-resource languages. Based on the foundation, a high-quality multilingual multimodal instruction tuning helps MiniCPM-Llama3-V 2.5 generalize its multimodal capabilities to more than 30 languages.

• 支持多语言。受VisCPM[41]研究成果的启发,集成多语言大型语言模型(LLM)显著减轻了低资源语言对多模态训练数据的严重依赖。基于这一基础,高质量的多语言多模态指令调整帮助MiniCPM-Llama3-V 2.5将其多模态能力推广到30多种语言。

• Efficient End-side Deployment. We systematically integrate a suite of end-side optimization techniques, encompassing quantization, memory optimization, compilation optimization and NPU acceleration, enabling efficient deployment on end-side devices.

终端部署高效。系统地集成了一套终端优化技术,包括量化、内存优化、编译优化和NPU加速,从而实现了在终端设备上的高效部署。

Model Architecture

  1. 模型总体结构
    • 视觉编码器:采用SigLIP SoViT-400m/14作为视觉编码器,负责将输入图像进行编码。
    • 压缩层:通过具有一层交叉注意力的感知器重采样结构,对视觉标记进行压缩。
    • LLM:将压缩后的视觉标记与文本输入一起送入大语言模型,进行条件文本生成。
    • 平衡目标:MiniCPM-V系列的设计哲学是在性能和效率之间实现良好平衡,以满足更广泛的现实世界应用需求。
  2. 自适应高分辨率视觉编码
    • 视觉编码的重要性:视觉编码在MLLM性能中扮演关键角色,特别是对于OCR等细粒度能力。
    • 图像分区:根据输入图像的分辨率和ViT的预训练设置,计算并选择合适的图像分区,以匹配ViT的预训练分辨率和宽高比。
    • 切片编码:通过调整每个切片的大小和插值ViT的位置嵌入,使切片更好地适应ViT的预训练设置。
    • 标记压缩:利用压缩模块将每个切片的视觉标记压缩成更少的查询,减少GPU内存消耗,提升推理速度和首令牌延迟。
  3. 空间模式
    • 切片位置表示:引入空间模式,通过特殊标记<slice><\slice>包装每个切片的标记,并使用特殊标记\n分隔不同行的切片,以指示每个切片相对于整个图像的位置。
  4. 模块间交互
    • 编码与压缩:视觉编码器生成的视觉标记经过压缩层压缩后,与文本输入一同被送入LLM进行后续处理。
    • 高效处理:通过优化视觉编码和标记压缩,MiniCPM-V能够在保证性能的同时,实现高效的资源利用。
  5. 设计优势
    • 灵活性:自适应视觉编码方法能够处理不同分辨率和宽高比的输入图像。
    • 效率:显著减少的视觉标记数量使MiniCPM-V在GPU内存消耗、推理速度等方面具有优势。
    • 实用性:平衡性能与效率的设计哲学使MiniCPM-V适用于更广泛的设备和场景。

Training

MiniCPM-V模型的训练过程,主要包括三个关键阶段:预训练(Pre-training)、监督微调(Supervised Fine-tuning)和基于反馈的学习(RLAIF-V)。以下是详细总结:

  1. 预训练(Pre-training)
    • 阶段一(Stage-1):目标是初步训练压缩层,连接视觉编码器和LLM。通过随机初始化和训练压缩层,同时保持其他参数冻结,使用200M的图像描述数据进行训练。视觉编码器分辨率设为224x224,与预训练设置相同。
    • 阶段二(Stage-2):扩展预训练视觉编码器的输入分辨率,从224x224提升到448x448。此阶段仅训练视觉编码器,保持其他模块参数冻结,并再次使用200M图像描述数据。
    • 阶段三(Stage-3):采用自适应视觉编码策略训练视觉模块,以适应任意纵横比的高分辨率输入。同时训练压缩层和视觉编码器,LLM保持冻结。引入OCR数据增强视觉编码器的OCR能力。
    • 辅助技术:引入低质量标题重写模型和数据打包策略。标题重写模型用于改善网络数据的质量,数据打包策略则提高内存使用效率和计算效率。
  2. 监督微调(Supervised Fine-tuning)
    • 训练目标:在高质量视觉问答数据集上进一步学习知识和交互能力。
    • 可训练模块:解锁所有模型参数,以充分利用高质量数据。
    • 数据分类:将微调数据分为两部分:Part-1注重提升基础识别能力,包括短回答的数据集;Part-2则旨在增强生成详细响应和遵循人类指令的能力,包括长回答和复杂交互的数据集。
    • 多语言泛化:通过轻量级但高质量的多语言监督微调,实现跨语言的多模态能力。
  3. 基于反馈的学习(RLAIF-V)
    • 目标:解决MLLMs中的幻觉问题,即生成未基于输入图像的事实性响应。
    • 方法:采用RLAIF-V框架,通过从开源模型获取可扩展的高质量反馈,进行直接偏好优化(DPO)。
    • 步骤
      • 响应生成:使用策略模型为给定指令生成多个响应。
      • 反馈收集:以分而治之的方式评估每个响应的正确性。
      • 直接偏好优化(DPO):在偏好数据集上优化模型。
  4. 训练效果与数据增强
    • 在MiniCPM-Llama3-V 2.5中,集成了2M的Cauldron数据集用于多模态知识增强,以及90K多语言数据以提升多语言对话能力。
    • 通过上述训练流程,MiniCPM-V系列模型在GPU内存消耗、推理速度、首令牌延迟和功耗方面表现出色,具有广泛的应用前景和社区友好性。

End-side Deployment

MiniCPM-V在终端设备上的部署情况,包括面临的挑战、基本实践、高级实践以及部署结果。以下是详细总结:

  1. 部署挑战
    • 内存限制:高性能服务器通常具有超过100GB甚至1TB的内存容量,而智能手机的内存通常在12GB到16GB之间,这对于部署大型MLLM(多模态大语言模型)来说可能不足。
    • CPU/GPU速度限制:智能手机CPU的处理速度远低于高性能服务器,且GPU性能也较弱。例如,Snapdragon 8Gen3拥有8个CPU核心,而Intel Xeon Platinum 8580拥有60个CPU核心;Qualcomm Adreno 750 GPU仅具有6TFLOPS,而NVIDIA 4090 GPU可达到83TFLOPS。
  2. 基本实践
    • 量化技术:采用量化技术减少内存消耗。通过统一缩放因子将多个权重压缩到更窄的范围内,并进行离散化。对于MiniCPM-Llama3-V 2.5,使用GGML框架的Q4_K_M模式(4位量化策略),将内存需求从约16~17GB减少到约5GB。
    • 部署框架:针对不同芯片类型(CPU、GPU、NPU)选择不同的部署框架。由于CPU在设备中的普及性,优先使用llama.cpp框架。
  3. 高级实践
    • 内存使用优化:通过顺序加载ViT和LLM到内存中,避免在ViT编码期间因内存不足导致的频繁分页,从而提高了程序效率。这一优化显著减少了图像处理时间。
    • 编译优化:直接在目标设备上编译模型可以显著改善编码延迟和解码吞吐量。这归因于编译与目标设备指令集架构之间的一致性提高。
    • 配置优化:自动参数搜索算法动态确定最适合的配置(如不同CPU核心上的计算分配),显著提高了解码吞吐量。
    • NPU加速:利用NPUs(神经网络处理单元)加速视觉编码,特别是在智能手机上,显著减少了视觉编码时间。
  4. 部署结果
    • 实验设备:在Xiaomi 14Pro(Snapdragon 8Gen 3)、vivo X100Pro(Mediatek Dimensity 9300)和Mac M1上进行了测试。
    • 性能评估:优化后的MiniCPM-Llama3-V 2.5在不同设备上均表现出良好的性能和用户友好的延迟。特别是,利用NPU的Xiaomi 14Pro在编码速度上与Mac M1相近,且所有设备的解码吞吐量均达到或超过人类阅读速度。
  5. 讨论
    • 计算瓶颈:当前计算瓶颈主要来自LLM预填充,即图像和文本令牌的编码。未来研究可以集中在开发更有效的视觉编码方法和更好地利用GPU/NPU加速LLM编码。
    • 未来展望:随着对终端MLLM的关注增加和GPU/NPU加速技术的快速发展,预计很快可以实现与终端MLLM的实时交互。

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

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

相关文章

cad文字转arcgis注记

cad中文字转为arcgis注记&#xff0c;步骤如下&#xff1a; 1、将dwg文件下annotation文件加到图层中 2、文件点击右键&#xff0c;转换地理数据库注记 3、 导入默认地理数据库中&#xff0c;或自己新建地理数据库&#xff0c;起个文件名、点确定&#xff08;注意&#xff1a…

手机CPU性能天梯图(2024年8月),含安兔兔/GB6/3DMark跑分

原文地址&#xff08;高清无水印原图/持续更新/含榜单出处链接&#xff09;&#xff1a; 2024年8月手机处理器天梯图 2024年8月1日更新日志&#xff1a;由于近期并未有新处理器发布&#xff0c;故只做常规更新&#xff1b;移除鲁大师天梯图&#xff1b;补充其它天梯图数量。 -…

Leetcode - 周赛409

目录 一&#xff0c;3242. 设计相邻元素求和服务 二&#xff0c;3243. 新增道路查询后的最短距离 I 三&#xff0c;3244. 新增道路查询后的最短距离 II 四&#xff0c;3245. 交替组 III 一&#xff0c;3242. 设计相邻元素求和服务 本题纯模拟&#xff0c;代码如下&#xff…

工业三防平板助力MES系统打造工厂移动式生产管理

随着工业4.0时代的到来&#xff0c;智能制造、数字化车间等概念层出不穷&#xff0c;生产过程的可视化管理也成为了企业提升效率、优化生产的关键。而工业三防平板&#xff0c;凭借其坚固耐用、功能强大、便携易用等特性&#xff0c;成为了实现生产过程可视化管理的重要利器&am…

服务器网络磁盘挂载

一、Ping测试 先测试磁盘网络的连通性 例如&#xff1a;这里申请的网络磁盘是&#xff1a; 127.0.0.1:/shareData ping 127.0.0.1二、挂载 确认连通后&#xff0c;确定需要挂载的目录&#xff0c;这里服务器的挂载目录为&#xff1a;/data/share &#xff08;自主选择创建目录…

1985-2023年中国城市统计年鉴(PDF+EXCEL)

1985-2023年中国城市统计年鉴 1、时间&#xff1a;1985-2023年 2、格式&#xff1a;1985-2023年PDF版本&#xff0c;1993-2023年excel格式 3、说明&#xff1a;中国城市统计年鉴收录了全国各级城市社会经济发展等方面的主要统计数据&#xff0c;数据来源于各城市的相关部门。…

算法3:二分查找(下)

文章目录 寻找峰值寻找旋转数组最小值 寻找峰值 class Solution { public:int findPeakElement(vector<int>& nums) {int left 0, right nums.size() - 1;while(left < right){int mid left (right - left) / 2;if(nums[mid] < nums[mid 1])left mid 1;…

漏洞复现-F5 BIG-IP 存在远程代码执行漏洞 (CVE-2023-46747)

1.漏洞描述 F5 Networks是全球范围内应用交付网络&#xff08;ADN&#xff09;领域的知名厂商&#xff0c;致力于帮助全球大型企业和服务提供商实现虚拟化、云计算和灵活的IT业务服务。。 F5 BIG-IP 存在远程代码执行漏洞。未经身份验证的攻击者可能会绕过配置实用程序身份验…

大话设计模式:七大设计原则

目录 一、单一职责原则&#xff08;‌Single Responsibility Principle, SRP&#xff09;‌ 二、开放封闭原则&#xff08;‌Open-Closed Principle, OCP&#xff09; 三、依赖倒置原则&#xff08;‌Dependency Inversion Principle, DIP&#xff09; 四、里氏替换原则&am…

Java事务失效

目录 传送门一、概念1、事务的传播类型2、isolation3、Transactionnal注解属性 二、事务失效场景1、异常捕获2、异步处理3、final修饰事务方法4、非public5、T范围小了6、不加T或者事务传播用了NOT_SUPPORTED这种不支持事务7、数据库MyISAM不支持事务8、事务方法未被Spring管理…

Unity URP 曲面细分学习笔记

学百人时遇到了曲面着色器的内容&#xff0c;有点糊里糊涂&#xff0c;于是上知乎找到了两篇大佬的文章 Unity URP 曲面细分 和 Unity曲面细分笔记&#xff0c;本文只是自己做学习记录使用 1.曲面细分与镶嵌 曲面细分或细分曲面&#xff08;Subdivision surface&#xff09;是…

字节跳动发Seed-TTS语音合成模型,可模仿任意人的声音,效果逼真

前期我们介绍过很多语音合成的模型&#xff0c;比如ChatTTS&#xff0c;微软语音合成大模型等&#xff0c;随着大模型的不断进步&#xff0c;其合成的声音基本跟真人没有多大的区别。本期介绍的是字节跳动自家发布的语音合成模型Seed-TTS。 Seed-TTS 推理包含四个功能模块&…

无人机之热成像篇

一、定义 无人机热成像技术是指将热成像相机安装在无人机云台上&#xff0c;通过无人机的高空飞行能力和云台的稳定性&#xff0c;结合红外热成像技术对目标区域进行非接触式的温度测量和图像采集。该技术利用物体发出的红外辐射来生成图像&#xff0c;通过测量物体表面温度分布…

Leetcode JAVA刷刷站(8)字符串转换整数

一、题目概述 二、思路方向 要实现这个功能&#xff0c;我们可以遵循以下步骤来编写 myAtoi 函数&#xff1a; 去除前导空格&#xff1a;使用循环或字符串的 trim() 方法&#xff08;虽然直接操作字符串更高效的方式是使用循环&#xff09;。检查符号&#xff1a;记录第一个非…

nodejs 生成随机邮箱

首先安装依赖&#xff1a; npm install faker 示例代码&#xff1a; const faker require(faker); const fs require(node:fs) function generateRandomEmail(num){let str for (let i 0; i < num; i) {str faker.internet.email() &:focus:&;}fs.writeFil…

魔众文库系统v7.0.0版本推荐店铺功能,管理菜单逻辑优化

推荐店铺功能&#xff0c;管理菜单逻辑优化 [新功能] RandomImageProvider 逻辑升级重构&#xff0c;支持更丰富的随机图片生成 [新功能] 资源篮订单参数字段 [新功能] 首页推荐店铺功能&#xff0c;需要在后台 文库系统 → 文库店铺 开启推荐 [系统优化] Grid 快捷编辑请求…

告别DockerHub 镜像下载难题:掌握高效下载策略,畅享无缝开发体验

告别DockerHub 镜像下载难题:掌握高效下载策略,畅享无缝开发体验 1. 介绍 1.1 DockerHub简介 Docker Hub 是 Docker 提供的一项服务,用于与您的团队查找和共享容器映像。 它是世界上最大的容器映像存储库,其中包含一系列内容源,包括容器社区开发人员,开源项目和独立软…

【Kubernetes】Service 类型

Service 类型 1.NodePort2.ClusterlP3.LoadBalance4.ExternalName 在《Service 概念与实战》一文中&#xff0c;Service 的发布使用的是 NodePort 类型。除此之外&#xff0c;Service 的发布还支持 ClusterlP、LoadBalancer 和 ExternalName 这 3 种类型。 1.NodePort 在把 Se…

基于微信小程序的小区业主服务系统(源码+论文+部署讲解等)

博主介绍&#xff1a;✌全网粉丝10W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术栈介绍&#xff1a;我是程序员阿龙&#xff…

SOMEIP_ETS_033:echoUINT8ArrayMinSize_too_short

测试目的&#xff1a; 验证DUT是否能够正确处理小于最小尺寸&#xff08;少于3个元素&#xff09;的UINT8数组参数&#xff0c;并返回相应的错误消息。 描述 本测试用例旨在检验DUT在接收到长度不足3个元素的UINT8数组参数时&#xff0c;是否能够返回错误消息MALFORMED_MESS…