帧选择即一切:如何让大模型真正看懂视频

引言:视频理解的隐藏瓶颈
当我们谈论大语言模型(LLM)的多模态能力时,往往聚焦在图像理解上——GPT-4V、Claude、Gemini 等都能对单张图片做出令人惊叹的描述与推理。然而,一旦任务从「看图」扩展到「看视频」,问题的复杂度便呈指数级上升。近期一篇在 Hacker News 上引发讨论的技术笔记指出了一个被广泛低估的核心命题:帧选择(Frame Selection)才是让大模型看懂视频的真正关键。
这一观点看似朴素,实则触及了当前视频理解系统的架构本质。本文将围绕这一命题,剖析为什么帧选择是整个视频理解流程中最关键的环节,以及它对工程实践的深远影响。

为什么视频理解本质上是「采样问题」
LLM 并不真正「观看」视频
一个常被忽视的事实是:目前主流的视频理解方案,绝大多数并非让模型逐帧连续处理,而是从视频中抽取有限数量的关键帧,再将这些静态图像输入到视觉编码器与语言模型中。换言之,模型看到的不是「视频」,而是一组被采样出来的「图片序列」。
这背后的原因非常现实——算力与上下文长度的双重约束。一段一分钟的 30fps 视频包含 1800 帧,若全部编码,token 消耗将迅速突破任何现有模型的上下文窗口。当前主流的多模态大模型处理图像的方式是通过视觉编码器(通常基于 ViT 架构,即 Vision Transformer)将图像切分为固定大小的 patch,每个 patch 被编码为一组 token。
Vision Transformer(ViT)最初由 Google 在 2020 年的论文《An Image is Worth 16x16 Words》中提出,其核心思想是将计算机视觉领域长期主导的卷积神经网络(CNN)范式替换为 Transformer 架构。具体做法是将输入图像划分为固定大小的 patch(通常为 16×16 或 14×14 像素),每个 patch 被线性投影为一个向量(类似 NLP 中的 word embedding),然后送入标准的 Transformer 编码器进行自注意力计算。这种架构使得视觉信息可以与文本 token 在统一的 Transformer 框架下进行交互,为多模态模型的构建提供了天然的接口。当前主流的多模态模型如 LLaVA、InternVL、Qwen-VL 等均采用 ViT 变体作为视觉编码器,常见的有 ViT-L/14(产生 256 个 token)和 ViT-G/14(产生 576 个 token)等配置。值得注意的是,ViT 的成功并非源于架构本身的优越性,而是得益于大规模预训练数据的加持——原始论文在 JFT-300M 数据集上训练后才超越了同等规模的 CNN,这暗示了数据规模对于视觉编码器性能的决定性影响。
以常见的配置为例,一张图片可能产生 256 到 576 个 token。这意味着如果输入 10 帧视频画面,仅视觉信息就可能消耗 2560 到 5760 个 token。而当前商用模型的上下文窗口虽然在不断扩大(从 4K 到 128K 甚至更长),但视觉 token 的计算开销远大于文本 token——它们需要经过交叉注意力(cross-attention)或类似机制与语言模型交互,计算复杂度随 token 数呈二次方增长。
Transformer 的核心——自注意力机制(self-attention)需要计算序列中每对 token 之间的相关性得分,因此其时间和空间复杂度均为 O(n²),其中 n 为序列长度。这意味着当输入 token 数从 1000 增加到 10000 时,计算量增长 100 倍而非 10 倍。对于视频理解场景,假设每帧产生 256 个 token,输入 100 帧就意味着 25600 个视觉 token,再加上文本 token,总序列长度可能达到数万级别。此时自注意力矩阵的大小可达数亿元素,GPU 显存和计算时间都将成为严重瓶颈。虽然 Flash Attention、Ring Attention 等优化技术可以缓解内存问题,但计算量的本质增长仍然存在。
Flash Attention 由 Tri Dao 等人在 2022 年提出,其核心思想是通过 IO 感知的分块计算避免在 HBM(高带宽内存)中实例化完整的注意力矩阵,将内存复杂度从 O(n²) 降低到 O(n),同时通过减少内存访问次数实现 2-4 倍的实际加速。Ring Attention 则由 UC Berkeley 在 2023 年提出,通过将序列分布在多个设备上,利用环形通信拓扑实现跨设备的注意力计算,理论上可以将上下文长度扩展到设备数量乘以单设备容量。此外还有线性注意力变体(如 RetNet、Mamba 等状态空间模型),试图从架构层面将复杂度降至 O(n),但在视觉任务上的效果尚不及标准 Transformer。这就是为什么即便上下文窗口「看起来够大」,全量帧输入在工程上仍不可行。
因此,工程上必须做出取舍:从成千上万帧中挑选出最具信息量的几帧或几十帧。
采样策略决定了模型的「视野」
正因如此,帧选择的质量直接决定了模型能否理解视频内容。如果采样恰好错过了关键动作发生的瞬间——比如一个投篮命中的时刻、一次实验结果的呈现、或是对话中的关键手势——那么无论后端的语言模型多么强大,它都无法从残缺的信息中还原出正确答案。这正是「Frame selection is the whole game」(帧选择即整场游戏)的深意所在。
从信息论的角度来看,这个问题可以被形式化为:给定帧预算 k,从 n 帧中选择 k 帧的子集 S,使得 S 关于下游任务的互信息 I(S; Y) 最大化,其中 Y 为任务目标(如问题的正确答案)。这是一个 NP-hard 的子模函数最大化问题,实践中只能通过贪心近似或启发式方法求解。
常见的帧选择策略及其局限
均匀采样:简单但盲目
最基础的做法是均匀采样(uniform sampling),即按固定时间间隔抽帧,例如每秒取一帧。这种方法实现简单、计算开销可预测,但它对视频内容一无所知。对于内容变化平缓的视频(如一场讲座)尚可接受,但对于信息密度不均的视频(如动作片段、体育赛事),均匀采样极易错失关键瞬间,或在静态画面上浪费宝贵的帧预算。
值得一提的是,均匀采样之所以仍被广泛使用,除了实现简单外,还因为它具备一个重要的理论优势:无偏性。在缺乏关于视频内容的先验知识时,均匀采样是对时间轴的无偏估计,不会系统性地偏向某类内容。许多学术论文的实验基线也采用均匀采样,这使得在均匀采样基础上的改进百分比成为了衡量帧选择算法好坏的事实标准。
内容感知采样:更聪明的取舍
更进阶的方案引入了内容感知(content-aware)机制。例如,通过检测场景切换、计算相邻帧之间的视觉差异、或利用光流估计运动强度,来判断哪些时刻「值得一看」。这类方法能在信息密集处加密采样,在静态处稀疏采样,从而在有限的帧预算下最大化信息覆盖。
具体而言,内容感知采样依赖多种计算机视觉技术。场景切换检测(shot boundary detection)通过比较相邻帧的颜色直方图、边缘分布等统计特征,识别视频中的镜头转换点。光流估计(optical flow estimation)如 RAFT、FlowNet 等算法,通过计算像素级的运动矢量场来量化画面中物体的运动强度。
光流估计是计算机视觉中的经典问题,旨在计算视频相邻帧之间每个像素的运动方向和速度,生成一个密集的二维运动矢量场。传统方法如 Lucas-Kanade 和 Horn-Schunck 基于亮度恒定假设进行变分优化。深度学习时代的代表性工作包括 FlowNet(2015,首次用 CNN 端到端预测光流)、PWC-Net(2018,引入金字塔结构和代价体积)以及 RAFT(2020,通过迭代优化实现了精度的大幅提升)。在帧选择场景中,光流的应用通常不需要精确的像素级运动估计,而是需要一个全局的运动强度指标。因此实践中常使用更轻量的方法,如计算帧差的绝对值均值,或使用 Farnebäck 算法的快速近似版本,以在毫秒级别内判断帧间是否存在显著运动。
此外,还有基于感知哈希(perceptual hashing)的方法,通过计算帧间哈希距离来度量视觉差异。感知哈希是一族将图像映射为固定长度紧凑指纹的算法,使得视觉相似的图像产生相近的哈希值。常见算法包括 aHash(基于平均灰度值)、dHash(基于相邻像素梯度方向)和 pHash(基于离散余弦变换的低频分量)。与加密哈希(如 SHA-256)不同,感知哈希具有局部敏感性——微小的图像变化只会导致哈希值的少量比特翻转,因此可以通过汉明距离来度量两帧的视觉相似度。在帧选择流水线中,感知哈希的典型用途是快速去重:当连续帧的哈希距离低于阈值时,可以认为画面无实质性变化,仅保留其中一帧即可。这种方法计算极为高效(单帧微秒级),适合作为帧选择流水线的第一道粗筛。
更先进的做法会使用预训练的 CLIP 模型提取语义特征,在嵌入空间中计算帧间的语义距离,而非仅仅依赖像素级差异。
CLIP(Contrastive Language-Image Pre-training)是 OpenAI 在 2021 年发布的视觉-语言预训练模型,通过在 4 亿对图文数据上进行对比学习,使得图像和文本被映射到同一个语义嵌入空间中。CLIP 的独特价值在于其零样本泛化能力——无需针对特定任务微调,即可通过文本描述来检索或分类图像。在帧选择场景中,CLIP 发挥了双重作用:一方面可以计算相邻帧在语义空间中的距离(而非像素空间),从而捕捉到像素变化不大但语义发生转变的时刻(如人物表情从微笑变为严肃);另一方面在查询驱动模式下,可以直接计算用户问题与每一帧的语义相关度,实现高效的帧筛选。CLIP 的推理速度极快(单帧约 5-10ms),使其成为帧选择流水线中理想的轻量级语义特征提取器。值得注意的是,CLIP 的训练数据来自互联网上自然配对的图文数据(如图片的 alt 文本),这使其语义理解具有很强的通用性,但也继承了互联网数据的偏见和局限——例如对罕见场景或专业领域图像的表征能力可能不足。
这些方法本质上都是在试图用启发式规则或轻量级模型来近似一个理想的信息论目标:选择能最大化整体信息熵覆盖的帧子集。
然而,这类方法也并非万能。视觉上的剧烈变化未必等同于语义上的重要性——一段快速平移的空镜头可能触发大量采样,却毫无信息价值;而一个静止画面中的细微表情变化,反而可能是理解全片的关键。这揭示了内容感知方法的根本局限:它们依赖的是视觉域的信号,而人类关注的往往是语义域的重要性,两者之间并非简单的线性映射。
查询驱动的选择:面向任务的采样
最前沿的思路是查询驱动(query-aware)的帧选择:根据用户提出的问题,动态决定应该关注视频的哪些部分。例如,当用户问「视频里的人最后做了什么决定」时,系统应优先采样视频结尾附近的帧。这种方法将帧选择从一个纯粹的预处理步骤,转变为与任务深度耦合的智能环节,代表了视频理解的重要演进方向。
查询驱动的帧选择近年来催生了多种研究范式。一种典型的两阶段方法是先用轻量级模型(如 CLIP)为所有帧生成文本对齐的嵌入,再根据用户查询与帧嵌入的相似度进行排序和筛选。更激进的做法是端到端训练一个帧选择网络,使其学会根据下游任务的梯度信号来优化选帧策略。端到端训练面临一个核心技术挑战:帧选择本质上是一个离散决策(选或不选),而离散操作不可微分,无法直接通过反向传播优化。解决这一问题的常见方法包括 Gumbel-Softmax 重参数化(将离散采样近似为连续松弛)、强化学习(将帧选择建模为序列决策过程,以下游任务准确率为奖励信号)以及注意力权重作为软选择(通过可学习的注意力得分对帧进行加权聚合而非硬选择)。
代表性工作包括 VideoAgent(将 LLM 作为智能体,迭代地决定观看视频的哪些片段)和 LLoVi(先生成视频片段的文字描述再由 LLM 推理)等。VideoAgent 的核心思想是将 LLM 视为一个具有规划能力的智能体,赋予它「观看视频片段」「回顾已看内容」等工具调用能力,让模型自主决定需要查看视频的哪些部分来回答问题。这种迭代式的探索策略类似人类观看长视频时的行为——先快速浏览、发现关键段落后再仔细观看。LLoVi(Large Language Models are Informed Video Summarizers)则采用了不同的策略:先用预训练的视频描述模型为视频的每个片段生成文字摘要,然后将这些文字摘要输入 LLM 进行推理。这种方法将视觉处理和语言推理解耦,使得 LLM 可以在纯文本域内进行时序推理。两种方法各有权衡:VideoAgent 更灵活但推理成本更高(需要多轮 API 调用),LLoVi 更高效但依赖中间描述的质量。
Google 的 Gemini 系列模型则尝试了另一条路径:通过超长上下文(100 万 token)直接处理更多帧,但即便如此,对于长视频仍需某种形式的帧筛选或分层压缩。Gemini 1.5 Pro 的技术基础是 Mixture-of-Experts(MoE)架构与高效注意力机制的结合。然而即便拥有如此巨大的上下文,直接以 1fps 采样 1 小时视频仍需 3600 帧 × 约 263 token/帧 ≈ 95 万 token,几乎占满整个上下文窗口,留给文本指令和输出的空间极为有限。此外,虽然模型理论上能接受这么长的输入,但实证研究(如「大海捞针」测试)表明模型对超长上下文中间位置信息的召回率显著下降(即 Lost in the Middle 问题)。因此在实际产品中,即便是 Gemini 也会采用分层摘要、关键帧提取等策略来压缩视频信息,而非真正逐帧全量输入。
工程实践中的启示
优化重心应前移
原文观点给工程团队带来的一个直接启示是:在优化视频理解系统时,与其一味追求更大的模型或更长的上下文,不如把精力投入到帧选择环节。一个精心设计的帧选择模块,往往能带来比升级底层模型更显著的效果提升,且成本远低。这符合系统工程中「找到瓶颈、集中突破」的一贯原则。
从系统设计的角度看,这体现了一个更普遍的工程直觉:在多阶段流水线系统中,上游的信息损失是不可逆的,下游再强大也无法弥补。这类似于数据工程中「garbage in, garbage out」的原则,也类似于信号处理中的奈奎斯特采样定理——如果采样率不足以捕捉信号的最高频率分量,那么无论后续的信号重建算法多么精巧,丢失的信息都无法恢复。
帧预算是核心约束
实践中,帧预算(frame budget)应被视为一等公民般的设计变量。团队需要在延迟、成本与准确率之间做出明确权衡:更多的帧意味着更高的准确率上限,但也带来更长的推理时间和更高的费用。如何在给定预算下把每一帧都花在刀刃上,正是「整场游戏」的核心竞技场。
帧预算的选择直接影响系统的经济性。以调用 GPT-4o 的 API 为例,每张图片按 detail 模式不同可能消耗 85 到 1105 个 token,按当前定价(输入 token 约 $2.5/百万 token),处理一段 10 分钟视频若采样 100 帧,仅视觉 token 的 API 成本就可能达到 $0.1-$0.3。Anthropic 的 Claude 3.5 Sonnet 对图像同样按 token 计费,一张 1568×1568 的图像约消耗 1600 个 token。Google 的 Gemini 1.5 Pro 则按每秒视频收取固定 token(约 263 token/秒)。这些定价差异使得在不同 API 之间,最优帧选择策略可能完全不同。
在大规模部署场景下(如视频审核平台每天处理数百万条视频),帧预算的优化直接关乎数百万美元级别的年度成本差异。延迟方面,每增加一帧不仅增加了网络传输时间和编码时间,更关键的是增加了 LLM 推理时的注意力计算开销,这在实时或近实时场景中尤为敏感。因此,工程实践中通常会设定 8 帧、16 帧、32 帧等离散档位,并针对不同业务场景进行性价比的精细调优。在企业级部署中,视频理解的成本优化通常还涉及多层缓存(相似视频复用分析结果)、自适应分辨率选择(简单问题用低分辨率模式)以及分层处理架构(先用廉价模型粗筛、再用昂贵模型精分析关键帧)。
评估体系需要重新设计
此外,这也提醒我们,评估视频理解系统时,不能只看端到端的准确率。理解「模型的失败究竟源于帧选择遗漏了信息,还是语言模型的推理能力不足」至关重要。只有将这两类错误解耦,才能有针对性地进行优化。
当前评估视频理解系统的主流基准包括 Video-MME、MVBench、EgoSchema、ActivityNet-QA 等。Video-MME 涵盖短视频(<2分钟)到长视频(>30分钟)的多粒度评估,包含字幕、时序定位、因果推理等多种任务类型。EgoSchema 专注于第一人称长视频(3分钟片段)的多选问答,要求模型具备长程时序理解能力。然而,这些基准普遍存在一个问题:它们评估的是端到端结果,无法区分帧选择失败和推理失败。为此,一些研究者开始构建诊断性基准,如标注每道题的「信息所在帧」,从而可以分别评估帧覆盖率和给定正确帧时的推理准确率,实现错误归因的解耦。这种诊断性评估方法论对于指导工程优化具有巨大价值——如果发现 80% 的错误源于帧选择遗漏,那么优化帧选择算法的优先级应远高于更换更强大的语言模型。
结语:被低估的关键环节
随着多模态大模型的能力不断增强,人们很容易将视频理解的成败归因于模型本身的智能水平。但这篇技术笔记提醒我们,在光鲜的模型能力之下,隐藏着一个朴素却决定性的工程问题:你到底给模型看了哪几帧?
帧选择这个看似不起眼的预处理步骤,实则是决定视频理解成败的胜负手。对于任何希望构建可靠视频理解应用的团队而言,理解并投入这一环节,或许才是真正的破局之道。当模型无法「看完」整个世界时,教会它「看哪里」,就成了整场游戏的全部。
展望未来,帧选择问题可能会沿两条路径演化:一是随着模型上下文长度的持续增长和计算成本的下降,帧预算约束逐渐放松,使得更密集的采样成为可能;二是帧选择本身变得更加智能化,从启发式规则走向端到端学习、从静态策略走向动态自适应。但无论技术如何演进,「在有限注意力下选择最有价值的信息」这一核心挑战,将始终是智能系统设计中的永恒主题。
相关推荐
观点碰撞Scaling Law再思考:参数不是唯一答案
深度解析Scaling Law从Kaplan到Chinchilla再到MoE时代的演进历程,探讨为什么盲目堆参数是误区,以及GLM-5.3如何通过后训练证明扩展存在多个旋钮。

本地AI Agent部署太慢?轻量级优化实战指南
本地部署AI Agent速度慢、频繁超时?本文从Agent框架隐藏开销、硬件瓶颈出发,提供精简配置、轻量工具选择、模型量化等针对性优化方案,并介绍通过Telegram Bot远程交互的实用技巧。

AI专业选电脑:MacBook还是NVIDIA笔记本?深度对比指南
AI专业大学生选电脑深度分析:MacBook Air M5搭配远程GPU vs NVIDIA独显笔记本,从CUDA支持、便携性、续航、性价比等维度全面对比,附实操建议。