原生多模态

“原生多模态”(Native Multimodality) 与传统的“拼接式多模态”(如早期的 BLIP-2, BLIP, 或早期的 LLaVA 架构)有着本质的区别。

在传统的架构中,通常是:图像编码器 (Visual Encoder) -> 投影层 -> 文本 LLM。图像被压缩成特征向量,然后作为“特殊的文本 token”插入到 LLM 的输入中。这种方式下,LLM 并没有真正“看到”图像,它只是在处理一种类似文本的符号序列。

原生多模态(如 Qwen2-VL, Qwen3.5 等所采用的架构) 旨在让模型在架构层面同时理解文本、图像、视频和音频。其核心实现技术包括以下几个关键点:

1. 动态高分辨率图像分块 (Dynamic High-Resolution Image Patching)

这是原生多模态最显著的视觉架构升级。

  • 传统做法:将图片缩放到固定尺寸(如 336x336),然后切分成固定数量的 patch(例如 4x4=16个 patch)。这导致小细节丢失,大图片也被压缩,无法区分不同分辨率的图片。
  • 原生多模态做法
    • 保留原始分辨率:模型不再强制将图片缩放。
    • 动态分块:根据图片的原始宽高比和分辨率,动态决定切分成多少个 patch。例如,一张 4K 图片可能被切分成数千个 patch,而一张小图片可能只有几十个。
    • 2D 位置编码:由于 patch 的数量不再固定,传统的 1D 位置编码失效。原生多模态模型通常使用 2D Rotary Positional Embeddings (2D RoPE) 或类似机制,让模型能够感知每个 patch 在原始图像中的相对空间位置(行和列)。
    • 结果:模型可以处理任意分辨率、任意纵横比的图片,并且能捕捉到极其细微的细节(如文字、微小物体)。

2. 统一的 Tokenizer 或跨模态投影 (Unified Representation)

为了让不同模态的数据能在同一个 Transformer 网络中流动,必须将它们映射到统一的向量空间。

  • 视觉部分:使用 Vision Transformer (ViT) 或类似的编码器将像素转换为视觉 token。
  • 音频部分:使用类似 Whisper 或 AST 的编码器将音频波形转换为频谱图特征,再转化为音频 token。
  • 文本部分:使用分词器(Tokenizer)将文本转化为 token。
  • 关键创新原生模型通常使用一个可学习的投影层(Projection Layer)或适配器(Adapter),将视觉 token 和音频 token 映射到与文本 token 相同的嵌入空间(Embedding Space)。
    • 重要的是,这个映射过程不仅仅是简单的线性投影,往往结合了交叉注意力机制(Cross-Attention)门控机制,让模型知道何时应该关注视觉信息,何时关注文本信息。

3. 混合注意力机制与长上下文支持 (Hybrid Attention & Long Context)

由于原生多模态可以处理动态数量的视觉/音频 token,加上文本 token,序列长度可能会变得非常长。

  • MQA/GQA:继续使用 Multi-Query Attention 或 Grouped-Query Attention 来加速推理,因为视觉 token 的数量可能远大于文本 token。
  • Flash Attention:原生多模态模型高度依赖 Flash Attention 技术来高效处理大规模注意力矩阵,确保在处理长视频或高分辨率图片时显存不爆炸。
  • Token 压缩/选择:有些原生架构会在输入 LLM 之前,通过一个专门的模块(如 NaViT 或类似结构)对视觉 token 进行预处理,去除冗余信息,只保留关键特征,从而减少 LLM 的计算负担。

4. 时间维度的处理 (For Video/Audio)

对于视频和音频,原生多模态还需要处理时间连续性

  • 3D 位置编码:对于视频,除了 2D 空间位置,还需要加入时间位置编码(Temporal Positional Embedding)。
  • 帧采样策略:原生模型通常支持动态帧采样,根据视频时长和内容重要性决定采样的帧数,而不是固定采样 8 帧或 32 帧。
  • 音频时序编码:类似地,音频数据会保留其时间序列信息,并通过专门的编码器转换为时序 token。

5. 统一预训练目标 (Unified Pre-training Objectives)

原生多模态模型通常不是先预训练好 LLM,再微调多模态。而是从头开始在大规模多模态数据上联合预训练

  • 多任务学习:模型在预训练阶段同时学习:
    • 文本自回归生成(Next Token Prediction for Text)
    • 图像描述生成(Image Captioning)
    • 视觉问答(VQA)
    • 音频转录与理解(ASR & Audio QA)
    • 视频动作识别
  • 共同损失函数:所有这些任务的损失函数被加权合并,使得模型能够共享底层的 Transformer 权重,从而让文本理解能力增强视觉感知,视觉感知也反哺文本推理。

总结:原生 vs. 传统

特性 传统多模态 (如 LLaVA v1.5) 原生多模态 (如 Qwen2-VL, Qwen3.5)
图像输入 固定分辨率,固定 Patch 数 动态分辨率,动态 Patch 数
位置编码 1D 线性位置编码 2D RoPE (空间) + 时间编码 (视频)
模态融合 视觉特征拼接在文本后 统一嵌入空间,深度交叉注意力
视频处理 通常仅采样少数几帧 动态帧采样,时序信息保留完整
通用性 主要针对图像+文本 文本+图像+音频+视频 统一架构

为什么 Qwen2.5 是纯文本,而 Qwen2-VL/Qwen3.5 是多模态?

  • Qwen2.5 是纯文本模型,它只处理 Token 序列。
  • Qwen2-VL (及 Qwen3.5) 在 Qwen2.5 的架构基础上,增加了视觉/音频编码器多模态投影层,并进行了专门的预训练,从而实现了“原生多模态”。

如果想实现一个简单的原生多模态原型,可以使用 Hugging Face 的 transformers 库中的 AutoModelForVision2Seq 类,它会自动处理上述的动态分块和 2D RoPE 等复杂细节。

Qwen2-VL 技术

Qwen2-VL 实现多模态的核心在于其原生多模态架构,特别是它解决了传统多模模型在分辨率适应性和视频理解上的痛点。

以下是 Qwen2-VL 实现多模态的具体关键技术点:

1. 动态高分辨率图像预处理 (Dynamic High-Resolution Resolution)

这是 Qwen2-VL 相比前代(如 Qwen-VL)最大的改进之一。

  • 问题:早期的多模态模型通常将图像缩放到固定分辨率(如 336x336),这会导致小文字、微小物体丢失细节,或者无法处理任意长宽比的图片。
  • Qwen2-VL 的做法
    • 图像块(Image Patches):它不再强制将图片缩放为固定大小,而是根据图片的原始分辨率,动态地将其切分成不同数量的图像块(Patches)。
    • 高分辨率保留:通过这种方式,模型可以保留图像的原始细节,无论是超高清图片还是视频帧,都能被更精确地编码。
    • 2D 位置编码:由于图像块的数量和排列不再固定,Qwen2-VL 引入了 2D Rotary Positional Embeddings (2D RoPE)。这使得模型不仅能理解单个 Patch 的内容,还能理解其在原始图像中的相对空间位置(行和列),从而增强空间推理能力。

2. 统一的视觉编码器与 LLM 连接器 (Unified Visual Encoder & Connector)

Qwen2-VL 采用了一种类似“多模态大模型”的标准架构,但进行了优化:

  • 视觉编码器 (Vision Encoder):使用高效的视觉 Transformer 架构(通常是基于 SigLIP 或类似结构的改进版),将图像或视频帧转换为视觉 Token。
  • 投影层 (Projection Layer):视觉 Token 不能直接输入到语言模型(LLM)中,因为它们的嵌入空间(Embedding Space)不同。Qwen2-VL 使用了一个可学习的线性投影层MLP(多层感知机),将视觉 Token 映射到与文本 Token 相同的维度空间中。
  • Token 融合:视觉 Token 和文本 Token 被拼接在一起,作为输入序列送入 Qwen 的基座语言模型(Base LLM)。

3. 原生视频理解 (Native Video Understanding)

Qwen2-VL 不仅仅是处理单张图片,它原生支持视频输入:

  • 帧采样策略:对于视频,模型会动态采样帧。
  • 时间位置编码:类似于 2D 空间编码,Qwen2-VL 引入了时间位置编码,让模型能够感知视频中事件发生的先后顺序持续时间
  • 连续时间建模:通过处理连续的图像块序列,模型可以捕捉动作的连贯性,而不仅仅是关键帧。

4. 基于 Qwen2.5 的语言底座

  • 强大的语言模型:Qwen2-VL 的“大脑”是 Qwen2.5 语言模型。这意味着它继承了 Qwen2.5 在指令遵循数学推理代码生成和**长上下文支持(128K)**方面的强大能力。
  • 多语言支持:由于底座是 Qwen2.5,Qwen2-VL 也支持 29 多种语言的多模态交互(例如,你可以用中文上传一张英文路牌图片,并让模型翻译它)。

5. 训练数据与微调策略

  • 多阶段训练
    1. 预训练:使用大规模图文对数据进行预训练,学习视觉和语言的联合表示。
    2. 指令微调 (SFT):使用高质量的图文问答、OCR、视觉定位等数据进行微调,提升其在具体任务上的表现。
  • 数据多样性:训练数据涵盖了自然图像、文档、图表、数学公式、视频等多种模态,确保模型在各种场景下都能鲁棒地工作。

总结:Qwen2-VL 的核心优势

特性 传统多模态模型 Qwen2-VL
图像分辨率 固定分辨率(如 336x336) 动态高分辨率,保留细节
位置编码 1D 位置编码 2D RoPE,精确空间感知
视频处理 通常仅处理关键帧或短片段 原生视频理解,支持长时间上下文
语言底座 较弱或专用编码器 Qwen2.5 语言模型,强大的推理和指令跟随能力
应用场景 通用图像描述 OCR、数学公式识别、图表分析、视频理解、复杂推理

简单来说,Qwen2-VL 是通过保留高分辨率图像细节 + 2D 空间位置感知 + 强大的 Qwen2.5 语言推理能力,实现了对图像和视频的深度理解。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐