Qwen2-VL
https://github.com/QwenLM/Qwen2-VL
结构:
整体:6.75 亿个参数的 Vision Transformer (ViT) (Dosovitskiy et al., 2021)+ Qwen2
预处理阶段:
- 朴素动态分辨率支持:Naive Dynamic Resolution 机制,使模型能够将不同分辨率的图像动态处理成不同数量的视觉标记。
- 不同分辨率的图像被打包到一个序列中,并控制打包长度以限制 GPU 内存的使用。此外,为了减少每张图像的视觉标记,在 ViT 之后采用一个简单的 MLP 层将相邻的 2 × 2 个标记压缩成一个标记,特殊的 <|vision_start|> 和 <|vision_end|> 标记放置在压缩的视觉标记的开头和结尾。因此,分辨率为 224 × 224 的图像,使用 patch_size=14 的 ViT 编码,在进入 LLM 之前将被压缩为 66 个标记。
编码阶段:
主要工作集中在视觉编码器:
- 位置嵌入分解到零件(2D 旋转位置嵌入 (RoPE)使模型能够更好地捕获不同空间尺度的信息)
- 多模态旋转位置嵌入(M-RoPE)使用单独的组件来表示时间和空间信息
- 3D 卷积(Carreira 和 Zisserman,2017 年)来处理视频输入,使模型能够处理 3D 管而不是 2D 补丁
解码/推理阶段:
量化支持情况:提供两种类型的量化:AWQ 和 GPQ
训练:
三阶段训练方法。在第一阶段,我们只专注于训练 Vision Transformer (ViT) 组件,利用大量的图像-文本对语料库来增强大型语言模型 (LLM) 中的语义理解。在第二阶段,我们解冻所有参数,并使用更广泛的数据进行训练,以实现更全面的学习。在最后阶段,我们锁定 ViT 参数并使用教学数据集对 LLM 进行独家微调
微调:
指令微调阶段采用 ChatML (Openai, 2024) 格式来构建指令跟踪数据。
能力:
图像:可以处理任意图像分辨率
视频:理解 20min+ 视频
音频:没有具体做,但是在视频理解的几个主要数据集上 MVBench(Li 等人,2024 年)、PerceptionTest(Patraucean 等人,2024 年)和 EgoSchema(Mangalam 等人,2023 年)上取得了最佳性能
Agent(FunctionCall):可以与手机、机器人等设备集成,根据视觉环境和文本指令进行自动操作