【多模态论文阅读系列二】— MiniCPM-V

server/2024/12/22 20:55:51/

校招/实习简历修改、模拟面试欢迎私信

《MiniCPM-V: A GPT-4V Level MLLM on Your Phone》

在这里插入图片描述
在本节中,我们介绍了MiniCPM-V的模型架构,概述了其总体结构和自适应高分辨率视觉编码方法。MiniCPM-V系列的设计理念是在性能和效率之间实现良好的平衡,这是一个更实用的目标,适用于更广泛的现实世界应用,在架构设计、训练、推理和部署中实现。

3.1 architecture

该模型包括三个关键模块:视觉编码器、压缩层和LLM。输入图像首先由视觉编码器利用自适应视觉编码方法进行编码。具体来说,我们采用SigLIP SoViT-400m/14[115]作为视觉编码器。然后,压缩层对视觉标记进行压缩,压缩层采用具有一层交叉注意力的感知重采样器结构。最后,压缩的视觉标记与文本输入一起被馈送到LLM中,用于条件文本生成。

3.2 Adaptive Visual Encoding

最近,人们对视觉编码在MLLM性能中的基本作用越来越达成共识[76,68],特别是对于OCR等细粒度功能。为了有效,一个好的视觉编码策略应该既尊重输入的原始纵横比,又保留足够的视觉细节(高分辨率)。为了提高效率,图像编码的视觉标记数量应该适中,以便在终端设备上负担得起。为此,我们利用了LLaVA UHD[107]提出的自适应视觉编码方法。

在这里插入图片描述

在实践中,我们设置N<10,在编码过程中最多支持180万像素(例如1344×1344分辨率)。尽管我们可以包含更多的图像切片以获得更高的分辨率,但我们故意强加了这个分辨率上限,因为它已经很好地覆盖了大多数现实世界的应用场景,考虑到性能和开销,进一步提高编码分辨率的好处微乎其微。

Slice Encoding 虽然图像分割可以确保切片和ViT预训练设置之间的良好匹配,但每个切片的大小并不完全等于(Wv,Hv)。为了将切片馈送到ViT中,我们首先通过按比例调整每个切片的大小来调整它,使得到的区域大小与ViT预训练区域大小Wv×Hv相匹配。这种调整有助于防止编码补丁的数量与ViT的预训练设置之间出现显著差距注意,这里不一定是与VIT输入等大小参考这里。

随后,我们插值ViT的位置嵌入以适应切片的比率。这涉及将ViT的1D嵌入P1∈RQ×l重新整形为其2D格式P2∈Rq×q×l,其中位置嵌入的数量q=q×q。然后,我们通过2D插值来插值P2以适应每个切片的大小。我们还将原始图像作为附加切片,以提供有关整个图像的整体信息。

在这里插入图片描述

token compression。视觉编码后,每个切片被编码为1024个令牌,其中10个切片可以共同产生超过10k个令牌。我们采用了一个压缩模块,该模块由一层交叉注意力和适量查询组成,在实践中,通过这一层,每个切片的视觉标记被压缩为64个MiniCPM V1&2查询和96个MiniCPM-Llama3-V 2.5查询。

4.Training

The model training consists of 3 phases: the pre-training phase, the supervised fine-tuning phase, and the RLAIF-V phase.

4.1 Pre-training

在这个阶段,我们利用大规模的图像文本对进行MLLM预训练。该阶段的主要目标是将视觉模块(即视觉编码器和压缩层)与LLM的输入空间对齐,并学习基础的多模态知识。预训练阶段又分为3个阶段。

第一阶段。第一阶段的作用是warm up 压缩层,主要连接视觉编码器和LLM。 (1) 可训练模块。我们随机初始化压缩层,并在第一阶段训练该模块,保持其他参数frozen。视觉编码器的分辨率设置为224×224。

在这里插入图片描述
第二阶段。在压缩层的预热训练之后,第二阶段的作用是扩展预训练的视觉编码器的输入分辨率。(1) 可训练模块。在第二阶段,我们将图像分辨率从224×224扩展到448×448。整个视觉编码器经过训练,其他参数frozen。

第三阶段。在扩展了视觉编码器的主要输入分辨率后,我们最终使用自适应视觉编码策略训练视觉模块,该策略可以进一步适应任何宽高比的高分辨率输入。(1) 可训练模块。在第三阶段训练中,压缩层和视觉编码器都经过训练以适应语言模型嵌入空间。LLM保持冻结状态,以避免因相对低质量的预训练数据而干扰。(2) 数据。与之前只有图像字幕数据的阶段不同,在高分辨率预训练阶段,我们额外引入了OCR数据来增强视觉编码器的OCR能力。

在这里插入图片描述

4.3 RLAIF-V

在这里插入图片描述
MLLM通常容易出现幻觉问题,产生与输入图像不符的反应。这个问题极大地限制了MLLM的广泛应用。为了解决幻觉问题,我们采用了最近的RLAIF-V[112]方法(图4),其中关键是从开源模型中获得可扩展的高质量反馈,用于直接偏好优化(DPO)

Direct Preference Optimization.
在收集到高质量的人工智能反馈后,我们通过DPO方法进行偏好学习。DPO算法需要对偏好对进行训练,其中一个样本yw比另一个样本yl更受欢迎。为了组成偏好数据集,我们从每个响应集Y={y1,y2,··,yn}中随机抽样,并根据它们的相对得分确定(yw,yl)。最后,我们从3K个独特的图像中构建了一个由6K个偏好对组成的偏好数据集,用于偏好学习。


http://www.ppmy.cn/server/131560.html

相关文章

鸿蒙--知乎评论

这里我们将采用组件化的思想进行开发 在开发中默认展示的是首页也就是 pages/Index.ets页面 这里存放的是所有页面的配置文件,类似与uniapp中的pages.json 如果我们此时要更改默认显示Zh

Mac上功能全面,免费好用的解压缩工具

在日常使用Mac的过程中&#xff0c;相信不少朋友都有解压缩需求&#xff0c;目前存在的解压缩软件可以说各种各样&#xff0c;但是有的收费&#xff0c;有的解压速度慢&#xff0c;有的解压类型不全&#xff0c;各有优缺点&#xff0c;挑选起来眼花缭乱&#xff0c;挑来挑去也没…

广播地址 255.255.255.255 和 192.168.1.255 能不能跨路由器

广播地址 255.255.255.255 和 192.168.1.255 在跨交换机的情况上有所不同&#xff1a; - 255.255.255.255&#xff1a; - 这个地址是全局广播地址。通常情况下&#xff0c;它不能跨路由器&#xff0c;也就无法跨多个不同网络的交换机。路由器的作用是划分广播域&#xff0c;会…

基于yolov8、yolov5的鸟类检测系统(含UI界面、数据集、训练好的模型、Python代码)

项目介绍 项目中所用到的算法模型和数据集等信息如下&#xff1a; 算法模型&#xff1a;     yolov8、yolov8 SE注意力机制 或 yolov5、yolov5 SE注意力机制 &#xff0c; 直接提供最少两个训练好的模型。模型十分重要&#xff0c;因为有些同学的电脑没有 GPU&#xff0…

LangChain——Embedding 智谱AI

Embedding 嵌入 Embedding嵌入创建一段文本的矢量表示。这很有用&#xff0c;因为这意味着我们可以考虑向量空间中的文本&#xff0c;并执行语义搜索之类的操作&#xff0c;在其中查找向量空间中最相似的文本片段。 LangChain 中的基类 Embeddings 提供了两种方法&#xff1a…

常见几大排序算法

排序算法是计算机科学中的基本算法&#xff0c;它们将一个无序的数组或列表按特定顺序进行排列&#xff08;如升序或降序&#xff09;。常见的排序算法可以根据其时间复杂度、空间复杂度和适用场景分类。以下是几种常见的排序算法&#xff1a; 1. 冒泡排序&#xff08;Bubble …

浅谈C++之UDP通信

基本步骤 在C中&#xff0c;可以使用标准库中的套接字API来实现UDP通信。以下是使用UDP进行通信的基本步骤&#xff1a; 1. 创建UDP服务器&#xff08;接收端&#xff09; #include <iostream> #include <cstring> // for memset #include <sys/socket.h>…

高质量SCI论文撰写及投稿丨论文选题、文献调研、实验设计、数据分析、论文结构及语言规范等----AI强大功能

科学研究的核心在于将复杂的思想和实验成果通过严谨的写作有效地传递给学术界和工业界。对于研究生、青年学者及科研人员&#xff0c;如何高效撰写和发表SCI论文&#xff0c;成为提升学术水平和科研成果的重要环节。系统掌握从选题到投稿的全过程&#xff0c;提高论文撰写效率与…