多模态 AI (Multimodal AI)¶
背景知识
本文档聚焦于 Transformer/自回归路线的多模态技术——如何将不同模态转换为 token 序列并用 Transformer 处理,以及跨模态对齐方法。
图像/视频生成主流是扩散模型(非自回归),详见扩散模型。
1. 模态特征一览¶
| 维度 | 文本 | 图像 | 音频 | 视频 |
|---|---|---|---|---|
| 数据结构 | 1D 离散序列 | 2D 连续网格 (H×W×C) | 1D 连续波形 | 3D (2D 空间 + 时间) |
| 信息密度 | 高——一个词承载大量语义 | 中——像素级冗余大 | 低——高采样率,有效信息稀疏 | 极低——帧间大量重复 |
| 天然离散性 | 是(词表有限) | 否(像素连续值) | 否(波形连续) | 否 |
| 典型序列长度 | ~10³–10⁴ tokens | ~10²–10³ patches | ~10³–10⁴ codec tokens | ~10⁴–10⁶ |
| 时间维度 | 无(或弱顺序) | 无 | 有,高分辨率 | 有,需帧间一致性 |
核心差异:文本天然离散、语义密度高;图像/音频/视频是连续信号,需要先tokenization才能送入 Transformer,而 tokenization 策略直接决定模型的效果上限。
2. Tokenization:把连续信号变成 token¶
这是多模态 AI 最核心的技术问题——如何把不同模态统一到 Transformer 能处理的 token 序列。
文本¶
BPE / SentencePiece 等子词切分已是成熟方案,词表大小通常 32k–128k。文本是唯一天然离散的模态,无需额外编码。
图像¶
两条主路线:
| 路线 | 代表 | 原理 | 权衡 |
|---|---|---|---|
| Patch 嵌入 | ViT1 | 将图像切成 16×16 patch,线性投影为向量 | 不对称,无法重建图像;简单高效 |
| 离散码本 | VQ-VAE / VQ-GAN | 将图像编码为离散 token(码本索引) | 对称(有损);可用自回归生成,但码本大小限制保真度 |
ViT(Vision Transformer)原理:把图像切成小块,像处理文本序列一样用 Transformer 处理。
以 224×224 的彩色图像为例: 1. 切块:切成 14×14 = 196 个 16×16 的小块(patch) 2. 展平:每个 patch 有 16×16×3 = 768 个像素值,展平成 768 维向量 3. 投影:通过可学习的线性层投影到固定维度(如 768 维) 4. 加位置编码:给每个 patch 加位置信息(Transformer 本身不知道空间关系) 5. 送入 Transformer:196 个向量序列,就像 196 个"词"
直觉类比:文本把句子拆成 token 序列("我/喜欢/吃/苹果"),ViT 把图像拆成 patch 序列。区别在于 CNN 靠卷积核滑窗提取局部特征,ViT 用全局注意力,每个 patch 能直接看到所有 patch。
实践中,理解任务多用 patch 嵌入(CLIP、Gemini)。注意:图像生成主流是扩散模型(非自回归),详见扩散模型。
音频¶
| 路线 | 代表 | 原理 | 权衡 |
|---|---|---|---|
| 频谱 → patch | Whisper, AST | 波形 → mel 频谱图(2D)→ 按 ViT 方式切 patch | 不对称,无法重建波形 |
| 神经音频编码 | EnCodec, SoundStream | 将波形压缩为多层离散 token(残差向量量化, RVQ) | 对称(有损);压缩率高,~50–75 token/秒 |
音频的采样率问题:16kHz 语音 1 秒 = 16,000 个采样点,直接处理不现实。频谱图将时域转为时频域,大幅降低序列长度;神经编码则进一步压缩到 ~50–75 token/秒。
视频¶
视频 = 图像序列 + 时间轴,数据量爆炸。关键是如何压缩时间冗余:
- 帧采样 + 独立编码:抽关键帧,每帧按图像处理——简单但丢失运动信息
- 3D patch:将视频切成时空立方体(如 2 帧×16×16),一次编码空间+时间
- 时间维度单独建模:图像编码后加 temporal attention 层
注意:当前视频生成主流是扩散模型(非自回归),详见扩散模型。
3. 跨模态对齐¶
让不同模态的表示映射到同一向量空间,是多模态理解的基础。
对比学习¶
CLIP2:用大量 (图像, 文本) 对做对比学习——匹配的图文对在向量空间靠近,不匹配的推远。训练后图像和文本共享同一嵌入空间,可以做零样本分类、检索等。
ImageBind (Meta):将 CLIP 思路扩展到六种模态(图像、文本、音频、深度、热成像、IMU),利用图像作为"锚点"桥接所有模态。
投影层拼接¶
早期多模态模型(LLaVA 等)的做法:
简单有效,但视觉编码器和 LLM 分别训练,跨模态理解存在 gap。
原生多模态训练¶
Gemini、GPT-4o 的做法:从预训练开始就混合多种模态数据联合训练,模型内部学习对齐。好处是跨模态理解更自然,代价是训练数据工程和算力成本极高。
4. 开放问题¶
- 多模态幻觉:模型"看到"图像中不存在的内容(物体计数错误、空间关系误判)——比纯文本幻觉更难检测
- 评估:缺乏统一的跨模态评估基准,图像/音频/视频的质量难以用同一把尺子衡量
- 长视频理解:当前模型对短片段理解不错,但对几分钟以上视频的长程推理仍困难
- 统一生成:一个模型同时用自回归方式生成所有模态仍处早期,跨模态生成质量不均衡