Ovis-discrete visual embedding

作者提出了 Ovis,一个离散化表示 visual encder 输出特征的方法,来更好对齐 LLM 的视觉输入和文本输入

作者提出了 Ovis,一个离散化表示 visual encder 输出特征的方法,来更好对齐 LLM 的视觉输入和文本输入

Introduction

作者分析了已有多模态大模型的架构,已有多模态大模型的输入对于文本来说是离散的 (text token), 对于图片来说是连续的 (visual embedding)。作者认为这种连续 - 离散的输入可能会影响模型最终的表现。

为了解决这个问题,作者构建了一个 visual embedding table, 将 visual embedding 也转换成离散的 token 表示形式,进而统一 LLM 输出的粒度。

Method

模型的架构如下图所示

Architecture of Ovis

我们首先会构建一个 visual vocabulary ${e_k}{k=1}^K$, 其大小为 $K$, 然后对于 ViT 输出的 $n$ 个 visual feature ${r_i}{i=1}^n$, 我们会加入一个 linear head 以及一个 softmax 来构建一个 vocabulary 上的分布,即

$$ v_i = \mathrm{softmax}(Wr_i), W\in\mathbb{R}^{K\times d} $$

这里 $v_i\in\Delta^K$ 是 visual vocabulary 上的概率分布。最终,视觉模块的输入是 vocabulary 中 visual token 的一个加权求和

$$ V_i = \sum_{k=1}^K v_{i,k}e_k\in\mathbb{R}^{d'} $$

训练分为三个阶段:

  • Stage 1: 训练 $W$, visual encoder 最后一个 block 以及 visual vocabulary
  • Stage 2: 训练 $W$, visual vocabulary 以及 visual encoder
  • Stage 3: multimodal SFT, 提高模型的指令跟随能力,模型所有参数都参与训练

训练数据分布如下表所示

Statistics of Ovis training dataset

Conclusion

作者提出了 Ovis,一个离散化表示 visual encder 输出特征的方法,来更好对齐 LLM 的视觉输入和文本输入

References

Licensed under CC BY-NC-SA 4.0
Built with Hugo
Theme Stack designed by Jimmy