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

#97. CLIP 的核心思想是什么?

#标准答案

CLIP 的核心思想,是通过对比学习把图像和文本映射到同一个表示空间里:配对的图文应该彼此靠近,不相关的图文应该彼此远离。模型不是直接学“这张图属于哪个固定类别”,而是学“这张图和这段文本是不是同一个语义”。

它的重要意义在于建立了跨模态对齐基础。图像编码器学会提视觉语义,文本编码器学会提语言语义,两者在同一空间里对齐后,就可以做零样本分类、图文检索、多模态理解等任务。面试里如果能补一句”它把监督从固定标签扩展到自然语言描述”,会更完整,也更能说明它为什么影响后续 VLM 路线和多模态预训练范式。


#深度解析

1. 对比学习的数学形式(InfoNCE Loss)

CLIP 的训练目标是让配对的 (image, text) 对在 embedding 空间中距离近,非配对距离远:

L = -1/N * Σ [log(exp(sim(I_i, T_i)/τ) / Σ_j exp(sim(I_i, T_j)/τ))]
  • sim(I, T):图像和文本 embedding 的余弦相似度
  • τ:温度系数,控制分布的”尖锐度”
  • 分母中的 Σ_j:包括所有非配对文本(负样本)

直观理解:对于第 i 张图片,模型要学会在众多文本描述中”认出”正确的那一个。

2. 为什么 CLIP 能做到零样本分类?

传统分类:训练时固定类别(如 1000 个 ImageNet 类别),模型学的是”这张图属于第 437 类”。

CLIP 零样本:

  1. 把类别标签变成自然语言描述:”a photo of a dog”
  2. 用文本编码器得到描述 embedding
  3. 图像编码器得到图片 embedding
  4. 计算相似度,取最高的描述对应的类别

关键突破:类别不再是固定 ID,而是可变的自然语言。遇到新类别(如”一只穿西装的猫”),只需构造新的文本描述即可,不需要重新训练。

3. CLIP 的训练数据与规模

  • 数据:4 亿对 (image, text) 从互联网收集
  • 图像编码器:ResNet 或 Vision Transformer (ViT)
  • 文本编码器:Transformer(类似 GPT)
  • 训练:32 epochs,~256 V100 GPU days

规模效应:数据量从 1M 增加到 400M,零样本 ImageNet 准确率从 20% 提升到 76%。

4. CLIP 的局限

局限 表现 原因
细粒度差 难以区分”金毛”和”拉布拉多” 文本描述太粗粒度
组合推理差 “红杯子和蓝勺子”容易错 训练数据中组合概念少
数字/文字理解弱 计数、OCR 表现差 文本 encoder 不是为数字设计
空间关系弱 “左边””上面”容易错 文本描述很少精确描述空间

5. 面试官常见深挖追问

  • ”CLIP 的对比学习和 SimCLR(纯视觉对比学习)有什么区别?”
    • 答:SimCLR 对比的是”同一张图的不同增强视图”(图像-图像对比);CLIP 对比的是”配对图文的相似性”(图像-文本对比)。CLIP 的跨模态对齐让它可以借助文本的丰富语义来理解图像,而 SimCLR 只能学到视觉特征。
  • ”温度系数 τ 在 CLIP 中起什么作用?”
    • 答:τ 控制对比损失的”尖锐度”。τ 小 → 模型被迫把正负样本拉得更开( harder negatives 更有效,但训练更不稳定);τ 大 → 分布更平滑(训练稳定,但区分度降低)。CLIP 中 τ 是可学习参数,初始值约 0.07。
  • ”为什么 CLIP 之后 VLM 都倾向于用对比学习做对齐?”
    • 答:对比学习的优势:1)不需要人工标注类别标签,数据获取成本低;2)自然语言描述比固定类别更灵活、更丰富;3)学到的表示是”语义级”而非”任务级”,更容易迁移到新任务。后续 VLM(如 BLIP、LLaVA)虽然在具体架构上有差异,但跨模态对齐的核心思想都受 CLIP 启发。

#98. VLM 和纯文本 LLM 的最大区别是什么?

#标准答案

VLM(Vision-Language Model)和纯文本 LLM 的最大区别,不只是多了图像输入,而是必须先解决“非文本模态如何表示”和“不同模态如何对齐”这两个问题。文本天生已经是离散 token,而图像、视频、音频都不是,必须先经过编码器转成模型能消费的表示。

所以多模态系统比纯文本系统多出一整层挑战:视觉或视频特征如何抽取,如何压缩到可接受长度,如何与语言空间对齐,以及最终生成时如何让模型真正利用这些非文本信息。这也是为什么 VLM 不是”把图像接到 LLM 后面”这么简单,而是一次建模范式扩展。


#深度解析

1. 模态差异的本质:连续 vs 离散

特性 文本(LLM) 图像(VLM)
原始表示 离散 token 序列 连续像素矩阵 (H×W×3)
信息密度 高(每个 token 承载语义) 低(大量冗余像素)
天然结构 一维序列,位置线性 二维空间,层次结构
预处理 Tokenization → 整数索引 编码器 → 特征向量
序列长度 可控(通常 <100K token) 原始像素爆炸(224×224=50K)
语义层级 显式(词->句->段) 隐式(边缘->纹理->物体->场景)

2. VLM 的核心技术挑战

图像输入
    ↓
视觉编码器(ViT/CNN)
    ├── 挑战 1: 信息压缩 — 50K 像素 → 几百个特征,丢失多少细节?
    ├── 挑战 2: 分辨率适配 — 不同尺寸图像如何统一处理?
    └── 挑战 3: 细粒度保留 — 小物体、文字、边缘是否保留?
    ↓
模态对齐层(投影/Adapter/Q-Former)
    ├── 挑战 4: 空间对齐 — 视觉位置如何对应语言描述?
    ├── 挑战 5: 语义对齐 — “红色”在视觉和语言空间是否一致?
    └── 挑战 6: 粒度对齐 — 图像块与词/短语如何对应?
    ↓
语言模型
    ├── 挑战 7: 注意力融合 — 视觉特征是否真正被用于推理?
    └── 挑战 8: 生成协调 — 何时描述图像、何时基于图像推理?

3. 主流 VLM 架构路线对比

架构 代表模型 视觉注入方式 优势 劣势
Frozen LLM + 投影 LLaVA、MiniGPT-4 视觉 token 直接拼接到文本序列 简单、训练成本低 视觉压缩率高、细粒度差
Q-Former 桥接 BLIP-2 可学习的查询 token 从视觉特征提取关键信息 信息筛选、交互更充分 增加参数量、训练复杂
交叉注意力 Flamingo 在 LLM 层间插入 cross-attention 深度融合、视觉影响大 需修改 LLM 架构
统一编码器 GPT-4o、Chameleon 图像也 token 化,统一自回归处理 理论上最自然 计算成本高、训练难度大

4. 为什么”接到 LLM 后面”不够?

假设简单拼接方案:

图像 → ViT → 256 个视觉 token
文本 → Tokenizer → 50 个文本 token
输入 LLM: [V1, V2, ..., V256, T1, T2, ..., T50]

问题:

  1. 压缩损失:256 个 token 代表整幅图,小物体/文字细节被平均掉了
  2. 注意力竞争:256 个视觉 token 占据大部分注意力预算,文本推理受限
  3. 空间混乱:ViT 的 patch 顺序是扁平的,模型难以重建空间关系
  4. 训练不匹配:LLM 预训练时没见过视觉 token,初期对齐困难

5. 面试官常见深挖追问

  • ”VLM 的幻觉和纯文本 LLM 的幻觉有什么不同?”
    • 答:VLM 幻觉多一层”视觉-语言错位”。纯文本幻觉是”编造不存在的信息”;VLM 幻觉包括:1)”看到不存在的东西”(如把阴影误认为物体);2)”忽略存在的东西”(如漏看图中的关键文字);3)”空间关系错误”(如”左边”说成”右边”);4)”属性错误”(如颜色、数量说错)。这些错误根因往往是视觉编码器的压缩损失或对齐不足,而非语言模型本身。
  • ”为什么 VLM 通常先预训练视觉编码器,再对齐,而不是端到端训练?”
    • 答:计算效率和稳定性。视觉编码器(如 CLIP ViT)需要海量图文对(数亿级)学习基础视觉表示;对齐阶段需要高质量指令数据(数百万级)。如果端到端训练,需要同时优化视觉和语言,数据需求更大、收敛更慢、更容易崩溃。分阶段训练先用大量廉价数据打好视觉基础,再用少量高质量数据做对齐,是更经济稳定的路线。

#99. diffusion model 的前向和反向过程分别是什么?

#标准答案

扩散模型的前向过程,是从真实数据开始,逐步加入噪声,直到样本接近纯噪声分布;反向过程则是学习怎样一步步把噪声去掉,最终还原成结构化样本。训练时模型学的是这个去噪逆过程,推理生成时就从随机噪声出发,按多步去噪链把样本生成出来。

直觉上可以理解为:前向是在”破坏数据”,反向是在”学会修复”。这和自回归模型一 token 一 token 地往后写不同,扩散模型更像是在连续空间中逐步雕刻出目标样本,因此在图像生成上特别有优势。它的代价通常是采样步骤更多、生成时延更长,所以在实时性要求很高的场景里要特别权衡。


#深度解析

1. 前向过程的数学(DDPM)

设真实数据为 x_0,前向过程在第 t 步加入高斯噪声:

q(x_t | x_{t-1}) = N(x_t; √(1-β_t) * x_{t-1}, β_t * I)

通过重参数化,可以直接从 x_0 采样任意时刻的 x_t

x_t = √(ᾱ_t) * x_0 + √(1-ᾱ_t) * ε,  其中 ε ~ N(0, I)
  • β_t:噪声调度(通常从 0.0001 线性增加到 0.02)
  • ᾱ_tΠ(1-β_i),累积保留信号的比例
  • t → T(如 T=1000),ᾱ_t → 0x_T 接近纯噪声

2. 反向过程的数学

模型学习的是去噪过程:

p_θ(x_{t-1} | x_t) = N(x_{t-1}; μ_θ(x_t, t), Σ_θ(x_t, t))

训练目标(简化版):预测噪声 ε

L = E[||ε - ε_θ(x_t, t)||²]

即:给定加噪后的图片 x_t 和时间步 t,模型预测当时加入了多少噪声 ε

3. 为什么扩散模型适合图像生成?

特性 自回归(如 GPT) 扩散模型
生成方式 逐 token/逐像素 全局逐步去噪
并行性 串行 每步内部可并行
全局一致性 差(只能看已生成部分) 好(每步看完整图)
模态 离散 token 连续像素
可控性 通过 prompt 通过 classifier-free guidance

图像具有强空间相关性(相邻像素相似),扩散模型的全局去噪能更好地保持这种结构。

4. 采样加速:DDIM 和少步生成

原始 DDPM 需要 1000 步去噪,生成一张图要几分钟。

DDIM(Denoising Diffusion Implicit Model) 核心洞察:

  • 前向过程定义了从 x_0x_T 的轨迹
  • 但反向过程不需要严格按这个轨迹走
  • DDIM 允许用更少的步骤(如 50 步)跳跃式去噪

加速效果:1000 步 → 50 步,质量损失很小;→ 20 步,略有损失;→ 4-8 步(Distillation 后),质量可接受。

5. 面试官常见深挖追问

  • ”扩散模型训练时模型预测的是什么?是干净图片还是噪声?”
    • 答:预测的是噪声 ε(标准 DDPM)。也可以预测干净图片 x_0 或预测 x_{t-1},但预测噪声在数学上最稳定。因为噪声是高斯分布,预测目标有良好定义;而预测干净图片需要模型恢复精细细节,难度更大。
  • ”classifier-free guidance(CFG)是什么?为什么能让生成质量提升?”
    • 答:CFG 是无分类器引导,核心做法是训练时随机丢弃条件信息(如文本 prompt),让模型学会”有条件生成”和”无条件生成”两种方式。推理时:output = output_uncond + w * (output_cond - output_uncond),其中 w > 1 是引导强度。w 越大,生成结果越”忠实于条件”,但多样性降低。w=7.5 是常见默认值。
  • ”扩散模型和 VAE、GAN 相比各有什么优劣?”
    • 答:GAN 生成快(1 步),但训练不稳定、容易 mode collapse;VAE 训练稳定、有显式隐空间,但生成质量通常不如 GAN 和扩散;扩散模型训练最稳定、生成质量最高,但采样慢(需多步)。当前趋势:扩散模型主导图像生成,通过蒸馏(如 Consistency Models、SDXL Turbo)逐步解决速度问题。

#100. 图像编码器与语言模型对齐通常怎么做?

#标准答案

常见做法是先用视觉编码器把图像转成一串视觉特征,再用投影层、adapter、Q-Former 或 cross-attention 模块,把这些视觉特征映射到语言模型可以消费的表示空间。换句话说,不是让语言模型直接“看像素”,而是让前面的视觉模块先把图像压缩成高层语义特征。

对齐的关键在于两件事:一是视觉信息要保留足够语义,二是这些信息要能以语言模型习惯的方式注入进去。不同架构的差别,主要就在注入位置、压缩方式和训练目标上,也决定了后续多模态推理能力的上限和推理成本结构,因此这一步往往比单纯换更大 LLM 更先决定系统表现。


#深度解析

1. 对齐层的技术方案对比

方案 架构 参数量 训练方式 优势 劣势
线性投影 Visual Tokens × W_proj → LLM 维度 小(~10M) 冻结视觉编码器和 LLM,只训练投影 简单、高效、不易过拟合 表达能力有限
MLP 投影 2-3 层 MLP 替代线性 中等(~50M) 同上 非线性映射更强 可能过拟合
Q-Former 可学习 Query Token + Cross-Attention 中等(~100M) 两阶段:先图文对齐,再指令微调 信息筛选、交互充分 训练复杂
Adapter 在 LLM 层间插入轻量模块 小(~1% LLM 参数) LoRA 风格微调 保留 LLM 能力、参数高效 视觉影响受限
Cross-Attention 在 LLM 层内加 cross-attn 大(需改 LLM) 端到端训练 深度融合 计算成本高

2. 对齐训练的两阶段策略

阶段一:表示对齐(Representation Alignment)
    数据:大规模图文对(如 LAION-400M)
    目标:让视觉特征和文本特征在共享空间中"近义词接近"
    方法:对比学习(InfoNCE)或 captioning 损失
    结果:视觉编码器输出能被 LLM"理解"

阶段二:指令对齐(Instruction Alignment)
    数据:高质量指令数据(如 LLaVA-Instruct)
    目标:让模型学会"根据图像回答指令"
    方法:指令微调(SFT),通常冻结视觉编码器
    结果:模型能执行 VQA、描述、推理等任务

3. 对齐质量的评估维度

维度 测试方法 失败症状
语义保留 图像分类准确率(对比原始 ViT) 对齐后分类下降 >5%
细粒度保留 OCR 测试、小物体检测 看不清文字、漏小物体
空间关系 问答涉及方位(左/右/上/下) 空间描述错误
多图理解 多图对比/排序任务 混淆不同图像
语言兼容性 同义词替换测试 换种说法就不理解

4. 工程实践中的关键权衡

权衡 选项 A 选项 B 选择依据
分辨率 高分辨率(细粒度好) 低分辨率(速度快) 应用场景(文档 OCR vs 场景理解)
视觉 Token 数 多(信息保留好) 少(LLM 负担小) LLM 上下文窗口和注意力成本
冻结 vs 微调 冻结视觉编码器(稳定) 微调(适配好) 数据量(小数据冻结,大数据微调)
统一 vs 分离 统一自回归(GPT-4o) 分离编码(LLaVA) 计算预算和团队能力

5. 面试官常见深挖追问

  • "为什么通常冻结视觉编码器,只训练对齐层?"
    • 答:三个原因。1)视觉编码器(如 CLIP ViT)已经在大规模图文对上预训练,视觉表示质量高,不需要从头学;2)视觉编码器参数量通常不小(300M+),全量微调需要大量数据和计算;3)更重要的是"灾难性遗忘"——如果微调视觉编码器,可能破坏它原有的视觉表示能力,反而影响对齐效果。冻结视觉编码器、只训练轻量对齐层,是数据效率和稳定性的最优解。
  • "对齐层训练时,学习率怎么设?为什么通常比 LLM 微调的学习率大?"
    • 答:对齐层是随机初始化从头训练的,需要较大学习率(如 1e-3)快速收敛;而 LLM 是预训练好的,微调时学习率通常很小(如 1e-5)避免破坏已有知识。如果同时训练对齐层和 LLM,通常会对齐层用较大学习率、LLM 用较小学习率,或者使用分层学习率调度。另一种做法是分两阶段:先只对齐层高学习率训练,再全模型低学习率微调。

#101. 多模态任务中常见 benchmark 有哪些类型?

#标准答案

多模态 benchmark 常见可以分成几类:图文检索,考跨模态对齐;视觉问答,考图像理解和语言推理结合;图像描述,考视觉信息到自然语言生成;OCR 与文档理解,考细粒度文本读取和版面感知;视频问答、视频摘要,考时序建模;音视频理解,则考模态同步与事件抽取;还有更综合的多模态推理 benchmark,考的是关系、因果和常识。

回答时最好强调:这些 benchmark 并不是同一种能力的重复测量。一个模型图文检索强,不代表视频理解也强;OCR 好,也不代表开放问答就好。所以多模态评测必须按任务类型拆开看。


#深度解析

1. 多模态 Benchmark 的完整分类体系

大类 子类 代表 Benchmark 核心能力 评测指标
图文检索 图像→文本 Flickr30K, COCO 跨模态语义对齐 R@1, R@5, R@10
文本→图像
视觉问答 开放式 VQA v2, OK-VQA 图像理解+常识推理 准确率
知识型 A-OKVQA 需要外部知识 准确率
科学型 ScienceQA 科学图表理解 准确率
图像描述 通用 COCO Captions 视觉→语言生成 BLEU, CIDEr, SPICE
详细 DenseCap 细粒度定位描述 mAP
OCR/文档 场景文字 TextVQA, ST-VQA 图中文字识别与理解 准确率
文档理解 DocVQA, InfographicsVQA 版面+结构+内容 ANLS
视频理解 分类 Kinetics, UCF101 动作识别 Top-1/5 准确率
问答 MSRVTT-QA, ActivityNet-QA 时序推理 准确率
摘要 长视频摘要 ROUGE
多模态推理 综合 MMMU, MathVista 大学级别多学科推理 准确率
视觉+数学 图表数学问题 准确率
grounded 任务 指代表达 RefCOCO "左边的猫"→定位 准确率
视觉定位 文本描述→bbox IoU

2. 不同 Benchmark 的能力正交性

                    细粒度
                      ↑
    OCR/TextVQA    │    Visual Grounding
    DocVQA         │    RefCOCO
    ───────────────┼────────────────
    粗粒度 ←───────┼───────→ 推理深度
    ───────────────┼────────────────
    Image Caption  │    MMMU
    COCO Retrieval │    ScienceQA
                      ↓
                    高推理

关键洞察:一个模型在 Image Caption(粗粒度生成)上表现好,不代表它在 TextVQA(细粒度 OCR)上也好;在 VQA(单图推理)上好,不代表在视频问答(时序推理)上好。

3. Benchmark 的局限性与误用

局限性 说明 后果
分布单一 多数 benchmark 用英文、西方图像 在其他文化/语言场景失效
标注噪声 众包标注质量参差不齐 模型学到噪声模式
数据泄漏 测试集混入预训练数据 虚高性能
任务简化 真实场景更复杂(多轮、多图) benchmark 高分≠产品好用
指标不敏感 BLEU/CIDEr 与人类感知不一致 优化指标≠优化体验

4. 多模态评测的最佳实践

实践 做法 价值
分层评测 按能力维度(感知/理解/推理/生成)分别测 精确定位能力短板
对抗测试 同义变换、图像裁剪、遮挡测试 评估鲁棒性
人工校验 对模型输出做人工质量评估 发现指标盲区
A/B 对比 固定测试集上对比两个模型 公平比较
场景评测 自建业务相关测试集 评估真实可用性

5. 面试官常见深挖追问

  • "如果一个模型在 COCO Caption 上 CIDEr 很高,但用户说描述不够实用,问题在哪?"
    • 答:CIDEr 是基于 n-gram 匹配的指标,奖励"和参考描述用词相似",而非"对用户有用"。模型可能学到:1)生成安全但泛泛的描述("一张有物体的图片");2)过度拟合训练集中的常见句式;3)忽略用户真正关心的细节。解决方法:1)加入人工相关性评估;2)用 LLM Judge 评估描述的信息量;3)按应用场景定义"好描述"的标准(如电商场景强调商品属性)。
  • "MMMU 号称测'大学级别多模态推理',它的难点到底在哪?"
    • 答:MMMU 的难点在于跨模态深度推理链:1)需要同时理解图像(图表/公式/实验图)和文本(问题描述);2)需要调用专业知识(医学/法律/工程);3)推理步骤多(3-5 步),中间一步错就全错;4)答案格式严格(数字/单位/术语)。这不是单纯的"看图说话",而是"看图→理解→知识检索→推理→生成"的完整链条。目前顶尖模型准确率也只有 60% 左右,说明多模态推理仍是开放挑战。

#102. 视频理解相比图像理解多了哪些难点?

#标准答案

视频理解比图像理解多出来的最大难点,是它不只是空间理解,还要做时间理解。你不仅要知道每一帧里有什么,还要知道事件先后顺序、动作变化、跨帧关系,以及哪些瞬间才是真正关键。于是采样策略、长序列压缩、时序建模、关键帧选择都会变成核心问题。

如果视频还带音频、字幕或 ASR 文本,问题会进一步升级成多模态同步:画面、声音、对白是不是对齐,叙事重点在哪一段,哪些片段该高采样。也就是说,视频理解不是”很多张图像的和”,而是时空结构建模问题,这也是它比图像任务贵得多的原因之一,因为任何一步采样失误都可能直接漏掉关键事件。


#深度解析

1. 图像 vs 视频:任务复杂度对比

维度 图像理解 视频理解
空间维度 单帧空间关系 多帧空间 + 时间演化
信息密度 静态场景 动态事件、时序因果
输入规模 1 张图(如 224×224) N 帧 × 每帧大小(如 300 帧 = 300 倍)
关键信息分布 全图均匀重要 高度不均匀(关键帧只占 5-10%)
标注成本 低(单图标注) 高(需标注时序区间、动作边界)
推理成本 O(1) 每图 O(T) 每视频,且需时序建模

2. 视频理解的四大核心挑战

视频输入
    ├── 时序理解
    │       ├── 动作识别:”挥手”需要看多帧
    │       ├── 因果推断:”因为 A 发生,所以 B”
    │       └── 时序定位:”第 3 秒到第 5 秒发生了什么”
    ├── 采样策略
    │       ├── 均匀采样:可能漏掉快速动作
    │       ├── 关键帧提取:计算成本高
    │       └── 事件密度变化:不同视频最优采样率不同
    ├── 长序列压缩
    │       ├── 显存爆炸:300 帧 × 每帧 256 token = 76K token
    │       ├── 注意力稀疏化:哪些帧互相 attend?
    │       └── 层次化表示:clip-level → event-level → video-level
    └── 多模态同步
            ├── 音视频对齐:说话人和口型是否匹配
            ├── 字幕时序:ASR 文本与画面是否同步
            └── 叙事理解:谁、什么时候、做了什么

3. 采样策略的定量分析

假设一个 10 秒视频,30fps,共 300 帧:

采样策略 保留帧数 计算量 风险 适用场景
逐帧处理 300 300× 无(但不可行) 不存在
均匀 1fps 10 10× 漏掉 <1s 的快速事件 慢动作、静态场景
均匀 2fps 20 20× 可能漏掉 0.5s 事件 通用场景
关键帧(场景切换) 5-15 5-15× 漏掉同场景内的动作 叙事理解
动作密度自适应 10-30 动态 需要预处理检测动作 体育/监控
稀疏+密集混合 全局稀疏 + 局部密集 中等 实现复杂 长视频理解

4. 时序建模的技术路线

方法 代表工作 原理 优势 劣势
3D CNN C3D, I3D 时空联合卷积 端到端、局部时空特征好 计算量大、难以捕获长时序
Two-Stream TSN 空间流 + 光流分别处理 显式建模运动 光流计算成本高
RNN/LSTM LRCN 帧特征序列化后 RNN 处理 长时序建模 串行慢、梯度问题
Transformer TimeSformer 时空联合 attention 全局关系建模 计算量 O((HWT)²)
Video Transformer ViViT tubelet embedding 兼顾效率和效果 需大规模预训练
Query-based VideoChat 可学习 query 聚合时序 压缩高效 可能丢失细节

5. 面试官常见深挖追问

  • ”如果一个 1 小时的视频,你不可能每帧都过模型,怎么保证不漏掉关键事件?”
    • 答:分层策略。第一层用轻量模型(如场景分类器)做快速扫描,检测场景切换和异常片段;第二层对候选片段用完整模型做密集分析;第三层如果有多模态信号(音频/字幕),用文本做初筛(如检测到”爆炸”关键词再去看对应视频段)。这种”由粗到细”的策略把计算集中在最可能包含关键信息的片段,而不是均匀分配。
  • ”视频理解中,时序信息是不是一定比空间信息更重要?”
    • 答:取决于任务。动作识别(如”跑步”)时序更重要;场景理解(如”在厨房”)空间更重要。多数任务需要两者结合。一个有趣的现象:对于短clip(<3s),空间特征有时足以判断场景类型;对于长视频(>1min),时序结构和叙事逻辑变得至关重要。这也解释了为什么视频模型通常先用图像预训练权重初始化——空间理解是基础,时序理解是增量。

#103. 为什么多模态系统常常不是”把图像特征接到 LLM 后面”这么简单?

#标准答案

因为真正困难的不只是“接进去”,而是“接进去以后模型能不能真的用好”。图像特征和语言表示来自完全不同的空间,如何对齐、如何压缩、如何保留细粒度关键信息,本身就是难题。再往上,还有长视频时序压缩、多模态噪声、模态缺失和标注成本等问题。

所以一个靠谱的多模态系统,通常至少要解决四件事:输入怎么编码、模态怎么对齐、上下文怎么组织、任务怎么评测。只会说”把视觉特征接到 LLM 后面”通常说明还停留在架构草图层面,离真实落地还差很远,因为真正难的是让模型稳定用好这些特征,而不是把特征塞进去就结束;这也是多模态工程经常比纯文本系统更难调试的原因。


#深度解析

1. “接进去”的四个隐藏工程难题

难题 表面现象 深层根因 工程代价
信息压缩 图像变成 256 个 token 50K 像素 → 256 token,压缩比 200:1 细节丢失、小物体识别差
粒度错位 模型”看不到”图像中的文字 图像 patch 比文字大,一个 patch 覆盖多个字符 OCR 需单独优化
注意力竞争 模型忽略图像、只凭文本回答 视觉 token 和文本 token 争夺注意力预算 需训练数据强制模型”看图”
模态噪声 图像质量差时回答混乱 训练数据以高质量图为主,低质量图泛化差 需数据增强、鲁棒训练

2. 多模态系统的调试复杂性

纯文本系统出错,通常只有一层要查:

文本输入 → LLM → 文本输出
     ↑ 问题只可能在这里

多模态系统出错,有六层可能:

图像输入 → 视觉编码器 → 对齐层 → LLM → 文本输出
    ↑           ↑          ↑      ↑        ↑
  图像质量    编码失真    对齐偏差  推理错误  生成幻觉

实际案例:模型回答错误,可能是因为:

  • 视觉编码器没识别出图中的关键物体(编码层)
  • 识别出来了但对齐层没把它映射到正确的语义(对齐层)
  • 映射正确但 LLM 的 attention 没”看”这个视觉 token(注意力层)
  • LLM 看了但和文本问题关联错了(推理层)

3. 多模态落地的额外系统挑战

挑战 纯文本 LLM 多模态系统
输入验证 检查文本长度 检查图像格式、尺寸、内容安全
预处理 Tokenization 图像解码、缩放、归一化
延迟构成 Tokenization + 推理 图像编码 + 对齐 + 推理
缓存策略 文本 prompt 缓存 图像特征缓存(更大)
错误处理 文本格式错误 图像损坏、不支持的格式
成本结构 按 token 计费 按 token + 图像分辨率计费

4. 为什么”简单拼接”在 demo 里能跑,生产里不行?

场景 Demo 环境 生产环境
图像质量 高清、标准尺寸 模糊、任意尺寸、截图、扫描件
图像内容 标准照片 图表、PDF、手写、多语言混合
问题类型 “描述这张图片” “找出图中第三行的错误”
并发量 单用户 1000 QPS,需批量处理
延迟要求 5s 可接受 <1s,否则用户流失
准确率要求 80% impress 99% 才能减少人工介入

5. 面试官常见深挖追问

  • ”如果多模态系统在某些图上表现很好,某些图上很差,怎么定位问题在哪一层?”
    • 答:分层隔离实验。1)换不同视觉编码器测试同一批图,如果都差→图像本身质量问题;2)看视觉编码器的中间输出(如分类 logits),如果编码器已识别错→编码层问题;3)把视觉特征替换成文本描述(”图中有一只猫”),看 LLM 回答是否正确,如果不正确→LLM 推理问题;4)用 attention 可视化检查 LLM 是否关注了正确的视觉 token。这种分层定位是纯文本系统不需要的,也是多模态调试更复杂的原因。
  • ”多模态系统里,视觉信息有没有可能'喧宾夺主',反而让文本推理变差?”
    • 答:有可能。现象:加了图像后,纯文本能答对的问题反而错了。原因:1)视觉 token 过多挤占了文本 token 的 attention 预算;2)图像中的噪声信息(如背景文字)干扰了推理;3)模型过度依赖视觉、忽略文本问题中的关键约束。解决方法:1)控制视觉 token 数量;2)在 prompt 中明确强调”根据问题要求回答,不要过度推断图像”;3)训练数据中增加”图像无关”样本,让模型学会判断何时应该忽略图像。

#104. 视频理解为什么难,难在时序、采样、压缩还是标注?

#标准答案

这几个都难,而且是叠加关系。时序难,是因为很多答案依赖动作顺序、因果和跨片段联系;采样难,是因为视频太长,不可能逐帧全看,必须决定哪些帧值得保留;压缩难,是因为长视频会把计算和显存迅速拉高;标注难,是因为视频标注远比单图昂贵,还常涉及多事件、多角色和跨模态对齐。

所以视频理解难,不是某一个单点卡住,而是表示、计算、数据三层一起在卡。面试时如果能把这三层同时说出来,通常会比只答“因为有时间维度”更完整,也更像真正理解任务成本结构和系统落地难点,因为每一层都会单独抬高训练与推理成本,并且让系统优化空间变得更碎片化。


#深度解析

1. 四层难度的量化对比

难度维度 具体问题 对系统的影响 缓解方向
时序理解 动作顺序、因果关系、长程依赖 需要更大的上下文窗口、更复杂的时序模型 层次化时序建模、事件检测预筛选
采样策略 信息密度不均、关键事件稀疏 均匀采样浪费计算,稀疏采样漏信息 自适应采样、多粒度融合
计算压缩 视频长度导致显存/计算爆炸 长视频无法直接输入 片段级处理、特征缓存、层次化聚合
标注成本 标注时长、时序边界、多事件重叠 训练数据稀缺、质量参差不齐 弱监督学习、自监督预训练、半自动标注

2. 时序、采样、压缩、标注的相互依赖关系

标注质量 ↑
    → 训练更好的时序模型
    → 更好的关键帧检测
    → 更优的采样策略
    → 更高效的压缩(保留关键信息)
    → 更低的推理成本
    → 可以处理更长视频
    → 需要更多标注...

这是一个正反馈循环,但启动困难:标注少 → 模型差 → 采样压缩不准 → 成本高 → 更难获取标注。

3. 各难度的具体技术挑战

时序理解

  • 动作分解:"打篮球" = 运球 + 投篮,需要识别子动作序列
  • 时序推理:"因为地面湿了,所以有人滑倒了"需要跨帧因果推断
  • 长程依赖:1 小时纪录片中,开头和结尾的关联

采样策略

  • 事件密度差异:体育视频(密集动作)vs 访谈视频(静态对话)
  • 关键事件持续时间:进球瞬间(2s)vs 整场比赛(90min)
  • 最优采样率无法预先知道

计算压缩

  • 1 分钟 1080p 视频 = 1800 帧 × 1920×1080 × 3 字节 ≈ 11 GB 原始数据
  • 经过编码器后:假设每帧 256 token,1 分钟 = 460K token,远超 LLM 上下文
  • 即使是 1fps 采样,1 小时视频 = 3600 帧 = 921K token

标注成本

  • 图像标注:1 张图,$0.1-0.5
  • 视频标注:1 分钟视频,需标注时序区间、动作类别、参与对象,$5-20
  • 多事件重叠:同一时间段多个动作同时发生,标注复杂度指数增长

4. 行业解决方案演进

阶段 做法 局限
暴力处理 逐帧过 CNN + 后聚合 计算不可行
稀疏采样 固定间隔抽帧 漏关键事件
两阶段 先关键帧检测,再密集分析 关键帧检测本身可能错
端到端学习 Transformer 直接处理视频 token 需要海量数据和算力
层次化 局部编码 → 事件聚合 → 全局理解 架构复杂、训练困难

5. 面试官常见深挖追问

  • "如果视频里有两个同时发生的事件,模型怎么知道回答哪个?"
    • 答:这取决于问题和上下文。技术上,模型通常通过 attention 机制隐式选择"与问题最相关"的事件。但如果两个事件都与问题相关,模型可能混淆。工程解决方案:1)在 prompt 中明确指定时间范围或事件类型;2)训练数据中增加多事件场景,让模型学会处理;3)输出时要求模型明确说明引用的是哪个时间段的事件。目前这仍是开放问题,多事件视频理解准确率明显低于单事件场景。
  • "视频理解中,标注成本比图像高多少?有没有降低标注成本的方法?"
    • 答:视频标注成本通常是图像的 10-50 倍,因为:1)需要标注时间区间(开始/结束帧);2)动作边界模糊,需要多人标注取一致;3)长视频需要观看完整内容才能标注。降低成本的方法:1)自监督预训练(如对比学习、掩码预测),用无标注数据学基础表示;2)主动学习,只标注模型最不确定的样本;3)弱监督,用视频级标签(如"篮球比赛")训练,不标注帧级动作;4)合成数据,用游戏引擎生成带自动标注的视频。

#105. 图文检索、视觉问答、视频摘要这三类任务的模型需求有什么差异?

#标准答案

图文检索最看重的是跨模态表示对齐,也就是图和文能不能落在同一语义空间里;视觉问答则要求模型既看懂图像内容,又能把问题理解和视觉证据结合起来做语言推理;视频摘要更进一步,重点变成如何压缩长时序、筛选关键事件、组织叙事结构。

因此这三类任务虽然都属于多模态,但模型需求完全不同:检索更偏对齐,VQA 更偏感知加推理,视频摘要更偏长期时序建模和内容压缩。回答时如果能把“输入形式、核心能力、输出目标”三者拆开讲,会更清楚,也更容易体现为什么不能用一个指标评所有任务、也不能期待一个调参方案通吃所有多模态任务。


#深度解析

1. 三类任务的输入-处理-输出对比

维度 图文检索 视觉问答 视频摘要
输入 查询文本 + 图像库 图像 + 问题 长视频
核心操作 跨模态相似度计算 视觉感知 + 语言推理 时序压缩 + 内容选择
输出 排序后的图像列表 自然语言答案 短视频/文本摘要
关键能力 表示对齐 多跳推理 叙事理解
评估指标 Recall@K, mAP 准确率 ROUGE, 人工质量
失败模式 语义匹配但内容不对 看懂图但答非所问 遗漏关键事件

2. 模型架构的适配差异

图文检索(对称双塔)
    文本 → Text Encoder ──┐
                          ├── 相似度 → 排序
    图像 → Image Encoder ─┘
    特点:编码器可离线预计算,检索时只算相似度

视觉问答(融合编码)
    文本 + 图像 → 联合编码器 → 解码器 → 答案
    特点:必须同时处理两种模态,推理成本高

视频摘要(层次化编码)
    视频 → 片段编码 → 事件检测 → 摘要生成
    特点:长序列处理,需要时序建模和选择机制

3. 为什么一个模型不能通吃三类任务?

任务 检索模型做 VQA VQA 模型做检索 摘要模型做 VQA
结果
原因 双塔模型没有联合推理能力 融合模型无法离线预计算 摘要模型优化的是内容选择,不是问答

反例:CLIP 可以做简单检索,但做 VQA 需要额外训练(如 visual prompt tuning)。

4. 三类任务的数据需求差异

维度 图文检索 视觉问答 视频摘要
数据量 最大(数亿级图文对) 中等(百万级) 最小(十万级)
标注复杂度 低(图文匹配) 中(问答对) 高(时序摘要)
数据获取 网页爬取 人工标注 专业编辑
预训练价值 高(学通用对齐) 低(任务特定)

5. 面试官常见深挖追问

  • "如果一个模型在图文检索上效果很好,但做 VQA 效果差,最可能缺什么能力?"
    • 答:最可能是细粒度视觉推理能力。图文检索学的是"全局语义对齐"——图像整体内容和文本整体语义的匹配;VQA 需要的是"局部视觉推理"——根据问题定位到图像的特定区域,再结合该区域做推理。例如检索能判断"这是一张狗的照片",但 VQA 要回答"狗左边是什么"就需要定位能力。解决:在检索预训练基础上,加入 grounding 数据(如 ReferCOCO)和 VQA 数据做微调。
  • "视频摘要和图文检索能共享同一个视觉编码器吗?"
    • 答:可以共享底层(如 ViT 提取帧特征),但上层必须不同。检索需要"全局语义压缩"(一个向量代表整段视频);摘要需要"时序结构保留"(不能压缩成单一向量,否则会丢失事件顺序)。实践中常用共享帧编码器,但检索加全局池化,摘要加时序建模(如 Transformer/RNN)。

#106. 如果做一个短视频内容理解系统,你会怎样设计输入采样与时序建模?

#标准答案

更稳的设计通常是分层采样。先做稀疏全局采样,保证整段视频的覆盖;再对关键片段做加密采样,比如场景切换点、动作高峰段、对白密集段;如果有 ASR 或字幕,也可以用文本信号辅助决定哪些时间段值得重点看。这样做是为了在有限计算预算下尽量保留关键事件。

时序建模方面,则要把静态视觉 backbone 和时序汇聚模块结合起来,必要时再融合音频和文本。核心思路不是逐帧暴力堆算力,而是在”覆盖完整叙事”和”控制推理成本”之间找到折中。也就是说,采样本身就是建模的一部分,而不是纯预处理细节,它会直接决定系统能不能看到关键事件。


#深度解析

1. 短视频(15-60s)的分层采样架构

原始视频 (30fps)
    │
    ├── 第一层:全局稀疏采样 (1fps)
    │       └── 目标:获取视频整体结构
    │       └── 输出:30-60 个关键帧候选
    │
    ├── 第二层:事件检测
    │       ├── 场景切换检测(颜色直方图差异)
    │       ├── 动作峰值检测(光流幅度)
    │       ├── 音频事件检测(音量突变、音乐切换)
    │       └── ASR 文本关键词定位
    │       └── 输出:5-10 个高价值片段区间
    │
    ├── 第三层:局部密集采样 (5fps)
    │       └── 目标:在高价值区间获取更多细节
    │       └── 输出:每片段 10-30 个帧
    │
    └── 第四层:帧级编码
            └── 视觉编码器(ViT/ResNet)
            └── 音频编码器(可选)
            └── 输出:每帧一个特征向量

2. 时序建模的技术选择

方案 架构 计算量 长程建模 适用场景
2D CNN + 池化 每帧独立编码,全局平均池化 短视频分类
3D CNN 时空联合卷积 短(~16帧) 动作识别
RNN/GRU 帧特征序列输入 RNN 中等长度视频
Transformer 帧特征做 self-attention 需要全局关系
Sparse Transformer 局部密集 + 全局稀疏 attention 中高 长视频
Video-LLM 帧特征 → 视觉 token → LLM 很高 很好 开放式理解

短视频(15-60s)推荐:Video-LLM 或 Transformer,因为长度可控,能负担全帧 attention。

3. 多模态融合策略

视觉特征:V = [v1, v2, ..., vN]  (N 帧)
音频特征:A = [a1, a2, ..., aM]  (M 片段,通常 M > N)
文本特征:T = [t1, t2, ..., tK]  (ASR 文本 token)

早期融合:拼接 [V, A, T] 一起输入模型
    └── 优势:模态交互充分
    └── 劣势:维度高、计算大

中期融合:各模态分别编码,在高层交互
    └── 优势:平衡效果和效率
    └── 劣势:需要设计交互机制

晚期融合:各模态独立决策,结果融合
    └── 优势:简单、可解释
    └── 劣势:模态间信息利用不充分

4. 计算预算分配策略

假设总预算 = 处理 100 帧的等效计算:

策略 帧分配 效果 风险
均匀 100 帧均匀分布 全覆盖 每帧细节不足
金字塔 全局 20 帧 + 局部 80 帧 兼顾概览和细节 全局采样可能漏结构
事件驱动 按事件重要性分配 关键事件细节好 事件检测错误会连锁失败
自适应 根据内容复杂度动态调整 最优资源利用 需要额外计算评估复杂度

5. 面试官常见深挖追问

  • ”短视频理解中,ASR 文本和视觉信息哪个更重要?如果只能用一个,选哪个?”
    • 答:取决于任务。内容审核/分类场景,ASR 文本通常信息量更大(说话内容直接揭示主题);视觉场景理解(如动作识别),视觉更重要。如果只能选一个,短视频场景我会优先 ASR,因为:1)短视频通常有解说/对话,文本信息密度高;2)ASR 处理成本远低于视觉编码;3)文本可以直接用成熟的 NLP 模型。但最佳实践是两者都用,因为有些关键信息只在视觉中(如画面中的文字、动作)。
  • ”如果视频有 1000 条,要求 1 小时内处理完,怎么设计系统?”
    • 答:这要求平均 3.6s/视频。设计要点:1)批量处理而非逐条;2)视觉编码用 GPU 批量推理;3)ASR 用流式处理;4)关键帧检测用轻量模型(CPU 可跑);5)如果 QoS 允许,低置信度视频降级处理(更低分辨率/更少帧);6)水平扩展:多机并行。3.6s/视频对短视频是可行的,但需要全链路优化,不能有任何单点瓶颈。

#107. 扩散模型和自回归生成模型各自更适合什么类型的生成任务?

#标准答案

扩散模型通常更适合图像这类连续空间生成任务,因为它通过逐步去噪的方式,可以在高维连续分布里稳定生成高质量样本;自回归模型则更适合文本、代码、结构化 token 序列,因为这类任务天然就是一个 token 接一个 token 地展开。

如果讲得更实用一点,可以说:扩散擅长“高保真连续内容合成”,自回归擅长“顺序化离散生成与推理”。所以两类模型并不是谁完全替代谁,而是各自在不同输出空间里占优,实际系统里也经常混合使用,例如文本规划后再调用图像生成模型,从而把两者优势拼起来,这也是多模态产品里常见的组合方式。


#深度解析

1. 扩散模型 vs 自回归模型的本质差异

维度 扩散模型 (Diffusion) 自回归模型 (Autoregressive)
生成过程 从噪声逐步去噪(并行或迭代) 从左到右逐个 token 生成
输出空间 连续(像素、波形) 离散(token 序列)
训练目标 噪声预测(去噪) 下一个 token 预测
生成速度 慢(需多步迭代,通常 20-50 步) 快(一步一个 token,但序列长)
可控性 强(条件嵌入、Classifier-free guidance) 中(主要通过 prompt 控制)
模式覆盖 好(理论上覆盖整个数据分布) 中(受限于贪心/采样策略)

2. 两类模型的适用场景矩阵

任务类型 扩散模型 自回归模型 原因
图像生成 ✓ 非常适合 △ 可行但效果差 像素连续空间,扩散天然适配
音频生成 ✓ 非常适合 △ 可行 波形连续,扩散效果优
视频生成 ✓ 适合 ✗ 困难 时空连续,扩散逐步生成稳定
文本生成 ✗ 不适合 ✓ 非常适合 token 离散,自回归自然
代码生成 ✗ 不适合 ✓ 非常适合 结构化序列,需精确语法
分子/3D 生成 ✓ 适合 △ 可行 连续空间结构,扩散表现好

3. 混合使用:实际系统的常见模式

文本规划(自回归 LLM)
    ↓
"生成一张日落时分的海滩照片,有棕榈树"
    ↓
解析为结构化条件(自回归/规则)
    ↓
图像生成(扩散模型)
    ↓
图像输出

这种"自回归规划 + 扩散执行"的模式已成为行业标准:

  • DALL-E 3:GPT-4 生成详细 caption → 扩散模型生成图像
  • Sora:GPT 生成视频描述 → 扩散 Transformer 生成视频
  • MusicLM:文本编码器 → 音频扩散模型

4. 扩散模型的核心优势详解

优势 原理 效果
训练稳定性 每步只预测小量噪声,任务简单 比 GAN 更容易训练
模式覆盖 通过随机噪声覆盖整个分布 不易模式坍塌
条件控制 Classifier-free guidance 精确控制生成方向 文本-图像对齐度高
多尺度 去噪过程天然多尺度 全局结构到局部细节一致

5. 自回归模型的核心优势详解

优势 原理 效果
推理效率 一步生成一个 token,可缓存 KV 解码速度快
序列连贯性 因果结构保证前后一致性 文本逻辑流畅
条件灵活 任意前缀作为条件 对话、续写、填空都自然
工具集成 token 可对应工具调用标记 Agent、代码执行无缝衔接

6. 面试官常见深挖追问

  • "扩散模型能做文本生成吗?为什么主流还是自回归?"
    • 答:技术上可以(如 Diffusion-LM),但效果不如自回归。原因:1)文本是离散的,扩散在离散空间效率低;2)文本需要严格的语法和逻辑连贯性,自回归的因果结构天然保证这一点;3)扩散生成需要"一次性"确定整个序列,而文本往往需要根据前文动态调整后续内容。自回归的"逐步决策"更适合文本的层次结构(词→句→段)。
  • "为什么视频生成用扩散而不是自回归?"
    • 答:视频是时空连续的像素数据,和图像同属连续空间。如果用自回归生成视频,需要把视频离散化为 token(如 VQ-VAE 的 codebook),这会带来:1)信息损失(离散化压缩);2)序列极长(即使 256×256 的视频也有 65K 像素);3)因果结构对空间相邻关系建模不自然。扩散模型直接在连续像素空间操作,通过逐步去噪生成,既保留连续性又避免超长序列问题。Sora 使用 Diffusion Transformer 正是这种思路。

#108. 多模态系统在线上落地时,成本和时延通常比文本系统多出哪些问题?

#标准答案

多模态系统在线上落地时,首先多出的是前处理成本:图像要编码、视频要采样并编码、音频要转写或提特征,这些步骤在模型真正开始推理前就已经消耗了不少时间和显存。其次,多模态输入往往更长、更重,导致上下文构造、显存占用和带宽压力都比纯文本大。

此外,多模态还会引入同步问题:视频帧、音频、字幕是否对齐,是否要做多路模型协同,都会拉长链路。也就是说,文本系统的瓶颈常在模型本身,而多模态系统的瓶颈经常是”预处理 + 编码 + 对齐 + 生成”整条链路一起决定,因此容量规划和链路拆分通常要更早介入。


#深度解析

1. 多模态 vs 纯文本系统的成本结构对比

假设处理一个典型请求:

成本项 纯文本 LLM 多模态系统(图像+文本) 多模态系统(视频)
输入预处理 Tokenization(~1ms) 图像解码+resize(~10ms) 视频采样+解码(~100ms)
特征编码 视觉编码器(~50ms) 视觉编码器×N帧(~500ms)
上下文长度 1K token 1K text + 256 visual 1K text + 4K visual
LLM 推理 $0.001(1K token) $0.003(4K token等效) $0.01(16K token等效)
输出后处理 视频生成/时序聚合
总延迟 ~500ms ~1.5s ~5s+
总成本 $0.001 $0.003-0.005 $0.01-0.05

2. 多模态系统特有的时延来源

用户上传图像
    │
    ├── 上传带宽(用户侧)
    │       └── 高清图 5-10MB,4G 网络需 2-5s
    │
    ├── 服务端预处理
    │       ├── 格式校验(JPEG/PNG/WebP)
    │       ├── 解码(像素矩阵)
    │       ├── 尺寸适配(如 224×224 或 512×512)
    │       └── 归一化
    │       └── 小计:10-50ms
    │
    ├── 视觉编码
    │       └── ViT/CLIP 编码器前向
    │       └── 小计:20-100ms(GPU)
    │
    ├── 文本编码 + 拼接
    │       └── Tokenization
    │       └── 视觉 token + 文本 token 拼接
    │       └── 小计:1-5ms
    │
    ├── LLM 推理
    │       └── 主要瓶颈
    │       └── 小计:500ms-5s(取决于模型和长度)
    │
    └── 总时延
            └── 通常 1-10s,是文本系统的 2-10 倍

3. 多模态系统的额外工程成本

成本类别 具体问题 文本系统 多模态系统
存储 输入保留 文本(小) 图像/视频(大 100-1000 倍)
带宽 上传下载 高(图像 MB 级)
GPU 显存 推理时 模型 + KV cache 模型 + KV cache + 视觉特征
预处理服务 需额外部署 图像/视频处理服务
错误处理 输入异常 文本格式错误 图像损坏、格式不支持、尺寸超限
安全审核 内容安全 文本审核 文本+图像双审

4. 成本优化的特殊策略

策略 做法 节省
分辨率分级 先用低分辨率快速预览,确认需要再高清处理 50-80%
视觉缓存 相同图像的编码结果缓存复用 30-50%(重复查询)
异步预处理 上传后立即编码,用户提问时直接用特征 消除预处理延迟
边缘处理 图像预处理在边缘节点完成 减少中心带宽
模型分级 简单视觉任务用小模型,复杂任务用大模型 40-60%

5. 面试官常见深挖追问

  • ”如果多模态系统的视觉编码成为瓶颈,怎么优化?”
    • 答:多层优化。1)模型层:用更轻量的视觉编码器(如 MobileViT、EfficientNet)替代标准 ViT,牺牲少量精度换速度;2)缓存层:对高频出现的图像(如产品图、用户头像)做特征缓存;3)批处理层:视觉编码 GPU 批处理,提高吞吐量;4)硬件层:视觉编码和 LLM 推理分离部署,各自独立扩缩容;5)算法层:如果场景允许,降低输入分辨率(如 224→112),编码速度提升 4 倍。
  • ”多模态系统的成本是按什么计费的?和文本有什么不同?”
    • 答:多模态成本通常包括:1)图像/视频处理费(按分辨率、时长计费);2)视觉编码费(按调用次数);3)LLM 推理费(按 token 数,视觉 token 通常和文本 token 等价计费)。以 GPT-4V 为例:一张 512×512 的图约等于 255 个 text token 的成本。视频更复杂,通常按帧数和分辨率综合计费。因此多模态成本优化不能只看 LLM 部分,视觉处理往往占 30-50%。