多模态大模型Ovis核心技术点、训练方法、数据细节

大模型向量数据库机器学习

文章提出:传统的 MLLMs 中,文本嵌入是从 LLM 的嵌入查找表中索引得到的,而视觉嵌入是由视觉编码器(如:ViT)直接生成的连续向量。这种差异导致在视觉和文本信息融合时存在挑战 。

与传统的MLLM不同,Ovis 通过在视觉编码器的过程中引入一个额外的 视觉嵌入查找表 来解决这个问题。这种方法使得视觉嵌入的生成过程与文本嵌入类似。

picture.image

效果

往期相关多模态大模型细节介绍:

Phi-4-multimodal:图、文、音频统一的多模态大模型架构、训练方法、数据细节

【多模态&LLM】deepseek多模态大模型Janus、Janus-Pro模型架构及优化方法浅谈

【多模态&LLM】Reyes:一个从0到1开始训练的多模态大模型(技术报告)

【多模态&LLM】POINTS多模态大模型浅谈

【多模态&LLM】英伟达NVLM多模态大模型细节和数据集

【多模态&文档智能】OCR-free感知多模态大模型技术链路及训练数据细节

核心创新

从下面模型结构代码可以看到,Ovis和传统的LLava架构其实差不多,最大的区别就是LLava使用MLP,Ovis使用“视觉词汇”。

picture.image

模型结构代码

Ovis 的核心创新在于其视觉嵌入表的引入:

picture.image

  1. 图(a):基于连接器的MLLM:传统多模态模型(如LLava)的典型架构,连接器通常是一个MLP,其作用是将视觉特征投影到与文本嵌入相同的维度空间中。
  2. 图(b):Ovis的结构化嵌入对齐:视觉编码器的输出不再直接通过MLP投影,而是送入一个视觉嵌入表(Visual Embedding Table)。这个表是一个可学习的结构,类似于文本嵌入。表。
  • 视觉编码器 :图像首先被视觉编码器(如 ViT)处理,分为多个patches,每个patch生成一个连续的特征向量。
  • 视觉嵌入表 :不同于传统方法直接通过 MLP 投影,Ovis 在视觉编码器后整合了一个可学习的视觉嵌入表。每个图像patch的特征向量用于多次索引该表,生成最终的视觉嵌入。为了使视觉和文本嵌入具有兼容的形状,视觉嵌入表的维度设置为与文本嵌入表相同。

picture.image

视觉嵌入表实现过程

  • 嵌入对齐:视觉嵌入表的引入使得视觉嵌入的生成方式与文本嵌入类似。文本嵌入通常通过查找表为每个token分配一个嵌入向量,而 Ovis 通过视觉嵌入表为视觉patch生成结构化的嵌入,实现了两者的对齐。

训练方法

训练分为三个阶段:

阶段 1:初始化训练

在这个阶段,冻结 LLM 和视觉编码器的大部分参数,仅随机初始化视觉编码器的最后一块参数。使用视觉描述数据集(如 COYO)来训练这些新初始化的参数,以及 Ovis 的投影矩阵

和视觉嵌入表

阶段 2:扩展训练

在这个阶段,解冻 Ovis 的投影矩阵

和视觉嵌入表

,并继续训练视觉编码器的所有参数。使用视觉描述数据集(如 ShareGPT4V-Pretrain)进行训练。这个阶段的目标是进一步优化视觉嵌入的生成。

阶段 3:多模态指令学习

在前两个阶段的基础上,解冻 LLM 模块,并在多模态指令数据集(如 LLaVA-Finetune)上训练整个模型。这个阶段的目的是赋予 Ovis 跟随多模态指令的能力。

训练超参数设置:

picture.image

训练数据集

picture.image

picture.image

picture.image

参考文献:Ovis: Structural Embedding Alignment for Multimodal Large Language Model,https://arxiv.org/abs/2405.20797

关于作者:余俊晖,主要研究方向为自然语言处理、大语言模型、文档智能。曾获CCF、Kaggle、ICPR、CCL、CAIL等国内外近二十项AI算法竞赛/评测冠亚季军。发表SCI、顶会等文章多篇,专利数项。

0
0
0
0
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论