VLM 系列——Qwen2.5 VL——论文解读——前瞻(源码解读)

引言

        20250212苹果突然被爆将与阿里巴巴合作为中国 iPhone 用户开发人工智能功能。苹果从 2023 年就已经开始测试各类中国头部 AI 大厂开发的 AI 模型。去年,原本选定百度作为主要合作伙伴,但双方的合作并不顺利,百度为“Apple Intelligence”开发模型的进展未达苹果标准。近几个月苹果开始考虑其他选项,对腾讯、字节跳动、阿里巴巴以及 DeepSeek 开发的模型进行评估。最终,阿里被苹果选中。

解读:“阿里是当下苹果最好的选择,甚至可能没有之一”

优势

1)用户优势:阿里巴巴掌握的中国消费者个人数据比百度更多,因此能帮助“苹果智能”为中国用户提供更个性化的服务。

2)模型能力够强、开源社区认可:Qwen 系列模型主打全尺寸、全功能。除了旗舰模型闭源商用外,Qwen 小到手机也能运行的 1.5B(iPhone 的内存限制,大概就支持 1-3B 参数的模型端侧运行),大到 110B,基本上覆盖了开源社区的绝大多数需求,因而在全球开源社区中影响力很大。类 Llama 架构,能很好与各种 Infra 对接(苹果工程师也容易对接)。

3)云业务增加优势:端侧模型想要实现更好的功能,也需要结合用户数据做本地化训练,而这部分数据也不可能出境。阿里云做支持部署和训练,从商务、客户服务、技术支持等维度看,阿里云具备全面的团队支持。

deepseek?

1)模型的尺寸不全、云 Infra 链路、现实商用方向的对齐。

2)最新的 Qwen2.5-Max 其实是赢过 DeepSeek V3 的。非推理模型适用:用户常用场景“长输入、短输出”的场景,比如总结一篇文章主要内容、对多个信源进行总结等,且价格便宜。

PS:Deep seek o1/R1 推理模型虽然更强,但这价格贵、更适用于“短输入、长输出”。

测试

官方特性示例

1)万物识别

大幅扩大了可识别的图像类别量级:不仅包括植物、动物、著名山川的地标,还包括影视作品中的 IP,以及各种各样的商品。

2)视觉定位

Qwen2.5-VL 可以通过生成 bounding boxes 或者 points 来准确定位图像中的物体,并能够为坐标和属性提供稳定的 JSON 输出。

3)结构化输出

对于发票、表单、表格等数据,支持其内容的结构化输出,惠及金融、商业等领域的应用。

4)理解长视频和捕捉事件

引入了动态帧率(FPS)训练和绝对时间编码技术。这样一来,模型不仅能够支持小时级别的超长视频理解,还具备秒级的事件定位能力。

5)Agent

直接作为一个视觉 Agent,可以推理并动态地使用工具,初步具备了使用电脑和使用手机的能力。

Qwen2.5 VL!Qwen2.5 VL!Qwen2.5 VL! | Qwen

技术细节

PS:技术报告未出,这里只有公开blog 和coding来展开,不涉及训练数据、训练细节。主要是如下新特性对应的细节,qwen2-vl 见我的相关博客:VLM 系列——Qwen2 VL——论文解读_qwen vlm-优快云博客

        与 Qwen2-VL 相比,Qwen2.5-VL 增强了模型 对 空间尺度(动态原图输入&非归一化定位框)和 时间(动态fps绝对实现编码)的感知能力,并进一步简化了网络结构(ViT 架构与LLMs一致,采用了RMSNormSwiGLU 结构,但是是全注意力+窗口注意力交替VIT)以提高模型效率。

        ps: 下图和官方图略有区别,见红色个人理解部分,欢迎讨论。其中需要注意真实的代码实现也不是这么算的,而是秒级别的一个整数,可以看本文后面的内容。

空间尺度

1)动态地将不同尺寸的图像转换为不同长度的 token。

2)直接使用图像的实际尺寸来表示检测框和点等坐标,而不进行传统的坐标归一化,这使得模型能够直接学习图像的尺度。

*)如果做定位,需要自己调用qwen util库的的 smart_resize 函数获得最终resieze 后的分辨率,这个才是最终输入模型的,然后检测结果也是基于这个的。

时间尺度

1)引入了动态 FPS (每秒帧数)训练。测试时可以自己调节参数。

2)绝对时间编码,将 mRoPE id 直接与时间流速对齐。这使得模型能够通过时间维度 id 的间隔来学习时间的节奏。

*-1)他只具备最小到秒级别定位,所以注意输入fps(最大2)\nframe(介于模型配置文件外,还要注意不要大于2*视频之间)参数。

*-2)官方图可能是错的:一方面真实计算不是这个逻辑,另一方面及时是这个逻辑也是不对的。

*-3)关于源码:

    用户设定:

    fps(每秒帧数):视频的帧率,设定为 1。这意味着每秒处理一帧。通过utils库的smart_nframes转换为video_sample_fps,然后再通过Transformers 源码qwen2.5vl 的Qwen2_5_VLProcessor 函数转换为second_per_grid_ts。

    tokens_per_second: 配置文件写死为2,源码看其实和temporal_patch_size是一个东西,因为second_per_grid_ts仅仅是两帧间的间隔是一帧长度,最终位置编码需要三个帧之间的间隔两个帧长度。

    temporal_patch_size:构成一个时间片段的帧数。在这里是 2 帧。对应输入3dcnn 里面的维度为2*Chanel*height*weight。

    计算来的:

    interval:时间位置 ID 的步长,计算公式为 tokens_per_second * temporal_patch_size / fps。在这个例子中,25 * 2 / 1 = 50。这意味着每个时间片段在时间位置 ID 上将有 50 的差异。

    second_per_grid_ts = [self.image_processor.temporal_patch_size / tmp for tmp in fps] fps 其实是video_sample_fps_list, 是根据用户的输入n-frame 或者fps(还需要min max frames) 算出来的。

    time_tensor = expanded_range * second_per_grid_t * self.config.vision_config.tokens_per_second

视觉编码器

1)从头开始训练了一个原生动态分辨率的 ViT,包括 CLIP、视觉-语言模型对齐和端到端训练等阶段。

2)为了解决多模态大模型在训练和测试阶段 ViT 负载不均衡的问题,引入了窗口注意力机制,有效减少了 ViT 端的计算负担。 ViT 设置中,只有四层是全注意力层,其余层使用窗口注意力。最大窗口大小为 8x8,小于 8x8 的区域不需要填充,而是保持原始尺度,确保模型保持原生分辨率。

3)简化整体网络结构,使 ViT 架构与 LLMs 更加一致,采用了 RMSNorm 和 SwiGLU 结构。

直观对比qwen2-vl 和 qwen2.5vl 视频帧编码

### Qwen2.5-VL 架构与工作机制 Qwen2.5-VL 是一个多模态模型,旨在处理图像和文本的联合输入并生成文本输出。此模型特别强调增强视觉-语言模型对世界的感知能力,在任何分辨率下都能有效运作[^3]。 #### 架构概述 Qwen2.5-VL 的架构融合了先进的视觉编码器和强大的语言解码器: 1. **视觉编码器**:采用高效的卷积神经网络(CNN)或Transformer-based结构来提取图像特征。这些特征被映射到高维空间中表示复杂的视觉模式。 2. **跨模态交互层**:通过注意力机制实现图像特征向量与文本嵌入之间的深度融合。这种设计允许模型理解两者间的关系,并促进更精确的信息传递。 3. **语言解码器**:基于自回归变换器(Autoregressive Transformer),负责根据给定提示生成连贯且有意义的回答。它能够接收来自前一层的综合表征作为条件输入,从而指导最终输出序列的构建过程。 ```mermaid graph LR; A[图像输入] --> B(视觉编码器); C[文本输入] --> D(文本嵌入); B --> E{跨模态<br>交互层}; D --> E; E --> F(语言解码器); F --> G[文本输出]; ``` #### 工作机制详解 当接收到一对图片加文字描述的任务时,Qwen2.5-VL 将按照如下流程执行推理操作: - 图像数据先经过预处理阶段转换成适合送入视觉编码器的形式; - 文字部分则会被转化为相应的词向量表达; - 接着两个不同来源的数据流会在跨模态交互模块相遇,这里发生的计算使得每种类型的特征都能够相互补充和支持对方的理解; - 经过充分交流后的混合信号再传送给语言解码器,后者依据上下文环境逐步预测下一个最有可能出现的目标单词直到整个句子构造完毕为止; 上述过程中涉及到的关键技术包括但不限于多头注意机制、位置编码以及残差连接等,这些都是为了确保信息流动顺畅无阻并且可以捕捉远距离依赖关系所必需的设计要素[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TigerZ*

你点滴支持,我持续创作,羞羞

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值