在多模态大模型(Multi-Modal Large Models, MLLMs)中,处理不同模态数据(如图像、视频、音频、语音)时,通常需要将这些数据转换为适合模型处理的表示形式。这种转换过程通常使用称为“tokenizer”的工具或算法。不同模态的 tokenizer 有不同的设计和实现方式,下面对常见模态的 tokenizer 进行梳理。
1. 图像模态 (Image Modality)
Vision Transformer (ViT) Tokenizer
- 方法: Vision Transformer 将图像切分为固定大小的图像块(patches),然后对每个块进行展平处理,将其作为一维的向量输入到 Transformer 中。这些图像块就相当于图像模态的 tokens。
- 特点: 直接处理原始图像数据,保留了空间结构信息。没有预定义的卷积操作,完全依赖于自注意力机制来捕获全局信息。
Convolutional Neural Network (CNN) Tokenizer
- 方法: 使用卷积神经网络(如 ResNet, EfficientNet)提取特征,将最后一层的输出作为 tokens。通常,网络的最后几层输出的特征图被展平并投射到固定的维度,形成 tokens。
- 特点: 通过卷积操作进行局部特征提取,能够有效捕获空间特征。CNN 提取的特征通常被视为图像的高层次表示。
2. 视频模态 (Video Modality)
3D Convolutional Tokenizer
- 方法: 使用 3D 卷积网络(如 C3D, I3D)对视频中的时间和空间维度进行卷积操作,提取时空特征。最后,将特征展平并映射为 tokens。
- 特点: 能够同时捕捉视频的时间和空间信息。适用于短视频剪辑的处理。
Spatio-temporal Transformer Tokenizer
- 方法: 类似 ViT,将视频帧切分为图像块,并使用时间和空间的自注意力机制进行编码。视频中的每个时间片段都可以看作一组 tokens。
- 特点: 通过自注意力机制处理视频的时间和空间依赖关系。适合处理长时间的视频片段。
3. 音频模态 (Audio Modality)
Spectrogram-based Tokenizer
- 方法: 将音频信号转换为频谱图(spectrogram),然后使用 2D 卷积或 Transformer 方法来提取频谱图的特征,将其作为 tokens。
- 特点: 频谱图能够很好地捕捉音频的频率信息和时间变化,适合处理短音频片段,如语音命令或音乐片段。
Raw Waveform Tokenizer
- 方法: 直接对原始音频波形进行卷积操作或通过 1D Transformer 来提取特征,得到 tokens。
- 特点: 能够保留更多的原始音频信息,适合细粒度音频分析任务。通常计算成本较高。
4. 语音模态 (Speech Modality)
Mel-spectrogram Tokenizer
- 方法: 将语音信号转换为 Mel 频谱图,然后使用卷积或 Transformer 模型提取特征。Mel 频谱图中的每一部分对应一个 token。
- 特点: Mel 频谱图是一种常用的语音信号表示方式,能够有效捕捉语音中的音素和发音特征。
Phoneme-based Tokenizer
- 方法: 将语音转换为音素(phoneme)序列,通过预训练的语音模型(如 Wav2Vec)生成音素 tokens。
- 特点: 直接对应语音的语言内容,可以用于语音识别和语音合成任务。
5. 跨模态 Tokenizer
- 方法: 为了统一处理多模态数据,跨模态 tokenizer 通常通过共享的表示空间或通过跨模态 Transformer 模型来编码不同模态的数据。通过对各模态的 tokens 进行对齐或融合,形成统一的多模态表示。
- 特点: 这些 tokenizers 允许模型在不同模态之间共享信息,适用于多模态任务,如图像描述生成(image captioning)、视频问答等。
总结
在 MLLMs 中,不同模态的 tokenizer 在模型的输入处理上起到了关键作用。通过适当的 tokenization,可以将复杂的多模态数据转化为适合模型处理的表示形式,这对于构建有效的多模态模型至关重要。选择合适的 tokenizer 方法通常取决于特定任务的需求和模态数据的特点。