当前位置:首页 » 《休闲阅读》 » 正文

MiniCPM-V | 端侧GPT4V level的多模态大模型

18 人参与  2024年10月06日 14:00  分类 : 《休闲阅读》  评论

点击全文阅读


 论文标题:MiniCPM-V: A GPT-4V Level MLLM on Your Phone

论文模型版本:MiniCPM-Llama3-V 2.5

论文地址:https://arxiv.org/abs/2408.01800

论文github:https://github.com/OpenBMB/MiniCPM-V

MiniCPM-V-2.6已经开源,经过测试效果确实很好,但是论文还没有出来,因此先看看v2.5

一、模型结构

视觉编码器(SigLIP SoViT-400m/14)+ compression layer + LLM(MiniCPM-2.4B)

1、Adaptive Visual Encoding

良好的视觉编码策略应该既尊重输入的原始纵横比,又保留足够的视觉细节(高分辨率),又要图像编码中的视觉标记数量应该适中,

Image Partition. 根据图像计算理想的切片数量,最佳切片数量:

假设最佳切片数量为N,行切m,列切n,一共m*n=N,使用分数评估S:

有个问题就是N为素数,(m,n)是(1,N)或者(N,1),因此额外引入集合,即N-1和N+1的情况。在实际情况中,N<10, 即可支持13441344的像素(448,448)@ (3,3)。

Slice Encoding,图片切片,每个切片大小不一定符合视觉编码器的输入,比如可能切成448,视觉编码器的输入可能是336,因此将切片resize到尽可能匹配视觉编码器的输入(尽量保持长宽比,但是不一定就是规定的模型输入size)。然后通过对位置嵌入进行插值适应切片的大小,即将VIt的1D position embedding,还原成2D,然后进行插值,使得position embedding符合slice的size:

Token Compression,每个切片都编码为1024个tokens,10个切片就是10K个视觉token,采用压缩模块,由cross-attention和queries组成。在实际中,每个切片被压缩到96 token(MiniCPM-Llama3-V 2.5),

Spatial Schema,使用<slice></slice>包裹切片,\n区分切片的每行

二、训练

1、Training

三个阶段。第一阶段,仅仅训练压缩层,图像输入为224,训练数据为下面筛出200M:

第二阶段,训练视觉编码器,图像为448*448,从上表中重新选200M Image caption数据训练。

第三阶段,训练压缩层和视觉编码器,使用上面提到的Adaptive Visual Encoding策略,适应任意像素图像长宽比。此外,引入OCR数据提升模型效果。

Caption Rewriting:网络图像文本对可能会遇到caption数据的质量问题,包括不流畅的内容、语法错误和重复的单词。为了解决问题,引入了用于低质量字幕重写的辅助模型。重写模型将原始标题作为输入,并要求将其转换为问答对。此过程的答案将被采用作为更新的caption。在实践中,我们利用 GPT-4 来标注少量种子样本,然后将其用于微调 LLM 以进行重写任务。

Data Packing:不同数据源的样本通常具有不同的长度。批次间样本长度的巨大差异将导致内存使用效率低下以及OOM错误的风险。将多个样本打包成一个固定长度的序列。通过截断序列中的最后一个样本,确保序列长度的一致性,从而促进更一致的内存消耗和计算效率。同时修改position ids and attention masks以避免不同样本之间的干扰。在实验中,在预训练阶段带来2~3倍的加速。

2、Supervised Fine-tuning

训练所有模型参数。

第 1 部分侧重于增强模型的基本识别能力,而第 2 部分则旨在增强模型生成详细响应和遵循人类指令的能力。具体来说,第 1 部分数据由传统的 QA/字幕数据集组成,响应长度相对较短,这有助于增强模型的基本识别能力。相比之下,第 2 部分包含的数据集具有文本或多模式环境中的长响应和复杂交互。

3、RLAIF-V

从开源模型中获取可扩展的高质量反馈以进行直接偏好优化(DPO)。

第一步:“Response Generation.” 

第二步:“Feedback Collection.” 

第三步:“Direct Preference Optimization.” ,通过DPO方法进行偏好学习。 DPO 算法需要对偏好对进行训练,其中一个样本 yw 优于另一个样本 yl。为了组成偏好数据集,从每个响应集中随机采样对 Y = {y1, y2, · · · , yn},并根据它们的相对分数确定 (yw, yl)。最后,构建了一个由 3K 个独特图像中的 6K 个偏好对组成的偏好数据集,用于偏好学习。

三、端侧部署

“Quantization:4-bit quantization strategy” +“Memory Usage Optimization.” +“Compilation Optimization.”  + “Configuration Optimization.”  + “NPU Acceleration.”

四、实验

模型配置:

 我们重点关注数据构建、模型结构、训练策略、模型结果,因此忽略端侧部署内容。


点击全文阅读


本文链接:http://zhangshiyu.com/post/168295.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1