专栏名称: 机器学习算法与自然语言处理
一个有情怀的公众号。机器学习、自然语言处理、算法等知识集中营、期待与你相遇~
目录
相关文章推荐
上海证券报  ·  大力支持居民增收!国常会最新部署 ·  2 天前  
中国证券报  ·  000609、300020,存在被终止上市风险 ·  3 天前  
钢铁俱乐部  ·  【国盛钢铁】新的叙事正在展开 ·  3 天前  
青塔  ·  北京高校,拟整体搬迁! ·  6 天前  
51好读  ›  专栏  ›  机器学习算法与自然语言处理

​近期必看的多模态大模型进展:从Qwen2-VL到Pixtral

机器学习算法与自然语言处理  · 公众号  ·  · 2024-12-19 00:00

正文


MLNLP 社区是国内外知名的机器学习与自然语言处理社区,受众覆盖国内外NLP硕博生、高校老师以及企业研究人员。
社区的愿景 是促进国内外自然语言处理,机器学习学术界、产业界和广大爱好者之间的交流和进步,特别是初学者同学们的进步。
转载自 | PaperWeekly

本文总结了近期一些备受关注得多模态大模型相关工作,包括每个模型得主要技术框架,训练数据和最终表现等。

阿里千问:Qwen2-VL

1.1 核心方法

Qwen2-VL 的架构保留了 Qwen-VL 的框架,结合了视觉编码器和语言模型,并在此基础上做了若干重要的改进:

视觉编码器 :使用了 Vision Transformer(ViT)架构,具有约 6.75 亿参数,能够处理图像和视频输入。

Naive Dynamic Resolution :引入了动态分辨率支持,使模型能够处理任意分辨率的图像,并根据需要将其转换为不同数量的视觉标记。ViT 的改动包括移除原本的绝对位置嵌入,使用 2D-RoPE 来捕捉图像的二维位置信息。

在推理阶段,图像以不同分辨率打包为单一序列,长度受 GPU 内存限制。此外,通过简单的 MLP 层,将相邻的  视觉标记压缩为一个标记,减少了每张图像的视觉标记数量。

多模态旋转位置嵌入(M-RoPE) :与传统的 1D-RoPE 不同,M-RoPE 通过将旋转嵌入分解为时间、高度和宽度三个组件,能够有效处理文本、图像和视频的位置信息。

在处理图像时,每个视觉标记的时间 ID 保持不变,而高度和宽度的 ID 则根据图像中的位置进行分配;在视频处理中,时间 ID 随着帧的增加而递增,其他组件则按图像的方式处理。

图像与视频的统一理解 :Qwen2-VL 采用混合训练策略,结合了图像和视频数据,确保其在图像理解和视频理解方面的能力。为了最大程度地保留视频信息,视频以每秒两帧的频率进行采样,并通过 2 层深度的 3D 卷积处理视频输入。每张图像被视为两个相同的帧,以便与视频的处理保持一致。

为了平衡长视频处理的计算需求与训练效率,视频每帧的分辨率是动态调整的,确保每个视频的视觉标记总数不超过 16384。

1.2 训练策略

Qwen2-VL 的训练采用了与 Qwen-VL 相同的三阶段训练方法:

第一阶段 :仅训练视觉变换器(ViT)组件,使用大量图像-文本对来增强大语言模型(LLM)的语义理解。

第二阶段 :解冻所有参数,进行更多数据的训练以实现更全面的学习。

第三阶段 :锁定 ViT 参数,仅对 LLM 进行专门的微调,使用指令数据集。

Qwen2-VL 的预训练数据集包括图像-文本对、光学字符识别(OCR)数据、交错的图像-文本文章、视觉问答数据集、视频对话和图像知识数据集。数据源主要包括清洗过的网页、开源数据集和合成数据。数据的知识截止日期为 2023 年 6 月。这些多样化的数据构成对开发强大的多模态理解能力至关重要。

训练阶段概述

  • 初始预训练阶段 ,Qwen2-VL 接触到大约 6000 亿个 token,专注于学习图像-文本关系、图像中的文本识别(OCR)和图像分类任务。Qwen2-VL 的 LLM 组件使用 Qwen2 的参数初始化,视觉编码器则使用 DFN 的 ViT 进行初始化,但将原始 DFN 的固定位置嵌入替换为 RoPE-2D。

  • 第二阶段预训练 :增加了额外的 8000 亿个图像相关的标记,进一步引入更多混合的图像-文本内容,增强视觉与文本信息的交互理解。同时,增加了视觉问答数据集,提升了模型回答图像相关问题的能力。

  • 指令微调阶段 ,采用了 ChatML 格式构建指令跟随数据集,数据集包括文本对话数据和多模态对话数据,如图像问答、文档解析、图像比较、视频理解等。

数据格式

  • 使用特殊标记来区分视觉和文本输入, 和 用于标记图像特征序列的开始和结束。

  • 对话数据使用 ChatML 格式, 和 用于标记每个交互的语句。

  • 引入了目标定位(Visual Grounding)和引用定位(Referring Grounding)来帮助模型理解图像中特定区域的文本描述。

1.3 实验结果总结

视觉问答

  • Qwen2-VL-72B 在多个视觉问答基准(如 RealWorldQA、MMStar 等)中表现出色,通常超越其他现有模型。

文档与图表理解

  • 在 DocVQA、ChartQA 等任务中,Qwen2-VL 在高分辨率文档和图表理解方面达到了 SOTA 水平,尤其在 OCR 任务中表现突出。

多语言文本识别

  • Qwen2-VL 在多语言 OCR 任务中超越了其他模型,包括 GPT-4o,展现了其强大的文本识别能力。

数学推理

  • 在 MathVista 和 MathVision 等数据集上,Qwen2-VL 在数学推理任务中的表现超越了其他模型。

视频理解

  • 在多个视频理解基准(如 MVBench、PerceptionTest 等)上,Qwen2-VL-72B 展现了强大的视频理解能力,尤其在处理较长视频时表现优异。

视觉代理

  • Qwen2-VL 在复杂任务(如 UI 操作、机器人控制和卡牌游戏等)中,表现出卓越的功能调用和决策能力,超越了 GPT-4o。

模型规模与动态分辨率

  • 增加模型规模和采用动态分辨率策略有助于提升性能,尤其在视频和数学任务中。动态分辨率在减少token数量的同时,保持了优异的任务表现。

Molmo和PixMo

总的来说,本文的改进集中在数据侧,包括了一些数据合成的方法,开放了更高质量得多模态数据等。

2.1 核心方法

模型框架实际上与现有得大多数 MLLM 差别不大,包括了 ViT-L/14 336px CLIP 得 vision encoder,MLP+ 池化作 connector,以及一个大语言模型。

2 .2 训练策略

Molmo 模型的训练过程简单且高效,分为两个主要阶段:

多模态预训练: 利用 PixMo-Cap 数据集进行图像描述生成

监督微调: 在常见的学术数据集和 PixMo-⋆系列数据集上进行微调

在这两个阶段中,所有模型参数都会进行更新,且不使用强化学习(RLHF)进行训练。

2.2.1 第一阶段:图像描述生成

在此阶段,Molmo 模型通过将视觉编码器与语言模型结合,并加入一个随机初始化的连接器来进行训练,目标任务是图像描述生成。PixMo-Cap 数据集是专门为此阶段收集的,具体过程如下:

  • 图像来源: 从大约 70 个高层主题(如街头标志、表情包、食物、绘画、网站、模糊照片等)中筛选网络图像。

  • 描述收集: 每张图片请三位标注者进行至少 60 秒(后期调整为 90 秒)的口头描述。描述内容涵盖图像的基本信息、物体数量、文字内容、物体位置、背景信息以及细节描述等。

  • 音频转录与处理: 标注者的口头描述会被转录为文本,并通过语言模型进行文本优化(例如去除口语化的痕迹,统一风格)。

  • 数据增强: 使用这些优化后的文本(如果有四种文本变体,则每个图像使用所有文本进行训练),最终训练了 712k 张图像和约 130 万条描述。

2.2.2 第二阶段:监督微调

图像描述生成后,Molmo 模型会进行监督微调,目标是使模型在实际使用中具备更强的泛化能力。微调数据集包括了常见的学术数据集和多个新的 PixMo 数据集:

  • PixMo-AskModelAnything: 收集了 162k 问答对和 73k 图像,目的是使模型能够回答各种可能的用户提问。标注者会先选择一张图像并提问,然后使用模型生成详细描述和答案,最后人工审核和修正答案。

  • PixMo-Points: 收集了 2.3M 个问答对,涵盖 428k 张图像,旨在使模型通过指向图像中的具体位置来回答问题。这个数据集帮助训练模型在图像中定位信息,并用指向来解释回答。

  • PixMo-CapQA: 生成了 214k 问答对,来源于 165k 张图像的描述。通过使用语言模型生成问答对,以增强模型的回答多样性。

  • PixMo-Docs: 通过生成 255k 文本和图表图片,训练模型回答基于文本和图像的复杂问题,共收集了 2.3M 个问答对。

  • PixMo-Clocks: 通过生成合成的模拟时钟图像,创建了 826k 个时钟相关的问答对。

  • 学术数据集: 包括 VQA v2、TextVQA、OK-VQA、ChartQA、DocVQA 等多个知名学术数据集,以及其他补充数据集,如 AI2D、A-OKVQA、ScienceQA 等。

通过上述数据集,Molmo 模型得以在多种视觉-语言任务中进行监督微调,增强了其多模态理解和推理能力。

2.3 实验结果概括

Molmo-72B 性能 : 在学术基准测试中获得了最高分数,并在人类偏好 Elo 排名中位居第二,仅次于 GPT-4o。

MolmoE-1B 效率 : 最高效的模型 MolmoE-1B 在学术基准测试和 Elo 排名中几乎与 GPT-4V 持平。

OLMo-7B-1024 和 Qwen2 7B 模型 : 这些模型在学术基准测试和 Elo 排名中表现介于 GPT-4V 和 GPT-4o 之间。

Molmo 模型优于专有系统 : Molmo 模型,特别是 Molmo-72B,超越了许多专有系统,包括 Gemini 1.5 Pro 和 Claude 3.5 Sonnet。

Qwen2-VL 的差异 : 尽管 Qwen2-VL 在学术基准测试中表现强劲,但在人类评估中相对表现较差。

英伟达:NVLM

3.1 三种不同的特征融合框架

3.1.1 共享视觉编码器

NVLM 系列模型的所有架构共都使用了一个固定分辨率的视觉编码器(InternViT-6B-448px-V1-5)。图像会被切分为 1 到 6 切块,每个块大小为 448×448 像素,并通过降采样操作将图像 tokens 数量从 1024 减少至 256。这种设计提升了 OCR 任务的性能,同时减少了处理负担。

3.1.2 NVLM-D: Decoder-only模型

NVLM-D 采用传统 decoder-only 架构,使用 2 层 MLP 将预训练的视觉编码器与 LLM 连接。该模型通过联合预训练和监督微调来适应多模态任务,其中视觉编码器在训练过程中被冻结。

3.1.3 NVLM-X: 交叉注意力模型

NVLM-X 使用交叉注意力机制来处理图像 tokens,而不直接将图像 tokens 输入到 LLM 解码器中。此方法避免了潜在的空间关系干扰,特别适用于 OCR 任务。该模型还引入了切块标签,并利用 X-attention 确保每个切块的空间关系被正确处理。

3.1.4 NVLM-H: 混合模型

NVLM-H 结合了NVLM-D 和 NVLM-X 的优点。通过将缩略图像 tokens 与文本 tokens 一同输入到 LLM 进行自注意力处理,同时使用交叉注意力处理图像切块,NVLM-H 在保留高分辨率处理能力的同时,显著提升了计算效率。

3.2 方法细节

动态高分辨率(DHR) 方法将高分辨率图像切割成多个小块,包含一个全局缩略图和多个常规切片,这些切片被分别处理。为了防止将这些切片直接拼接后给语言模型(LLM)带来困惑,实验中 为每个切片添加了标签

这些标签清晰标识了每个切片在整个图像中的位置,从而帮助模型更好地理解这些切片的结构。这一方法在模型规模和训练数据量增大时效果尤为显著。

切片标签的不同形式 实验中使用了几种不同类型的标签,每种标签在处理过程中带来了不同的效果:

  • 1-D 扁平化标签: 这种标签(例如 , )简单直接,适用于大多数任务,特别是 OCR 任务。

  • 2-D 网格标签: 通过标签(如 , 等)表示切片的位置,能够更好地捕捉图像中的空间关系。

  • 2-D 边界框标签: 这种标签以坐标的形式(如 (x0, y0), (x1, y1) )明确标识每个切片在图像中的具体位置。

虽然 2-D 标签能够提供更多空间信息,但实验结果表明, 1-D 标签通常能提供更好的泛化能力 ,特别是在测试时。在一些数学推理和跨学科推理任务中,1-D 标签也带来了不错的性能提升。

NVLM-X 与 NVLM-D 模型对比

  • NVLM-X: 采用了门控交叉注意力机制(gated cross-attention)来处理图像切片。与其他方法不同,NVLM-X 通过切片标签帮助模型理解切片的位置和结构,这使得它在处理高分辨率图像时表现更好。

  • NVLM-D: 这个模型没有交叉注意力机制,而是通过解码器直接处理图像切片。这使得它参数较少,但由于需要将所有图像切片拼接后输入模型,导致内存消耗大,训练效率较低。

  • 优势对比: NVLM-X 在多模态推理任务和 OCR 任务中比 NVLM-D 有更好的表现,尤其在处理高分辨率图像上。

训练效率与参数效率

  • NVLM-X: 在处理高分辨率图像时,通过减少长序列的拼接,显著提高了训练效率,并且有效减少了 GPU 内存的消耗。

  • NVLM-D: 由于需要处理长序列的图像切片,内存使用较高,训练吞吐量较低,但在参数数量上相对较少。

3.3 训练策略

3.3.1 多模态预训练数据

NVLM 使用了高质量且多样化的多模态预训练数据集,发现了如 MMC4 和 OBELICS 这种噪声较大的数据集对训练效果不佳。预训练数据集包括:

  • 图像描述: 使用筛选和重新标注后的 LAION-115M 数据集,确保没有不当内容。

  • 视觉问答(VQA): 自然图像、图表和扫描文档的问答。

  • 数学推理: 视觉上下文中的数学推理任务。

  • OCR与场景文本识别: 涵盖 OCR 任务及其他与文本识别相关的任务。

丰富且多样的预训练数据集增强了跨模态对齐,提高了模型在后续任务中的表现。任务导向的数据集在预训练时有助于提升效果,但小规模的任务数据集容易导致过拟合。

3.3.2 多模态监督微调(SFT)数据

为了提升 NVLM 在各种视觉语言任务上的表现,收集了一组多样且高质量的任务导向 SFT 数据集,具体数据集如下:

  • 图像描述数据集: 如 COCO、TextCaps,还包括 ShareGPT-4o(提供详细图像描述)。

  • 自然图像的VQA: 包括 VQAv2、Visual Genome,主要关注物体布局、计数、物体级对齐等。

  • 图表、图示、表格、文档图像理解: 包括 DVQA、PlotQA、WikiTableQuestions、DocVQA 等数据集。

  • OCR任务: 涵盖 OCR-VQA、TextVQA、ScreenQA 等数据集,专注于提升 OCR 相关任务表现。

  • 数学推理任务: 包括 CLEVR-Math、GeoQA+、Geometry3K 等多模态数学推理数据集,显著提高了数学推理能力。

3.3.3 仅文本 SFT 数据

为了保持 LLM 骨干的文本任务表现,并防止灾难性遗忘,NVLM 还设计了一个高质量的仅文本 SFT 数据集,并将其融入到多模态微调阶段。与之前的开源多模态 LLM 不同,NVLM 的文本 SFT 数据集经过了严格筛选和清理,从而确保在文本任务上的表现不受影响。

该文本 SFT 数据集包括:

  • 一般类别: 如 ShareGPT、SlimOrca、EvolInstruct、GPTeacher、AlpacaGPT4、UltraInteract 等。

  • 数学类别: 如 OrcaMathWordProblems、MathInstruct、MetaMath 等。

  • 代码类别: 如 Magicoder、WizardCoder、GlaiveCodeAssistant 等。

3.4 实验结果概述

Note: :所有的实验结果比较均不包含 Qwen2VL。

NVLM-D 1.0 72B 在 OCRBench(853分)和 VQAv2(85.4 分)上表现最佳,远超其他开源和商业模型。它在 MMMU(59.7 分)上的表现也优于所有领先的开源模型。虽然在 AI2D、TextVQA 等任务上略逊于 InternVL-2-Llama3-76B,但依然显著超越其他开源模型,如 Cambrian-1 和 LLaVA-OneVision。

NVLM-H 1.0 72B 在 MMMU(60.2 分)和 MathVista(66.6 分)上表现最好,超过了如 GPT-4o、Gemini Pro 等多款顶尖模型,展示了卓越的多模态推理能力。

NVLM-X 1.0 72B 作为跨注意力机制的模型,NVLM-X 取得了非常优秀的结果,接近尚未发布的 Llama 3-V 70B。同时,其训练和推理速度比 Decoder-only 模型更快。

文本任务表现 NVLM 模型在多模态训练后,文本任务的表现反而得到了提升,优于 LLaVA-OneVision 和 InternVL-2-Llama3-76B 等开源模型,证明了通过高质量的文本 SFT 数据进行多模态微调不会影响文本性能。

MixtralAI: Pixtral 12B

4.1 结构细节

Pixtral 12B的架构

架构部分还是沿用了 llava 的主要成分,其中每个部分的细节如下所示

4.1.1 多模态解码器

Pixtral 12B 的解码器基于 Mistral Nemo 12B,这是一款拥有 120 亿参数的 decoder-only LLM。

4.1.2 视觉编码器

为了让 Pixtral 12B 能够处理图像,开发了全新的视觉编码器 Pixtral-ViT。这个编码器的目标是能够处理各种分辨率和纵横比的图像。Pixtral-ViT 包含了 4 个关键改进:

[IMAGE BREAK] 令牌 :为了帮助模型区分相同数量补丁但不同纵横比的图像,在图像行之间加入了 [IMAGE BREAK] 令牌,并在图像序列末尾加上了 [IMAGE END] 令牌。

FFN 中的门控机制 :代替标准的前馈神经网络(FFN)层,在注意力模块的隐藏层中使用了门控机制。

序列打包 :为了在单次批处理中高效处理图像,图像会沿着序列维度展平,并将其拼接。通过构造块对角掩码,确保来自不同图像的补丁不会发生注意力泄漏。

RoPE-2D :用相对旋转位置编码(RoPE-2D)代替传统的学习型和绝对位置编码来处理图像补丁,这样可以更好地适应不同图像大小。

RoPE-2D位置编码

RoPE-2D 变换表示为:

其中, M(i,j)Θ 表示一个与图像位置相关的旋转矩阵。通过此方法,模型能根据补丁的相对位置进行计算,而非依赖绝对位置,从而更好地处理各种图像分辨率和纵横比。

Connector 使用了两层 MLP。

4.2 训练数据没有提及

4.3 实验总览

Pixtral 12B 的表现接近更大规模的开源模型,如 Qwen2-VL 72B 和 Llama-3.2 90B,在公共排行榜上取得了接近这些大型模型的成绩。

在常见的纯文本基准测试中,Pixtral 12B 并没有为了处理多模态任务而牺牲文本理解能力。也就是说,Pixtral 不仅能够处理文本任务,还能处理视觉任务,而且两者之间并不互相妥协,展现了很强的多任务处理能力。

视觉编码器性能:Pixtral 的视觉编码器在处理细粒度任务时表现优异,尤其是高分辨率图像处理能力上,比 CLIPA 更具优势。

Rhymes AI: ARIA







请到「今天看啥」查看全文