#模块九:多模态(图文音视频)知识点

#一、共同结构:不是给 LLM 多塞一段特征

VLM、Audio LLM、Video LLM 的共同结构可以概括为四层:模态编码器 -> 连接器 -> LLM 主干 -> 任务输出。模态编码器把图像 patch、音频谱图片段、视频帧序列变成连续向量;连接器把这些向量压缩、投影或重排成 LLM 能读的 token;LLM 负责跨模态推理、指令跟随和文本生成;输出层再生成答案、caption、摘要、检索分数或结构化结果。和纯文本 LLM 相比,关键差异不是“输入多了一种格式”,而是输入空间更噪、粒度更细、时间和空间位置更重要,并且模型必须学会把非语言信号对齐到语言概念。

一个好的回答要先讲清这条数据流。图像不是一句话,图片里的 patch 不天然等价于词;音频不是 ASR 文本,里面还包含说话人、情绪、环境声、音乐节奏;视频也不是多张独立图片,动作顺序、镜头切换和音画同步都会改变语义。因此多模态模型的核心工程问题是:在有限 token budget 下,保留足够的感知细节,并把这些细节转成 LLM 可使用的条件上下文。

#二、视觉编码器与连接器:projector、cross-attention、Q-Former、adapter、resampler

视觉侧最常见的编码器是 CLIP ViT、EVA、SigLIP、DINOv2 或领域内重新预训练的 ViT。它们把图片切成 patch,输出一串视觉 token。难点在于这些 token 的维度、数量和语义分布都不等于 LLM 的词向量,所以中间必须有连接器。

Projector 是最直接的方案:用线性层或 MLP 把视觉 token 映射到 LLM embedding 维度,再把它们作为特殊 token 拼到 prompt 里。优点是简单、训练便宜,适合 LLaVA 类路线;缺点是视觉 token 数量大时上下文开销高,细粒度关系也容易被压扁。Cross-attention 则让语言 token 在若干层中主动 attend 到视觉特征,融合更灵活,但推理结构更复杂,通常需要改 LLM block 或插入额外模块。Q-Former 用一组可学习 query 从冻结视觉编码器中提取少量视觉摘要 token,典型收益是压缩视觉信息、稳定对齐训练;代价是 query 数量和训练数据决定信息瓶颈。Adapter 是轻量参数模块,可以插在视觉编码器、连接器或 LLM 层间,用少量参数适配新模态或新领域。Resampler,如 Perceiver Resampler,面对高分辨率图像、多图或视频帧时,把大量 patch token 压缩成固定数量的 latent token,是控制成本的常用手段。

面试里容易加分的说法是:连接器不是“胶水层”,而是多模态能力的瓶颈层。它决定视觉细节能不能进入语言推理、空间位置是否保留、长视频是否会把上下文挤爆,也决定线上推理的 KV Cache 和延迟成本。

#三、token 对齐与训练目标:从检索到可对话

多模态对齐通常分阶段做。第一类目标是 contrastive learning,代表是 CLIP:图像和文本分别编码,在共享语义空间里拉近匹配图文、推远不匹配图文。它适合检索、零样本分类和粗粒度语义对齐,但不等于模型会对话,也不保证能数清物体、读懂表格或解释局部关系。

第二类目标是 caption / generative pretraining:给图片、音频或视频生成描述,让模型学习从感知 token 到自然语言的条件生成。它比对比学习更接近 LLM 使用方式,但如果训练 caption 太泛化,模型会学到“看起来合理的描述”,这也是视觉幻觉的重要来源。第三类目标是 instruction tuning:把输入组织成“多模态上下文 + 用户问题 + 期望回答”,训练模型遵循指令、拒答不确定内容、使用 OCR 或 grounding 信息,并适配多轮问答。

token 对齐要处理三件事:一是维度对齐,即视觉/音频/视频 token 能进入 LLM embedding 空间;二是位置对齐,即 patch、区域、帧、音频片段和文字答案之间能建立引用关系;三是语义对齐,即模型知道“左上角的红色标志”“第 12 秒出现的撞击声”“人物拿起杯子之后”分别对应哪段输入。实际系统会用特殊占位符、模态边界 token、二维位置编码、时间戳 token、坐标 token 或额外 grounding head 来增强这种对齐。

训练阶段还要区分“冻结谁”和“训练谁”。很多系统会先冻结视觉编码器和 LLM,只训练 projector 或 Q-Former,让两边表示先对上;然后用 caption、VQA、OCR、图表、文档、视频问答等混合数据做多模态指令微调;最后再用偏好数据或拒答数据修正幻觉和表达风格。这样做符合 KISS 思路:先解决最小的接口对齐,再逐步打开更多参数;否则一开始全量训练,视觉表示、语言能力和指令格式会同时漂移,问题很难定位。

如果被追问扩散模型和自回归生成模型的关系,可以这样回答:扩散模型更适合高保真图像、视频或音频生成,它通过逐步加噪和逐步去噪学习数据分布;自回归模型更适合文本、代码、离散 token 或需要逐步决策的序列生成。多模态理解模型通常以自回归 LLM 作为推理和回答核心,而图像生成模型常用扩散结构;两者可以组合,例如 LLM 负责理解指令和规划,扩散模型负责生成像素级内容。

#四、音频和视频:时间维度是主要难点

Audio LLM 通常先把波形转为 log-mel spectrogram 或离散音频 token,再由音频编码器提特征。若任务只是语音问答,可以走 ASR -> LLM;但这不是完整 Audio LLM,因为 ASR 会丢失非语言信息,例如情绪、背景声、音乐、说话人重叠和声学事件。真正的音频理解需要在时间片段上建模,并把声学线索与文本语义同时对齐。

Video LLM 的难点更集中在信息密度和 token budget。一个 30 秒视频如果按高帧率输入,视觉 token 会远超文本上下文承载能力,所以必须采样。常见策略包括均匀采样、关键帧采样、镜头切分、基于运动强度采样、按用户问题检索相关片段,以及粗到细的两阶段处理。均匀采样覆盖全局但可能错过关键动作;关键帧采样省 token 但容易丢因果顺序;基于事件的采样更准,但需要额外检测器或检索模块。时序建模可以放在视频编码器里,也可以用 temporal pooling、时序位置编码、frame-level resampler 或让 LLM 读取带时间戳的帧摘要。

视频不是“把图片答案平均一下”。例如“人先开门还是先拿钥匙”依赖顺序;“球是否越线”依赖细粒度运动;“广告里谁说了产品名”依赖音画同步。回答视频系统设计题时,必须同时说明帧抽样、时间位置、音频融合和长视频压缩策略。

一个工程化的短视频理解系统可以按三层做:第一层离线抽帧、解码音频、生成低成本 embedding 和元数据;第二层按用户问题选择片段,例如先找包含人物、文字、关键动作或高能量音频的时间段;第三层把少量帧、局部裁剪、音频片段或 ASR 文本送入多模态大模型。这样比固定每秒抽一帧更稳,因为它把“覆盖全局”和“保留证据”拆开处理,也方便在成本不足时降级为关键帧问答或纯文本摘要。

#五、评测、幻觉与部署成本

多模态 benchmark 可以按能力拆:图文检索看 Recall@K;VQA 看答案准确率和推理类型;caption 看描述质量但不能只依赖 BLEU/CIDEr;OCR/文档理解看文字识别、布局和表格结构;grounding 看框、点或区域 IoU;视频问答看事件、顺序、动作和长程依赖;音频任务看 ASR、声学事件、说话人、情绪和音频问答。可靠评测最好按场景分桶,而不是只报一个综合分,因为模型可能在自然图像问答很强,却在图表、医学影像、低光视频或多说话人音频上失效。

多模态幻觉有自己的来源。语言先验会让模型在没看清时补全常见物体;caption 数据会鼓励流畅描述而非忠实观察;采样漏帧会让视频模型错过关键证据;OCR 分辨率不足会把文字读错;音频转写会漏掉非语音事件。工程上可以用更高分辨率或区域裁剪、视觉证据引用、拒答训练、grounding 检查、检索式二次确认和任务专用评测集来缓解,但不能宣称彻底解决。

部署成本也比文本系统重。图片和视频需要预处理、解码、缩放、编码器前向;视觉 token 会增加 LLM 上下文长度和 KV Cache;长视频还带来存储、带宽、帧缓存、批处理不稳定和异步队列问题。线上常用策略是缓存视觉 embedding、限制分辨率和帧数、按问题触发局部重采样、把重模型离线化、用小模型做路由或过滤,再把少量高价值片段送给大模型。

评测时还要警惕数据泄漏和答案格式偏置。很多公开题集会被训练数据覆盖,模型可能靠语言记忆答对;有些 VQA 题答案很短,模型即使没看图也能猜中高频答案。因此更严谨的评估会加入反事实图片、遮挡区域、时间顺序扰动、OCR 干扰、跨领域数据和人工证据核查。面试回答不要只背 benchmark 名字,要说明“这个指标到底验证了哪种能力、没有验证哪种能力”。

#六、常见误区、复盘清单与追问链路

  • 常见误区:CLIP 能检索不等于能深度问答;把 ASR 文本交给 LLM 不等于理解音频;视频抽几帧不等于理解动作;分辨率越高、帧越多不一定越好,因为 token budget 和噪声会反噬;projector 参数少不代表不重要;caption 指标高不代表事实忠实。
  • 复盘清单:先说明输入模态和任务目标;再说明编码器选型;然后解释连接器如何压缩和对齐 token;接着讲 contrastive、caption、instruction tuning 各自解决什么;最后落到评测分桶、幻觉缓解和线上成本。
  • 追问链路:如果问架构,顺着“encoder -> connector -> LLM”展开;如果问训练,区分检索对齐、生成描述和指令跟随;如果问视频,先谈采样再谈时序;如果问落地,先给延迟、显存、缓存和降级策略;如果问效果,必须说清 benchmark 测的是检索、VQA、OCR、grounding、音频事件还是长视频推理。