Qwen2-VL论文阅读笔记

news/2024/9/28 19:10:38/

第1章介绍
论文亮点:
1、 the Naive Dynamic Resolution mechanism
2、Multimodal Rotary Position Embedding (M-RoPE) 2D Rotary Position Embedding
3、统一图片和视频的处理范式、增i强视觉感知能力
4、LVLMs的scaling laws:2B、8B、72B
5、 dynamic resolution training

通用的方法: visual encoder→cross-modal connector→LL
其他提高的方法有
larger model architectures
higher-resolution images
advanced techniques:MoE、 model ensembles、more sophisticated connectors

qwen2vl的能力:
State-of-the-art understanding across various resolutions and aspect ratios
Comprehension of extended-duration videos (20 min+)
Robust agent capabilities for device operation

第2章方法
675M的ViT适配不同大小的LLM

Naive Dynamic Resolution - 用2D-RoPE取代绝对位置编码 推理阶段的序列长度是可控的 【推理阶段的不定长的vision tokens是怎么处理的?】
224 * 224 分辨率 在 patch_size=14 的ViT下 会被处理成 224/14/2 = 8 8x8=64 64 + 2 成为 66个tokens

Multimodal Rotary Position Embedding (M-RoPE) - temporal, height, and width
视频:序列帧
In scenarios where the model’s input encompasses multiple modalities, position numbering for
each modality is initialized by incrementing the maximum position ID of the preceding modality by one.

Unified Image and Video Understanding
每秒视频分成两帧、 综合 深度为2的 3D convolutions、允许模型处理 3D tubes、从而处理更多视频帧而不用增加序列长度。
保持一致性、每张图片被视为两个相同帧。
动态调整每个视频帧的分辨率,每个视频的tokens限制在 16384。

2.2 训练
遵从qwenvl的三阶段:用image-text单独训练ViT、解冻所有参数训练理解能力、最后冻住ViT只训练LLM遵循格式化数据
训练数据集:image-text pairs, ocr, 交错的图文文章,vqa、video对话,图片知识等

预训练初始阶段:600B tokens

第一个预训练阶段:600B tokens 位置编码:RoPE-2D ViT (DFN派生)
预训练阶段目的: 学习 图文关系、通过ocr的图像文本上下文识别、图片分类任务。 有助于核心 视觉文本相关性和对齐能力训练。

第二个预训练阶段:800B tokens的 图像相关数据 增加图像文本的细微理解;视觉问答数据集增强了 图片问答的能力。多任务数据集、纯文本数据集同样重要。

整个预训练、用了1.4Ttokens,有图片、也有文本。 但在训练阶段,只用文本监督。【怎么理解? 我理解这是第三个阶段、格式学习阶段】

微调阶段,用ChatML格式 instruction-following 包括文本和多模态对话数据(image question-answering, document
parsing, multi-image comparison, video comprehension, video stream dialogue, and agent-based interactions)

2.2.1 数据格式
Dialogue Data
<|vision_start|> and <|vision_end|>
<|im_start|> and <|im_end|>

Visual Grounding
<|box_start|> and <|box_end|> “(Xtop left, Ytop left),(Xbottom right, Ybottom right)”. [0, 1000)
<|object_ref_start|> and <|object_ref_end|>

Visual Agent.【UI Operations, Robotic Control, Games, and Navigation】
analyzes the observations, performs reasoning and planning, executes the selected actions, and interacts
with the environment to acquire new observations

2.3 多模态模型基础设施
存储、并行、 软件(torch 2.1.2, cuda 11.8)
flash attention、LN、RMSNorm、Adam

3 实验


qwenvl 和 qwen2vl的配置对比
“max_position_embeddings”: 8192,32768
“num_attention_heads”: 32,28
“num_hidden_layers”: 32,28
“architectures”: [
“QWenLMHeadModel” Qwen2VLForConditionalGeneration
],
“torch_dtype”: “bfloat16”,bfloat16
transformers_version": “4.31.0”,4.41.2
“image_size”: 448, 无
“patch_size”: 14,14
“in_chans”: 无,3,
mrope_section 无 ,有


原生动态分辨率:不同大小图片被转换为动态数量的tokens、最小只占4个tokens

多模态旋转位置嵌入 M-ROPE:将原始旋转嵌入分解为代表时间、高度和宽度的三个部分。(时间、高度、宽度)

捕捉和整合 一维文本序列、二维视觉图像以及三维视频的位置信息。

qwen-vl-utils

224224分辨率 通过 patch_size为14的ViT得到 1616的patches,然后用MLP将22压缩成1个token、前后拼上<|vision_start|>、<|vision_end|> 得到 88+2 = 66个tokens。

论文: a vision transformer for any aspect ratio and resolution

推理阶段:不同分辨率的图像被打包成一个序列,具有打包长度控制以限制GPU内存使用。 [最长的图像token是 16384 个]

2D-RoPE 获得两个维度的图片位置信息

统一图片和视频理解:为了一致性,每个图像都被视为两个相同帧; 图片和视频混合训练

平衡长视频处理的计算需求与整体训练效率,我们动态调整每个视频帧的分辨率,限制每个标记的总数 视频到16384

训练模式和qwenvl一样、三阶段。先训vit、再全训、最后训llm


http://www.ppmy.cn/news/1530871.html

相关文章

SpringBoot之登录校验关于JWT、Filter、interceptor、异常处理的使用

什么是登录校验&#xff1f; 所谓登录校验&#xff0c;指的是我们在服务器端接收到浏览器发送过来的请求之后&#xff0c;首先我们要对请求进行校验。先要校验一下用户登录了没有&#xff0c;如果用户已经登录了&#xff0c;就直接执行对应的业务操作就可以了&#xff1b;如果用…

甘蔗茎节检测系统源码分享

甘蔗茎节检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vis…

List几种遍历方法速度

准备数据 ArrayList<Integer> list new ArrayList<Integer>();for (int i 0; i < 100000000; i) {list.add(i); }1.for循环 for (int i 0; i < list.size(); i) {Integer str list.get(i); }2.for-each循环 for (Integer vo:list) {}3.Lambda list.forEa…

为人机交互保持预见性丨基于G32A1445的T-BOX应用方案

T-BOX是一种集成了通信、计算和控制功能的车载信息处理终端&#xff0c;通过车辆与云端、移动网络等进行数据交互&#xff0c;用于车、人、外部环境的互联互通&#xff0c;支持车辆定位、车载通信、远程控制、故障诊断、数据传输、紧急呼叫等功能&#xff0c;帮助车辆实现更加智…

机器学习之非监督学习(二)异常检测(基于高斯概率密度)

机器学习之非监督学习&#xff08;二&#xff09;异常检测&#xff08;基于高斯概率密度&#xff09; 0. 文章传送1.案例引入2.高斯正态分布3.异常检测算法4.异常检测 vs 监督学习5.算法优化6.代码实现 0. 文章传送 机器学习之监督学习&#xff08;一&#xff09;线性回归、多…

Vue.js与Flask/Django后端配合:构建高效Web应用

在当今的Web开发领域&#xff0c;前后端分离已成为一种主流的开发模式。Vue.js 作为前端框架的佼佼者&#xff0c;以其轻量级、响应式数据绑定和组件化的特点&#xff0c;受到了广大开发者的喜爱。而后端方面&#xff0c;Flask 和 Django 则是 Python 社区中非常流行的两个Web框…

WPF入门教学十一 数据绑定基础

WPF&#xff08;Windows Presentation Foundation&#xff09;中的数据绑定是一种强大的机制&#xff0c;它允许UI元素与数据源之间自动同步。以下是WPF数据绑定基础的详细说明&#xff1a; 数据绑定的基本概念 数据源&#xff1a;可以是任何对象&#xff0c;如集合、数据库、…

【前端必读】二、使用 Cursor 的基本功能全教程(快捷键及其他功能)

【前端必读】一、使用 Cursor 的基本功能全教程&#xff08;使用与安装&#xff09; 【前端必读】二、使用 Cursor 的基本功能全教程&#xff08;快捷键及其他功能&#xff09; 快捷键及其功能 Cursor 提供了一些快捷键来使用相应的 AI 功能&#xff1a; CTRL/CMD L&#xf…