多模态大模型 —— Qwen2-VL 精读笔记

文章链接:https://arxiv.org/pdf/2409.12191

发布时间:2024.09

Copyright (c) Wang-Luning. All Rights Reserved.

Qwen2-VL包括了2B、7B、72B三个版本(vision encoder都是675M,主要是LLM backbone的大小不同)。

image-20251029110522911

Qwen2-VL提供了统一的视频和图像理解框架,能够混合输入图像和视频数据进行理解。架构上总体遵循了Qwen-VL的设计(adapter由cross-attention改成了linear)其主要创新点包括:

 

Qwen2-VL采用了和Qwen-VL一致的三阶段训练方式,大幅提升了数据质量和数据规模。

 

附:2D RoPE

参考文献:https://www.spaces.ac.cn/archives/10352

image-20251030130737691

上图为原博客的2D RoPE实现方式,也即x,y两个维度的位置信息的施加是交错(interleave)的。例如位置为(x,y)的patch的表征向量为[q0,q1,q2,q3,q4,q5,q6,q7],则[q0,q1]施加xθ0[q2,q3]施加yθ1[q4,q5]施加xθ2[q6,q7]施加yθ3。可见,x,y维度使用的{θi}是一套,两个维度交错施加到表征向量上。这也说明了当text和image混合输入时,text的2D坐标应该写成(x,x),也即两个维度的坐标值相同,这样就能完全和1D RoPE等价了。3D RoPE是类似的。

而实际上在Qwen2-VL的MRoPE中,做法和标准3D RoPE那种交错的形式不太一样,其是直接把3个维度的位置信息分别施加给了表征向量顺序分块的3个连续段,而不是交错的。以2D为例,设表征向量为[q0,q1,q2,q3,q4,q5,q6,q7],则[q0,q1]施加xθ0[q2,q3]施加xθ1[q4,q5]施加yθ2[q6,q7]施加yθ3

image-20251030133153655

这种做法也沿用到了Qwen2.5-VL中。但Qwen3-VL指出这种顺序分块划分的方式(例如按照时间、高度、宽度顺序分块:[T,T,T,...,H,H,H,...,W,W,W])会导致时间信息全部分布在高频维度上(RoPE的特点是低维高频高维低频,也即i较小的那些θi更大,导致旋转更快),使得3个维度的耦合不太好。因此在Qwen3-VL改进的MRoPE中采用了原博客的interleave形式,使得对于时间、高度、宽度的全频率覆盖([T,H,W,T,H,W,...]),使得位置编码更鲁棒。