多模态模型:融合与生成
多模态带来的是接口,不是某一种架构。图像以网格形式进入系统,文本是序列,音频是带时间的帧,视频则同时包含两个空间维度和一个时间维度。系统必须决定如何编码每种输入、各种表示在哪里交互、如何生成每种输出,以及服务路径能承受多少成本。这些决定彼此相关,却不能相互替代。一个统一模型可以对文本和图像使用不同损失;一个模块化系统也可以让各组件在共享表示空间中训练。
本章沿着这些接口展开。先介绍成对图文训练,再比较让语言模型读取视觉特征的连接器。随后分开讨论图像条件与图像生成,把成本核算扩展到视频,最后拆开所谓「统一多模态模型」其实隐藏着几项彼此独立的选择。
分开考虑各项设计选择
先回答四个问题,架构才不会混乱:
| 决策 | 问题 | 常见选择 |
|---|---|---|
| 输入表示 | 模型的输入是什么? | 像素、编码器特征、离散码、连续潜变量 |
| 融合 | 不同模态在哪里交换信息? | 输入投影、交叉注意力、早期融合 |
| 输出模型 | 用什么目标生成该模态? | 下一词元预测、扩散、流匹配 |
| 系统组合 | 哪些组件共享权重和部署? | 专用工具、相连的双塔模型、单一主干 |
连续图像潜变量不等于离散图像词元。早期融合也不等于端到端产品集成。把这几条轴分开,才不会把某一道边界上的改进误认为整个系统的改进。
学习图像与文本的配对几何
对比语言-图像预训练(CLIP),也就是让图像与文本成对学习的训练方法,让开放词表视觉识别变得实用 (Radford et al. 2021)。给定一个含 对匹配图文的批次,设 和 分别是经单位归一化的第 幅图像嵌入与第 段文本嵌入。两者缩放后的相似度为
其中, 是可学习的温度。CLIP 在图像到文本和文本到图像两个方向上都使用交叉熵:
第一项要求图像 检索出与它配对的文本,第二项则要求文本 检索出配对图像。批内其他样本都作为负例,但非对角图文对仍可能在语义上匹配。CLIP 用 4 亿个网络图文对训练这一目标。推断时,写成提示词的类别名会变成文本嵌入,图像再按与这些嵌入的相似度分类。因此,提示词的措辞和预训练分布仍然是分类器的一部分。
SigLIP 改变的是批次目标,并不是嵌入的含义。它把每个图文组合视为独立的正例或负例,使用逻辑回归目标,因而不需要覆盖整个批次的 softmax 归一化 (Zhai et al. 2023)。这会改变分布式训练和小批次下的行为,却不能证明图像嵌入和文本嵌入具有相同分布。对 CLIP 风格表示空间的研究发现了模态间隙:即使匹配对之间有用的余弦相似度,两种模态仍会占据分开的区域 (Liang et al. 2022)。CLIP 对齐的是配对样本,并不强制两种模态具有相同分布。
这种几何间隙不同于连接器的接口不匹配。CLIP 的检索头产生一个全局嵌入,视觉语言模型却常常从编码器的较早层读取一组空间网格特征。连接器需要把该网格的宽度、长度和语义转换成语言模型能接收的形式,却不需要让两种全局嵌入的分布完全相同。
把视觉接入语言模型
对齐后的编码器能产生视觉特征,但语言模型仍需要一座通往自身隐藏空间的桥。三个有影响力的系统把这座桥放在了不同深度:
Flamingo 冻结预训练视觉编码器和语言模型,把长度可变的视觉序列重采样为 64 个输出,再在语言模型的多个层中插入新训练的门控交叉注意力 (Alayrac et al. 2022)。门控参数初始化为零,因此新增路径起初不会改变语言模型。语言序列可以在多层中反复读取视觉特征,所以 Flamingo 能处理交错的图像、视频和文本。
BLIP-2 也从冻结的双塔开始,但它的查询 Transformer,也就是 Q-Former,用 32 个学习查询从视觉编码器中提取固定长度的摘要 (Li et al. 2023)。它先做视觉语言表示预训练,再做视觉到语言的生成预训练。固定的查询数让接口成本可以预测,也造成了明确的信息瓶颈。
LLaVA 选择了更浅的路径。初版连接器只用一个学习线性投影,把 CLIP 图块特征映射到语言模型的嵌入宽度 (Liu et al. 2023)。LLaVA-1.5 把它换成两层 MLP,并使用 336 像素的 CLIP 编码器 (Liu et al. 2024)。对齐阶段只学习投影,预训练双塔保持冻结。指令微调阶段会更新语言模型和投影,视觉编码器仍然冻结。连接器的名称本身不能说明哪些权重参与训练。
| 连接器 | 语言模型看到的视觉序列 | 主要取舍 |
|---|---|---|
| Flamingo 交叉注意力 | 语言模型多个层中的重采样视觉记忆 | 可反复读取丰富信息,但需插入更多层 |
| BLIP-2 Q-Former | 由 32 个查询生成的固定长度摘要 | 成本可预测,但存在固定瓶颈 |
| LLaVA 投影 | 输入端的投影图块序列 | 桥接简单,成本随图块数增长 |
计算视觉序列长度
设一幅图像经填充后高为 、宽为 ,再切成边长为 的正方形图块。单次裁剪的 视觉 Transformer(ViT) 大约会输出
个图块位置,这里尚未计入类别词元、池化或词元丢弃。其中, 是视觉序列长度。336×336 像素的图像配合边长 14 像素的图块,会产生 个图块位置,这正是 LLaVA-1.5 的设置 (Liu et al. 2024)。
分块会把单个网格公式变成多个网格之和。LLaVA-NeXT 把若干个 336 像素图块与一个全局视图结合起来 (Liu et al. 2024)。Qwen2-VL 把原生分辨率的图像和视频映射为可变长视觉序列,合并每个 2×2 空间特征组,并把旋转位置扩展到时间、高度和宽度三条轴 (Wang et al. 2024)。这些设计有助于处理文档、图表和小物体,也会增加预填充工作量和键值缓存。在标准稠密注意力中,组合文本与视觉前缀的预填充注意力含有序列长度的二次项;之后每个生成文本词元都会读取随前缀长度线性增长的缓存。视觉词元数是一项服务决策,不只是编码器细节。
视觉指令微调补上行为层。LLaVA 先用约 59.5 万个 CC3M 图文对训练投影器,两个预训练塔都保持冻结。随后,它把图像的文字说明,包括图像描述与边界框,交给一个纯语言 GPT-4,生成约 15.8 万个指令样本 (Liu et al. 2023)。GPT-4 没有看到像素,学生模型之后才使用相应图像训练。投影对齐后,这些数据用来教会模型对话格式与任务行为。这个区分很重要:配对预训练学习对应关系,连接器训练学习接口,指令微调则教模型如何回答。改变其中一个阶段不能取代另外两个。
引导图像生成器
理解图像与生成图像面对的是不同的输出问题。文生图扩散先编码提示词,再在该表示的条件下对像素或连续潜变量去噪。无分类器引导用来控制采样遵循条件的强度 (Ho and Salimans 2022)。训练时,模型有时会收到空条件。采样时,一种常见约定为
其中, 是步骤 的带噪状态, 是文本条件, 是空条件, 是模型的噪声预测。在这种约定下, 给出无条件预测, 给出普通条件预测, 则沿同一方向继续外推。论文和库有时会改写这条直线的参数,所以只有连同公式,引导尺度才有明确含义。
较大的 常会改善提示遵循度,或提高筛选后样本的观感质量,但也会减少多样性,有时还会放大伪影。引导尺度不是置信度。它通常还需要分别计算有条件与无条件预测,即使实现把两者放在同一批次中。
选择图像表示与训练目标
图像生成器首先要选择在哪个空间建模:
| 工作表示 | 示例路线 | 后果 |
|---|---|---|
| 像素 | 级联扩散 | 无需学习压缩,但空间成本高 |
| 连续自编码器潜变量 | 潜空间扩散或修正流 | 成本较低,但受重建上限约束 |
| 离散码本索引 | 自回归或掩码词元模型 | 可使用语言模型目标,但受量化上限约束 |
| 语义图像嵌入 | unCLIP 先验加解码器 | 把语义选择与渲染分开 |
Imagen 展示了像素空间级联:先生成 64 像素图像,再用独立的扩散超分辨率阶段放大到 256 和 1024 像素 (Saharia et al. 2022)。在它研究的范围内,扩大冻结 T5 文本编码器带来的收益高于扩大图像扩散模型。潜空间扩散则先训练自编码器,再在其连续潜网格中执行去噪 (Rombach et al. 2022)。SDXL 沿这一路线扩大规模,使用 26 亿参数的 UNet、两个文本编码器、尺寸与裁剪条件,以及可选的精修阶段 (Podell et al. 2024)。DALL-E 2 使用另一种分解:先验模型把文本映射为 CLIP 图像嵌入,扩散解码器再在该嵌入的条件下渲染图像 (Ramesh et al. 2022)。
数据质量的影响有时会超过架构差异。DALL-E 3 训练一个图像描述模型,用详细的合成描述替换简短的网页文本,再把这些新描述混入生成器训练 (Betker et al. 2023)。论文的消融实验显示,合成描述占比增加时,提示遵循度也随之改善。这只说明在该设置中改善了监督,不代表合成标签总是更好。
修正流使用了不同的训练目标。按从数据到噪声的约定,设
其中, 从数据分布采样, 是高斯噪声, 指出直线条件路径上的位置, 是文本条件, 是该端点对的目标速度, 是学习得到的速度场。生成时,系统从噪声端向数据端对这个速度场进行数值积分。多个端点对的平均速度仍可能形成弯曲的边缘流场,因此直线训练路径并不保证一步采样。
Stable Diffusion 3 把修正流、偏向中间噪声水平的采样权重与 MMDiT 结合起来。MMDiT 为文本和图像保留独立参数,同时允许两条词元流双向交互 (Esser et al. 2024)。根据供应商公告,FLUX.1 后来采用由多模态块和并行扩散 Transformer 块组成的 120 亿参数混合架构,并以流匹配训练 (Black Forest Labs 2024)。流匹配改变的是目标;速度仍由采样器、函数求值次数、自编码器和硬件共同决定。
离散路线把图像网格转换为码本索引。VQGAN 把学习量化器与自回归 Transformer 结合起来 (Esser et al. 2021);ViT-VQGAN 改进了量化器,Parti 则把文本条件下的索引预测扩展到 200 亿参数 (Yu et al. 2022; Yu et al. 2022)。VAR 不再从左到右扫描展平图像,而是逐级预测更精细的词元图 (Tian et al. 2024)。它报告的速度与质量比较来自类别条件 ImageNet,因此只能证明这是另一种生成调度,不能证明它是通用文生图胜者。OpenAI 之后把 GPT-4o 的原生图像生成归类为自回归,但没有公布其分词器、分解方式或解码器设计 (OpenAI 2025)。潜变量不会因为被模型处理就自动变成词元:连续网格支持扩散或流,离散索引则支持类别预测。
压缩视频的空间与时间
一段视频含有 帧,每帧高为 、宽为 。其中, 表示帧数, 和 表示帧高与帧宽。设自编码器在时间轴和两个空间轴上的压缩因子为 ,Transformer 再把潜网格切成 大小的块。序列长度大约为
其中, 是 Transformer 位置数; 是自编码器压缩因子; 是以潜网格单元计量的 Transformer 块尺寸。通道数会改变每个位置的宽度,不会改变这个序列数。这个公式只用于核算,不是质量估计。
下面的可运行示例复现 Movie Gen 公布的最大视频上下文:16 秒、每秒 16 帧、每帧 768×768 像素。时空自编码器在每条轴上压缩八倍,Transformer 再把每个 2×2 空间潜单元组合成一个位置。
frames, height, width = 16 * 16, 768, 768
compression = (8, 8, 8)
patch = (1, 2, 2)
latent = tuple(
size // stride
for size, stride in zip((frames, height, width), compression)
)
tokens = (
latent[0] // patch[0]
* latent[1] // patch[1]
* latent[2] // patch[2]
)
raw_positions = frames * height * width
latent_positions = latent[0] * latent[1] * latent[2]
print(f"原始时空位置:{raw_positions:,}")
print(f"潜空间位置:{latent_positions:,}")
print(f"Transformer 词元:{tokens:,}")
print(f"位置数缩减:{raw_positions // tokens:,} 倍")
早期视频扩散设计用时空分解的 3D UNet 扩展图像模型 (Ho et al. 2022)。扩散 Transformer,也就是 扩散 Transformer(DiT),则把 Transformer 块作用于潜块;原始 DiT 研究在 ImageNet 实验中显示,模型计算量增加时质量也随之改善 (Peebles and Xie 2023)。Sora 的 2024 年技术报告介绍了作用于时空潜块且支持可变视频形状的扩散 Transformer,但公开信息不足以复现该系统 (Brooks et al. 2024)。
开放论文让压缩边界更具体。CogVideoX 报告了一个因果 3D 自编码器,它在时间轴压缩四倍,在每个空间轴压缩八倍,并连接一个文本视频扩散 Transformer (Yang et al. 2024)。Movie Gen 报告了一个 300 亿参数的流匹配视频 Transformer,它建立在时空自编码器上,另外用一个音频模型根据视频生成声音 (Polyak and others 2024)。同步输出并不意味着画面和音频来自同一个联合采样器。压缩改变的是表示成本,不是语义理解能力;物理一致性需要单独评测,第 16 章 将继续讨论这个问题。
分开考虑系统集成与表示方式
模块化程度与表示方式是两项不同的选择。产品可以让语言模型调用专用图像生成器,也可以让同一个训练主干交替处理文本和图像。无论选哪种系统组合,都可以使用离散码、连续潜变量或两者混合。
Chameleon 是一个采用早期融合的离散模型。它把文本词元与图像码本索引交错排列,用下一词元预测训练同一个 Transformer (Chameleon Team 2024)。其 7B 和 34B 训练配方使用了查询向量与键向量归一化、输出 z-loss 等稳定性控制。论文的消融实验发现,查询向量与键向量归一化在该设置中不可或缺。这些结果不能证明每个统一模型都需要同样的训练配方。
Transfusion 保留连续图像块。同一个 Transformer 对文本位置使用下一词元损失,对图像位置使用扩散损失 (Zhou et al. 2025)。在论文的受控比较中,连续表示用更少的训练计算量得到了更好的图像生成结果。这个结论仅在该实验设置下反映表示方式的差异,并非对所有分词器的通用比较。Show-o 把自回归文本与离散掩码图像扩散结合起来 (Xie et al. 2025),Emu3 则对离散文本、图像和视频序列使用下一词元预测 (Wang and others 2024)。统一模型仍然可以使用不同损失,同一种损失也可以作用于模态专用的分词器。
在系统层,如果组件需要独立的发布周期、安全策略、延迟预算或数据来源管控,模块化仍然很有吸引力。端到端训练能保留狭窄接口丢弃的信号,却会让故障更难定位。OpenAI 将 GPT-4o 描述为一个跨文本、视觉与音频训练的网络 (OpenAI 2024)。公开信息没有披露其内部表示,因此这项公开说明无法回答离散表示与连续表示孰优的问题。
评测实际准备交付的能力边界
「多模态质量」范围太宽,无法成为有用的单一指标。应当分别测试每一道接口:
| 边界 | 问题与指标 |
|---|---|
| 图文表示 | 双向检索、零样本分类、子群与提示词敏感性 |
| 视觉理解 | OCR、图表、空间定位、回答正确率、校准、证据定位 |
| 图像生成 | 提示遵循、计数与绑定、文字渲染、多样性、人类偏好、安全 |
| 视频生成 | 时间一致性、运动、身份保持、物理行为、音视频同步 |
| 服务 | 视觉序列长度、预填充时间、缓存内存、首个输出延迟、加速器成本 |
MMMU 含有 30 个学科的 11,500 道大学水平问题,同时测试视觉感知与专业知识 (Yue et al. 2024)。MMMU-Pro 删除了一部分不看图也能回答的问题,把四个选项扩展到十个,并添加纯视觉条件以减少捷径 (Yue et al. 2024)。任何基准分数都必须注明模型版本、提示协议和工具使用情况。
在生成评测中,GenEval 用检测器和分类器为物体存在性、数量、颜色、位置和属性绑定评分 (Ghosh et al. 2023)。DPG-Bench 使用被拆成多个语义命题的密集提示 (Hu et al. 2024)。这些自动评判器是有用的诊断工具,但不是对审美、多样性、排版、记忆或有害输出的完整衡量。先评测准备交付的那一道边界,再补上端到端任务与人类评测。
未解决的问题有两个彼此独立的层次。系统设计者要在可替换的专用组件与更深的端到端集成之间选择;模型设计者则要在离散、连续、混合表示,以及下一词元、掩码、扩散、流目标之间选择。一项选择的证据不能决定另一项。有意义的比较应当固定数据、计算量、分词器质量和评测协议,但大多数产品宣传式比较都做不到这一点。
表示长度会直接传导到服务层。图块尺寸、分辨率、分块方式、视频时长、时间压缩和潜块尺寸,会共同决定 Transformer 需要处理多少位置。这些选择也会丢失信息,所以降低成本可能会损害 OCR、定位、运动或重建质量。先写清输入与输出契约,再计算序列长度,并在对应压缩率下测量质量。
评论
登录后评论