#九、多模态(图文音视频)

#代表笔试题

多模态题的笔试外壳通常是 CLIP、VLM、Audio LLM、Video LLM、diffusion、视觉问答、图文检索、视频摘要,但真正考的不是背模型名,而是能否把不同模态拆成同一条工程链路:原始信号 -> 模态编码器 -> 对齐/压缩模块 -> LLM 或生成器 -> 任务输出。图像是二维空间信号,音频是一维时间波形,视频是空间加时间的序列;它们进入大模型前都要先变成一串可被 Transformer 消化的 token 或 embedding。

VLM 通常先用视觉编码器把图片切成 patch token。常见视觉编码器包括 ViT、CLIP vision tower、ConvNeXt 或带检测能力的区域编码器。ViT 的优势是天然输出 token 序列,适合接入 LLM;CLIP 视觉塔的优势是已经在大规模图文对比学习中学过语义对齐;检测/分割类编码器则更适合定位、计数、OCR、细粒度区域理解。视觉编码器输出的维度、token 数量和语义粒度通常都与语言模型不匹配,所以中间需要投影层或 adapter。

Audio LLM 的输入不是文字,而是波形、梅尔频谱或离散音频 token。语音识别只需要把声音转文字,但 Audio LLM 还可能理解说话人情绪、环境声、音乐结构、语气停顿和多轮口语上下文。它的关键难点是时间分辨率很高:16 kHz 音频每秒有 16000 个采样点,哪怕转成 10 ms 一帧的特征,每分钟也有 6000 帧。如果直接送入 LLM,上下文会爆炸,所以必须下采样、池化、分块、resampler 或先做 ASR/音频事件抽取。

Video LLM 可以看成 VLM 加上时间维度,但难度不只是“多几张图”。同一视频可能包含镜头切换、动作顺序、因果关系、字幕、语音、背景音乐和跨分钟事件。模型需要决定采多少帧、以什么帧率采、是否保留连续片段、是否抽关键帧、是否把音频轨一起建模。静态场景可以稀疏采样,快速动作需要密集采样;长视频还要分段摘要、层级记忆和检索式回看。

#代表面试题

面试里最常见的追问是:为什么不能直接把图片 embedding 拼到 prompt 前面?原因有三层。第一,视觉 token 和文本 token 的分布不同。文本 token 是离散符号,已经被 LLM 的 embedding 表示空间训练过;视觉 token 是连续特征,来自另一个编码器。第二,token 数量不同。一张 336x336 的图片按 14x14 patch 切分,会产生数百个视觉 token;多图或视频会迅速挤占上下文窗口。第三,监督信号不同。语言模型学的是 next-token prediction,多模态模型还要学“哪个词对应图中哪个区域、哪个动作发生在哪一段时间”。

因此主流接入方式一般有三类。线性投影层 最简单,把视觉/音频特征从编码器维度映射到 LLM hidden size,然后作为伪 token 拼进上下文;它成本低、实现直观,但细粒度对齐能力有限。cross-attention 或 Q-Former 用一组可学习 query 去读取视觉/音频特征,只把压缩后的少量 query token 交给 LLM;它能降低 token 数,也能学习“语言需要看哪些区域”。adapter/resampler 介于两者之间,用轻量模块完成维度变换、token 压缩和模态融合,适合冻结大部分 LLM、只训练桥接层的场景。

这里的核心词是 token 对齐。对齐不是把两个向量维度变一样,而是让语言模型在生成“红色杯子在桌子左侧”时,真的能把“红色”“杯子”“左侧”分别关联到视觉证据。粗粒度对齐只保证整张图和整段 caption 匹配,适合检索和分类;细粒度对齐需要区域框、OCR、mask、点选、时刻标注或更强的指令数据,适合定位、计数、复杂 VQA 和视频时序推理。答题时要把“表示维度对齐”和“语义证据对齐”区分开,这是很多回答容易混掉的地方。

训练上可以按三段理解。第一段是 contrastive learning,典型代表是 CLIP:一批图文中,正确配对的相似度要高,错误配对的相似度要低。这让图像和文本进入共享语义空间。第二段是 caption / generative pretraining,让模型根据图像生成描述,或根据图文上下文预测下一个 token,使视觉信息能参与语言生成。第三段是 instruction tuning,用图文问答、多轮对话、OCR、图表理解、拒答、安全样本等数据,把模型从“会描述图片”调成“会按用户意图完成任务”。Audio LLM 和 Video LLM 也类似,只是把图文数据扩展成音频-文本、视频-文本、音视频-指令数据。

#这一块真正考什么

这一块真正考的是你能否从“模型结构、数据、评测、部署”四个维度说明多模态为什么更难。结构上,VLM、Audio LLM、Video LLM 的共同骨架都是“专用编码器 + 桥接模块 + 语言/生成主干”,差别在于输入信号的形态和压缩策略。图像主要处理空间 patch 和区域语义;音频主要处理采样率、频谱帧、说话节奏和低延迟流式输入;视频同时处理空间 token 和时间 token,还要决定帧抽样、镜头分段和跨片段记忆。

数据上,多模态训练比文本预训练更依赖配对质量。网页图文 caption 便宜但噪声大,可能只描述图片主题而不描述细节;人工 VQA 和指令数据质量高但贵;视频字幕经常与画面不同步;音频转写会丢掉语气、环境声和重叠说话。Contrastive 数据适合学全局匹配,caption 数据适合学描述生成,instruction 数据适合学任务遵循。一个强系统通常不是只靠一种数据,而是先用海量弱监督建立粗对齐,再用高质量任务数据补细粒度能力。

评测上不能只看通用问答分数。VLM 要分开测图文检索、caption、VQA、OCR、图表理解、定位、计数、空间关系和多图推理;Audio LLM 要测 ASR、声音事件、语音情绪、口语问答、音乐理解和实时交互;Video LLM 要测动作识别、事件顺序、时间定位、长视频摘要、音画一致性和跨镜头推理。多模态幻觉也更复杂:纯文本幻觉是编造知识,多模态幻觉可能是看漏、看错、把先验当证据、把字幕当画面、把相邻帧动作顺序说反,或者在图片里没有对象时仍然给出细节描述。

部署上,多模态系统的成本主要来自前处理、编码器推理、token 膨胀和带宽存储。图片需要 resize、切 patch、多尺度或高分辨率裁剪;音频需要流式分块、VAD、重采样、特征提取;视频需要解码、抽帧、关键帧选择、音轨处理和缓存。多一条模态链路,就多一份延迟、显存、GPU/CPU 协同和失败模式。线上方案往往会做分层:简单任务走 OCR/ASR/检索/小模型,复杂任务才调用大 VLM 或 Video LLM;高频图片和视频片段会缓存 embedding,长视频会先离线索引再在线问答。

#作答抓手

回答多模态题时,可以固定用这条链路:输入信号 -> 编码器 -> token 压缩/对齐 -> LLM 融合 -> 训练目标 -> 评测与部署。例如回答“图像编码器如何接入 LLM”,先说视觉编码器产出 patch/region token,再说线性投影、Q-Former、cross-attention、adapter 的取舍,接着说对齐数据从图文对比到 caption 再到 instruction tuning,最后补评测和幻觉。这样比只说“用 CLIP 加 projector”更完整。

常见误区有五个。第一,把多模态理解等同于 OCR 或 ASR;转文字只是捷径,不等于理解图像区域、声音事件或动作。第二,以为维度投影就是模态对齐;真正的对齐还包括对象、属性、空间、时间和语言 token 的证据绑定。第三,只看单张图片能力来判断视频模型;视频的难点在顺序、持续时间、采样遗漏和长程依赖。第四,以为高分辨率一定更好;分辨率提高会带来更多 token 和显存,通常要配合 crop、tiling、动态分辨率或检索式放大。第五,以为 benchmark 高就能上线;真实业务还要看延迟、失败可解释性、内容安全、成本和数据分布漂移。

追问链路可以按面试官的方向展开。若追问 架构,比较 projector、cross-attention、Q-Former、Perceiver Resampler 的复杂度和可训练参数。若追问 训练,解释 contrastive 负责全局语义,caption 负责生成,instruction tuning 负责遵循任务和对话格式。若追问 视频,说明均匀采样、关键帧采样、滑窗密集采样、镜头级摘要和层级 memory 的取舍。若追问 音频,说明采样率、梅尔谱帧、下采样 stride、流式延迟和非语音声音信息。若追问 评测,主动区分是否真的看到了视觉/音频证据,还是靠文本先验猜答案。

一句话总结:多模态不是给 LLM 多接一个输入口,而是把不同物理信号压缩成可计算的 token,并让这些 token 在训练、推理和评测中都能和语言证据稳定绑定。面试里答得好的关键,是同时讲清“怎么接进来”“怎么对齐”“怎么证明没幻觉”“怎么便宜稳定地上线”。