什么是多模态大模型?
多模态大模型(Multimodal LLM)是指能够同时处理文本、图像、语音、视频等多种数据模态的模型,并在统一表示空间中进行理解与推理。
理解以下概念即可:
共享空间向量:
不同模态被映射到同一个向量空间。
同时拥有语音,文本,图像,他们都被标记化并且嵌入一个高维空间,模型可以一起推理,其中的关键就是一个共享。比如,cat和猫的图像,在共享空间中,会靠的很近。
这种共享空间向量会比视觉编码器要更好,因为在我们提出问题之前,视觉编码器已经处理了我们的图像,而世界编码器可能会压缩掉我们所需要的精确细节,但是如果我们有一个共享的向量空间模型,能够同时注意到图片和单词,所以知道应该往哪里看,举个例子,想象一下我们的手机的一个屏幕中会有不同的App软件,我们想找某一个软件时候,模型会同时的去看这个App的图标和它下面所对应的名字,所以能够很快的定位到这个软件。
视频是具有时间序列的数据
早期的视觉编码器会在一段视频中进行采样,然后把这些所采样的帧送进视觉编码器,但是同样的这样,从视频中采取关键帧的做法会丢失很多的信息,想象一下,在一段视频中有一个人拿着一瓶水,我们采样的图片就是这个人拿着水的一个状态,但是我们从这一帧的图像中没有办法判断这个水平是放在地上还是说他正在把这个水平给举起来而这样的一些信息都存在于时间序列中,所以说,更新的多模态模型在保持时间维度的视频中嵌入了视频,比如说原来在共享的一个向量空间中,一张图片会被切分成8×8个patch,然后作为一个嵌入的向量,是一个2d的概念。但是视频他是一个3D的一个向量,比如一个8×8×8的一个方块,它就表达一个比如8帧的这样一个视频,这就意味着视频的一个动作,不再需要通过比较两张图片去猜测他的一个动作状态,因为我们通过一个3D的这样的一个向量嵌入式的向量动作,实际上已经融入了token本身
输入与输出
想象一下,在一个多模态的模型中,我们的输入可以是文本图像和视频,他们共同被输入一个多模态模型中,但是,值得注意的是,多模态模型,它本身的输出也可以是跨模态的,因为我们最开始就提到过所有的模态,他们都在一个共享的向量空间中,所以我们就得到了所谓的能够从任意到任意的一个生成Any to any generation