当前位置: 首页 > news >正文

Encoder-free无编码器多模态大模型EVEv2模型架构、训练方法浅尝

基于视觉编码器的MLLM的基本构成:MLLM通常由预训练的模态编码器、预训练的LLM和一个连接它们的模态接口三个模块组成。模态编码器(如:CLIP-ViT视觉编码器、Whisper音频编码器等)将原始信息(如图像或音频)压缩成更紧凑的表示。预训练的LLM则负责理解和推理处理过的信号。模态接口用于对齐不同的模态,实现异构模态表征空间的语义对齐。下面这张图概括的比较好。
基于视觉编码器的MLLM的基本构成

上述工作都是基于视觉编码器的多模态大模型,下面来看一个Encoder-free VLMs(无视觉编码器的多模态大模型)的思路,供参考。

模型架构

视觉和文本编码

极简的patch嵌入层:构建了一个极简的patch嵌入层,从零开始生成视觉嵌入,以消除预训练视觉编码器的强归纳偏差。给定一个图像输入 I ∈ R H × W × 3 I \in R^{H \times W \times 3} IRH×W×3,首先通过一个卷积层(Conv1)和高斯误差线性单元(GELU)激活函数进行处理,得到一个二维特征图。然后,再通过另一个卷积层(Conv2)来进一步处理特征图,以灵活控制计算复杂度。公式如下:

x v = Conv2 ( GELU ( Conv1 ( I ) ) ) x_v = \text{Conv2}(\text{GELU}(\text{Conv1}(I))) xv=Conv2(GELU(Conv1(I)))

其中,Conv1和Conv2分别表示两个卷积层,具有不同的步幅和输出维度。

patch嵌入层支持任意比例的图像,最多可处理约2.5M像素(即2.5K个补丁标记)。使用Qwen2.5的文本标记器将文本T编码为标记嵌入 x t x_t xt,其维度为3584。

多模态编码:为了在视觉和文本之间建立有效的交互,提出了一个分而治之的设计,通过引入模态感知组件来显式解耦关键模块。包括独立的注意力矩阵(查询、键和值)、归一化层和前馈模块,每个都有不同的参数,以适应不同模态的需求。

分而治设计

通过分而治之的架构设计,EVEv2.0能够有效地减少模态间的干扰,提高模型的训练效率和性能。

使用多头自注意力(Multi-Head Self-Attention, ATTN)来跨所有模态进行建模,以在统一特征空间中模拟跨模态关系。公式如下:

其中, Q i = x i W Q u i Q_i = x_i W_Q^{u_i} Qi=xiWQui K i = x i W K u i K_i = x_i W_K^{u_i} Ki=xiWKui V i = x i W V u i V_i = x_i W_V^{u_i} Vi=xiWVui,模态特定的查询、键和值是从各自的注意力权重矩阵 W u i W^{u_i} Wui 中派生的。

通过完全解耦架构,最小化表示空间中的干扰。每个Transformer块的总体操作定义如下:

这种设计允许在保持预训练知识的同时,独立地进行单模态编码和跨模态对应,从而实现灵活的建模模式,以理解和推理多模态信息。

视觉特征与语言输入的融合方式

从代码上看,融合时,会遍历输入序列中的每个样本,根据 IMAGE_TOKEN_INDEX 确定图像特征的插入位置。将语言输入的嵌入和图像特征按顺序拼接在一起,形成新的输入嵌入 new_input_embeds,同时更新标签 new_labels 和视觉标记掩码 visual_token_mask。

https://github.com/baaivision/EVE/blob/main/EVEv2/eve/model/eve_arch.py

训练方式

训练流程概述。PEL/WEL 表示图像块/单词嵌入层。我们首先训练图像块嵌入层,以在不同模态间建立初始对齐。之后,我们仅更新大型语言模型(LLM)内的视觉层,逐步增强视觉感知能力。值得注意的是,我们将图像分辨率从 800×800 逐步提高到 1600×1600,并保持原始图像的宽高比。最后,我们通过问答(QA)和指令数据对整个模型进行训练,以加强跨模态对应和复杂理解能力。

训练过程分为四个连续阶段。训练数据包括公开可用的图像数据集,以及表 1 中的各种问答(QA)数据集和多模态对话数据。

第2.2阶段和第3阶段的训练数据集详细信息,用于微调E
VEv2.0,FL表示过滤后的训练数据集

阶段1:DenseFusion++
  1. DenseFusion++:通过大规模的合成数据来增强模型的视觉感知能力。使用LLaVA-1.6(7B)为基础,结合多个视觉专家(如标签、检测、OCR等)来学习GPT-4V的融合策略。通过这种方式,可以在不依赖高质量标注的情况下,扩展合成数据的规模,从而提高训练效率。
阶段2:LLM引导的对齐

冻结大型语言模型(LLM)的权重,仅训练patch嵌入层。使用公开的网页数据进行训练,以防止模型崩溃并加速后续阶段的收敛。通过这种方式,确保模型在初始阶段能够快速对齐视觉和语言信息。

阶段3:视觉感知学习和视觉-文本完全对齐
  1. 视觉感知学习(Vision Perception Learning):加载LLM的权重并初始化LLM内部的视觉层。仅训练patch嵌入层和视觉层,而冻结Qwen2.5模型,以便在大规模合成数据上进行视觉表示的学习。通过逐步增加数据量和图像分辨率,促进视觉感知能力的提升。

  2. 视觉-文本完全对齐(Vision-Text Fully-aligning):更新整个模型架构以进一步改善图像-文本的关联。使用多样化的指令数据集进行训练,以增强模型的视觉感知能力和视觉-语言对齐。通过这种方式,确保模型在处理复杂的多模态任务时能够表现出色。

阶段4:监督微调

进一步优化模型以理解复杂的指令和对话模式。使用高质量的指令数据集进行训练,以提高模型在实际应用中的表现。通过这种方式,确保模型能够处理各种真实世界的应用场景。

实验效果

参考文献:EVEv2: Improved Baselines for Encoder-Free Vision-Language Models,https://arxiv.org/pdf/2502.06788

相关文章:

  • 读书记:《认知红利》
  • 【计算机网络网络层深度解析】从IP协议到路由优化
  • 第二届平航杯wp
  • 深度学习笔记40_中文文本分类-Pytorch实现
  • 数字智慧方案6189丨智慧应急综合解决方案(46页PPT)(文末有下载方式)
  • n8n 使用 AI Agent 和 MCP 社区节点
  • 树与二叉树完全解析:从基础到应用
  • 4.27-5.4学习周报
  • 如何实现服务的自动扩缩容(Auto Scaling)
  • 1️⃣7️⃣three.js_OrbitControls相机控制器
  • 溯因推理思维——AI与思维模型【92】
  • 【免费】2007-2021年上市公司对外投资数据
  • 数字世界的“私人车道“:网络切片如何用Python搭建专属通信高速路?
  • P2196 [NOIP 1996 提高组] 挖地雷
  • Python爬虫基础总结
  • 【算法】动态规划专题一 斐波那契数列模型 1-4
  • SQL基础全面指南:从CRUD操作到高级特性实战
  • GC9D01 和 GC9A01两种TFT 液晶显示驱动芯片
  • IntelliJ IDEA
  • Socat 用法详解:网络安全中的瑞士军刀
  • A股三大股指高位震荡收涨:黄金股大涨,两市成交11735亿元
  • 歼-10CE首战大放异彩,聊聊中国战机海外实战的那些事儿
  • 同济大学党委常务副书记冯身洪履新中国科协党组副书记
  • 以色列“全面接管”加沙“雷声大雨点小”:援助政策引内讧,美欧失去耐心
  • 张核子“限高”次日即被解除,前员工的执行款3个月后仍未到账
  • 习近平:坚持科学决策民主决策依法决策,高质量完成“十五五”规划编制工作