周五晚上,你窝在沙发里点开一部三小时的电影。看到第 40 分钟,手机一震,你回完消息再抬头,屏幕里主角正在和反派激烈对峙——你完全不记得他们为什么打起来。你疯狂倒带、倍速回放,终于在第 12 分钟找到那条被忽略的线索。这种体验,AI 每天都在经历:它“看”长视频时,同样会忘、会找、会在海量画面里迷路。更麻烦的是,AI 的小本本(上下文窗口)比你的记忆还小——一小时的视频足够把它的“脑容量”撑爆。 幸运的是,人类很早就发明了对付长片的办法:不逐帧硬记,而是先看预告片了解大局,边看边记笔记,再按需求随时回放某个片段。长视频理解正是把这套“观影智慧”教给 AI。本文会用一条贯穿始终的比喻——“让 AI 像人一样追完一部三小时电影”,带你认识分层建模、记忆机制、片段检索、高效注意力和长上下文这些核心概念。你将看到:让 AI 看懂一小时视频的关键,从来不是塞一个更大的模型,而是给它一套聪明的“观影策略”。
掌握长视频理解,意味着你能独立设计影视分析、课程总结、长直播审核等真实系统,把多模态 AI 从“只看图”推向“看长片、答长问”的工程能力——这是视频大模型时代最稀缺的落地技能之一。
可视化演示
展示连续分配、链接分配和索引分配三种磁盘文件分配策略的磁盘块布局,对比碎片化程度和访问效率。
本节配有交互动效(进入视口后自动加载,约 3KB)。
连续分配(Contiguous Allocation) 每个文件占用连续的磁盘块 顺序访问高效但易产生外部碎片 F1[0-3] F2[4-6] F3[7-8] 连续分配适合固定大小文件,动态增长困难。
长视频挑战
周五晚上,你打开一部三小时的电影。看到第 40 分钟,手机震了一下——你回完消息再抬头,屏幕里主角正在和反派对峙,你一脸茫然:他们为什么打起来?这就是“上下文丢失”。AI 看长视频时也一样:它的小本本(上下文窗口)翻到最前面,第一次出现的关键线索早就被冲掉了。一小时的视频,按每秒一帧抽取就是 3600 帧,每帧再转成几百个 token,总量轻松破百万,而模型的小本本只有几万页——根本记不下。
“记不下”是长视频理解的第一难点。视频本身是高度冗余的,相邻帧几乎一样,但关键转折可能就藏在某一帧里。模型既不能把全部帧都吞进去,又不能随便丢掉可能的关键帧。真正的矛盾在于:上下文窗口有限,而有效信息稀疏地散布在漫长的时序中。
用框架的眼光看,标准注意力机制要求每帧与所有帧两两比较,计算成本随帧数平方增长:
所以长视频理解的第一步,不是“看得更多”,而是“聪明地少看”——先承认记忆有限,再用分层、记忆、检索这些技巧安排有限的注意力。真正会看电影的人,不会逐帧背诵,而是记住关键情节点,随时准备回放。
- 序列长度 $L$$L$ 表示视频抽帧后的总帧数,一小时按每秒 1 帧就是 $L = 3600$。
- 平方复杂度$O(L^2)$ 表示每帧都要与其他所有帧比较一次相似度,总共大约 $3600^2 = 1296$ 万次比较。
- 对比线性成本若只与固定窗口内 $k$ 帧比较,成本降为 $O(Lk)$,因为 $k \ll L$,这才是可行方向。
分层建模
你会怎么向朋友推荐一部三小时的长片?你不会从头到尾逐帧复述,而是先说“这是一个复仇故事”,再挑两三场重头戏讲细节。AI 也是这样:直接用完整序列做精细理解的代价太高,不如先粗后细——先看懂“段落在讲什么”,再深入具体情节。这套思路就是分层建模。
分层建模的第一层是“分段聚合”。把视频切成 8~16 秒的小段,每段内几百帧先压成一个段级特征;第二层再把这些段特征按时间顺序交给全局模型。因为段的数量远远小于帧的数量,全局模型处理起来就轻松多了。这也契合人看片的习惯:眼睛每秒接收 24 帧,大脑记住的却是一幕幕“场景”。
分段聚合最朴素的实现,是取窗口内所有帧特征的均值:
当然,生产系统不会只用均值。更成熟的做法是第一层用小型视觉模型捕捉局部动作和物体,第二层用时序模型建模段与段之间的关系,第三层才做全局推理。层级越高,看得越“粗”,但视野越“广”。就像看电影:先记住几个章节名,再回忆每章的转场,最后才去抠每句台词——信息一层层收敛,但骨架始终在。
- 窗口长度 $w$$w$ 表示每个分段包含多少帧,比如 16 秒视频每秒 1 帧,则 $w = 16$。
- 窗口内帧索引$f_{(j-1)w+i}$ 是第 $j$ 段中第 $i$ 帧的特征向量,$(j-1)w$ 是第 $j$ 段的起始位置。
- 平均池化$\frac{1}{w} \sum_{i=1}^{w}$ 把窗口内所有帧的特征逐元素求平均,得到一个紧凑的段级特征 $\text{seg}_j$。
记忆机制
看三个小时的电影,你不可能把每句台词都背下来,但你会边看边记笔记:“第 12 分钟,女主拿到神秘钥匙”“第 80 分钟,钥匙打开地下室”——到结尾时,你靠这本笔记回答“钥匙到底有什么秘密”。模型同样需要这样一本笔记,术语叫记忆池。
记忆机制要回答三个问题:记什么、怎么更新、忘什么。记什么:只记录有信息量的片段,比如场景切换、人物入场、关键动作,而不是把每一帧都塞进去。怎么更新:新信息到来时,与记忆池中旧内容做融合——最近的情节通常会覆盖或修饰之前的记忆。
记忆更新最经典的形式是“指数滑动平均”:
除了滑动更新,工程上常用的还有“摘要记忆”:每当窗口满了,就用一个小模型把窗口内容写成一句摘要存进记忆池;如果记忆池满了,再按重要性丢弃最不重要的摘要。这就像观影笔记写满一页后,你会划掉无关紧要的支线,把主线越写越粗。好的记忆机制不是硬盘无限大,而是像人一样——有取舍地记。
- 新信息 $v_t$$v_t$ 表示当前时刻从视频段中提取的新特征,可以理解为“刚刚看完的这场戏”。
- 旧记忆 $m_{t-1}$$m_{t-1}$ 是上一时刻记忆池中的状态,代表“之前所有情节的浓缩”。
- 更新率 $\alpha$$\alpha$ 是权衡新旧的权重,取值范围 $(0,1)$。$\alpha$ 越大,新信息占比越高,记忆越容易被当前情节改写。
- 更新后的记忆 $m_t$$m_t$ 是加权求和的结果,既要“记住新的”,又不能“完全忘掉旧的”。
片段检索
电影看到结尾,你想回放“雨中分别”那场戏。你不会从头加速重看,而是直接拖动进度条到大约 90% 的位置——因为你记得那场戏快结束时出现。模型也一样:当用户问“主角什么时候发现真相”时,模型不会把一小时视频重新看一遍,而是先定位到记忆池中最相关的几段,再精确检索。
这个过程就是片段检索,包含三步:关键帧定位、索引构建、粗排精排。关键帧定位:在每个视频段中挑出能代表整段的帧,比如画面变化最大的那一帧。索引构建:将这些关键帧的特征向量做成索引表(如向量数据库),查询时先快速筛出候选。
候选排序最常用的度量是余弦相似度:
粗排用轻量的近似最近邻索引从几百万候选里筛出几百个,精排才用重模型对这几百个做精细打分。这和你下载电影的搜索框是一样的:先按片名粗筛,再对比海报和简介精挑。长视频理解里,检索就是模型的“进度条”——它决定了回答一个问题是秒回还是要等一分钟。
- 查询向量 $q$$q$ 是用户问题的向量表示,比如“主角何时发现真相”编码成一个 $d$ 维向量。
- 记忆向量 $m$$m$ 是视频段或关键帧的向量表示,同样处于 $d$ 维空间。
- 分子点积$\sum_{i=1}^{d} q_i m_i$ 计算两个向量对应维度的乘积之和,衡量“同方向的匹配程度”。
- 分母归一化$\sqrt{\sum q_i^2}\sqrt{\sum m_i^2}$ 对两个向量长度做归一化,让分数不受向量长短影响,只看方向一致性。
高效注意力
看足球比赛时,你的目光不会均匀扫过每一寸草皮——球在哪里,视线就在哪里。看长视频也一样:模型没必要对每一帧的每一个像素都给予相同关注,只需要把注意力集中在当前关键事件周围。如果注意力机制还是平方复杂度,一小时视频根本处理不动,所以必须让注意力“偷懒”,而且有策略地偷懒。
高效注意力家族里有三兄弟。局部窗口注意力:只看前后 $k$ 帧,完全不管远距离——相当于你盯着球附近的球员。稀疏注意力:在局部之外,每隔一段距离采样一帧参与计算——相当于用余光扫一眼远处有没有人跑位。线性注意力:用核技巧把注意力矩阵分解,把复杂度从 $O(L^2)$ 压到 $O(L)$——相当于不再两两配对,而是每个人先跟“裁判”汇报,再由裁判汇总。
广义上,稀疏注意力写成“只对部分键做 softmax”:
局部窗口保留细节,稀疏采样照顾全局,线性变换提速——三者结合,长视频模型才真正能在可接受的成本内“看完”整部片子。就像解说员不会反复描述草坪,只会跟着球讲:观众该看到的细节一个不少,冗长的空档全部跳过。
- 查询向量 $q$$q$ 是当前帧或被查询位置的向量,是注意力的“目光焦点”。
- 键集合 $K$ 与值集合 $V$$K$ 是所有候选帧的“标签”,$V$ 是它们的“内容”,注意力先匹配标签再加权内容。
- 缩放因子 $\sqrt{d_k}$$d_k$ 是键的维度,除以 $\sqrt{d_k}$ 防止点积数值过大导致 softmax 梯度消失。
- 键子集 $\mathcal{S}(q)$$\mathcal{S}(q)$ 是本次计算实际参与的键集合,可以是局部窗口、跳帧采样或聚类代表帧。
- 加权求和$\sum_{j \in \mathcal{S}(q)} \text{softmax}_j(\cdot) V_j$ 用归一化后的权重对值向量加权求和,得到当前帧的输出。
长上下文
再好的记忆机制,也有个前提:模型得记住“位置”。如果模型不知道第 2 分钟和第 100 分钟谁先谁后,情节因果关系就全乱了。位置编码就像是给视频每一帧贴上“第几分钟”的标签,让注意力机制知道“谁是前面的伏笔、谁是后面的高潮”。
经典的做法是 Transformer 里的正弦位置编码:用一组周期性变化的数值来标记每个位置的“时间戳”。更关键的是,训练时模型只见过 4096 个位置,推理时却要处理 100 万个位置——位置编码如果不会“外推”,就越界崩掉。长上下文技术要做的事,就是让模型在没见过的更长位置上依然表现正常。
正弦位置编码的公式:
工程上除了这类编码外推,还有更务实的上下文管理:把视频分成若干段落,每段一个摘要指纹,全局推理时只加载最相关的几段摘要进上下文;或者用 KV 缓存复用技术,让已算过的帧特征不重复计算。这就像你看一本厚书,不是把所有页码全部背下来,而是记住目录和关键章节的页码,需要时再翻到对应页。长上下文不是“无限内存”,而是“聪明的内存调度”。
- 位置 $t$$t$ 表示帧在视频中的绝对位置,比如第 3600 帧就是 $t = 3600$。
- 维度 $2i$$2i$ 表示向量的某个偶数维度,偶数维用 $\sin$,奇数维用 $\cos$,配合起来区分位置先后。
- 分母 $10000^{2i/d}$分母随维度 $i$ 增大而指数变大,让低维度编码变化快、高维度变化慢,形成多尺度周期。
- 正弦函数 $\sin$$\sin(\cdot)$ 使编码值有界且周期重复,模型学会“周期相位”后,就能预测更远位置的编码。
应用落地
铺垫完理论,回到真实世界:一个影视公司要你做一个“AI 看片助手”,把两小时的电影自动生成剧情梗概、高光片段时间戳和角色关系图。你会如何设计?答案是:把前面六节串成一条流水线——抽帧、分层、记忆、检索、注意力压缩,最后再针对业务做输出。
以电影分析为例,流水线长这样:输入影片 → 抽帧(每秒 1 帧)→ 第一层小模型识别镜头和场景 → 第二层时序模型按段落生成剧情摘要 → 记忆池浓缩全局 → 用户提问时触发片段检索,定位具体桥段 → 生成最终报告。整个过程不再是“一次性读完全片”,而是“边看边整理笔记,随时按需翻页”。
评估这类系统的效果,不能只看“回答得像不像”,要看“关键片段找得准不准”。业界常用 F1 分数:
部署时还要注意推理成本:长视频的特征抽取极其昂贵,常用做法是离线把视频切段、提前抽好特征存向量库,用户提问时只做检索和轻量推理;在线则用流式框架逐段消费视频,边接收边压缩,用户等到结束时已经拿到了记忆池。让 AI 真正“看懂一小时视频”,需要的不是一个更大的模型,而是一条聪明的流水线和一把好用的“进度条”。
- 精确率 $P$$P = TP/(TP+FP)$,表示模型找出的片段中,真正是用户想要的比例。
- 召回率 $R$$R = TP/(TP+FN)$,表示所有应该找到的片段中,模型真的找出来的比例。
- 调和平均$\frac{2PR}{P+R}$ 对 $P$ 和 $R$ 取调和平均,只有两者都高时,$F_1$ 才高——不会因为偏科得高分。
AI 应用场景
影视分析助手
阶段:离线分层建模 + 片段检索
解决的问题:传统方式下,影视策划需要人工拉片,一部 2 小时电影花 2~3 天才能产出剧情梗概和高光时刻表。AI 用分层建模把影片切成段、逐段生成剧情摘要,再用记忆池浓缩全局,最后通过片段检索回答“第几分钟发生了什么”,将拉片时间压缩到 20 分钟。
具体案例:某视频平台接入“AI 拉片”功能,用户输入“男女主角第一次相遇”或“反派身份揭露”这类问题,系统返回对应的精确时间戳和一段文字描述,由影视编辑核对后用于推荐文案和会员运营。
在线课程总结
阶段:流式分层 + 长上下文管理
解决的问题:90 分钟录播课信息密度低、知识点分散,学员很难快速定位重点。AI 把课程按章节切换切段,每段压缩成知识点摘要,再聚合到记忆池,最终输出 5 分钟精华版和知识点时间戳目录,让学员从“看一遍”变成“按需学”。
具体案例:某教育机构部署课程总结服务,每天自动处理数千节新课,生成“重点回顾 01:23-04:10 讲解矩阵乘法”这类结构化笔记,同时保留问答入口:学员问“老师什么时候讲了范数”,系统从记忆池检索出准确片段。
长直播内容审核
阶段:流式记忆更新 + 片段检索复核
解决的问题:连续 3 小时直播无法靠人工全程盯屏,传统抽帧审核容易漏掉瞬时的违规画面。AI 用高效注意力实时标记可疑片段,异常特征写入记忆池;若用户投诉某个时间点,再通过片段检索迅速调取该时段完整上下文,由人工复核。
具体案例:某直播平台接入了“异常片段定位”模块,审查员在转存系统里输入“22:13:05 附近疑似广告导流”,系统直接给出该片段及前后各 30 秒的重建上下文,审核效率提升约 70%。
Python 演示
import numpy as npfrom collections import deque class HierarchicalVideoMemory: """分层长视频理解:滑动窗口 + 压缩记忆池 + 片段检索""" def __init__(self, window=10, capacity=8, dim=64): self.window = window # 滑动窗口长度 self.capacity = capacity # 记忆池容量 self.dim = dim # 特征维度 self.short_term = deque() # 短期窗口 self.memory_pool = [] # (importance, vector) self._step_count = 0 def feed_frame(self, frame): # 注入一帧特征 self.short_term.append(frame) self._step_count += 1 if len(self.short_term) >= self.window: segment = np.mean(self.short_term, axis=0) fused = self._fuse_context(segment) self._write_memory(fused) self.short_term.clear() def _fuse_context(self, segment): # 与最相关记忆融合,保留时序信息 if not self.memory_pool: return segment top = self.memory_pool[0][1] return 0.7 * segment + 0.3 * top def _write_memory(self, segment): # 按重要性保留前 capacity 条记忆 importance = float(np.linalg.norm(segment)) self.memory_pool.append((importance, segment)) self.memory_pool.sort(key=lambda x: x[0], reverse=True) del self.memory_pool[self.capacity:] def retrieve(self, query, top_k=3): # 余弦相似度检索最相关记忆 scores = [np.dot(query, m) / (np.linalg.norm(query) * np.linalg.norm(m) + 1e-8) for _, m in self.memory_pool] order = np.argsort(scores)[::-1][:top_k] return order.tolist() def global_summary(self): # 全局总结:加权记忆 + 关键片段 total_w = sum(w for w, _ in self.memory_pool) + 1e-8 vec = sum(w * m for w, m in self.memory_pool) / total_w return { "summary_len": len(self.memory_pool), "key_moments": self.retrieve(vec), } if __name__ == "__main__": rng = np.random.default_rng(42) mem = HierarchicalVideoMemory(window=10, capacity=8, dim=64) # 模拟 120 秒视频,每秒 1 帧 for i in range(120): frame = rng.random(64) if i % 25 == 0: frame += 3.0 # 模拟关键事件特征增强 mem.feed_frame(frame) result = mem.global_summary() print("memory size:", result["summary_len"]) print("key moments:", result["key_moments"])
def feed_frame(self, frame):每来一帧就注入系统,窗口满了自动触发一次段级汇总。segment = np.mean(self.short_term, axis=0)把窗口内所有帧特征取平均,得到“这一小段讲了什么”。fused = self._fuse_context(segment)与当前最重要记忆做加权融合,让段信息带上历史语境。self.memory_pool.sort(key=lambda x: x[0], reverse=True)按重要性降序排列,保证记忆池永远保留最重要的条目。del self.memory_pool[self.capacity:]超出容量的一刀切掉,模拟“遗忘”。np.dot(query, m) / (np.linalg.norm(query) * np.linalg.norm(m) + 1e-8)余弦相似度,判断用户问题和哪条记忆最贴近。
常见误区
误区“长视频理解效果不好,一定是帧抽得太少。把每秒 24 帧全喂进去,模型应该能'看到'所有细节。”
正解帧数翻倍,注意力成本至少翻四倍(平方增长),而相邻帧的信息高度冗余。合理的做法是抽帧后先分层,用段落摘要代替原始帧,让模型看“浓缩剧情”而不是“全部像素”。就像读书不是每页逐字背,而是先抓章节主旨。
为何常见:很多人习惯性认为“输入越多信息越全”,忽视了模型的计算瓶颈和信号稀疏性。
误区“只要上下文窗口够大,直接把整部电影转成 token 丢给模型就行,一步到位。”
正解即便窗口容纳得下,平方注意力也扛不住;而且超长序列中有效信息密度低,模型容易被海量无关细节淹没。正确做法是分层 + 记忆机制:先分段压缩,再用记忆池维护全局,最后按需检索。窗口再大也不该把整个仓库搬进大脑。
为何常见:大语言模型的成功让很多人以为“长文本 = 大窗口”,忽略了视频多模态标记远超文本 token 量的事实。
误区“每层都比上一层粗糙,最后肯定把关键线索搞丢了,不如直接用全局模型。”
正解分层丢的是“冗余”,不是“关键”。第一层压缩时,模型会用重要性打分保留显著变化帧;记忆池更新的同时保留检索路径,需要细节时可以回跳到原始帧。就像导演讲故事会省略无关旁白,但关键线索永远有特写镜头。
为何常见:初学者把“压缩”等同于“有损删除”,没意识到压缩是有目标导向的信息筛选。
误区“记忆池容量调到最大,把所有片段的摘要都存下来,模型就过目不忘了。”
正解记忆池越大,检索噪音越高,注意力要扫描的候选也越多,成本和错误率同步上升。有效记忆不是“全保存”,而是“保存最重要的 + 随时能找回被丢掉的”——所以真实系统会配合两级存储:热记忆池只有几十条,冷存储是完整向量库,按需调回。
为何常见:把记忆机制类比成计算机内存,误以为“内存越大越好”,忽略了信息检索的精度与成本权衡。
面试题
Q1. 一小时视频按每秒 1 帧抽帧后,token 总量远超模型上下文窗口,最合理的处理手段是什么?
- A.让模型自行截断处理
- B.分层分段理解再聚合← 正确答案
- C.只保留视频首帧信息
- D.降低视频分辨率
答案:B。分层分段先把视频切成小段、逐段理解再聚合,既保留全程信息又让每段都在窗口内。A 会丢失中间关键剧情,C 只留首帧等于没看,D 分辨率与 token 量关系不大且伤害画质信息。就像看长片不能只背开头,而要分段做笔记。
Q2. 分层建模中“先粗后细”的含义是什么?
- A.先看全局走向再看细节← 正确答案
- B.先看画面颜色再看字幕
- C.先识别演员再推剧情
- D.先快进再回放全片
答案:A。分层建模先做粗粒度理解(段级摘要、全局脉络),再细粒度分析局部动作和物体,与“先看预告片了解大局,再补细节”是同一个逻辑。B、C 是低层视觉任务而非分层策略,D 是人工观看习惯,不是建模思路。
Q3. 以下哪个选项属于长视频“记忆池”的正确策略?
- A.把每一帧永久保存
- B.只使用当前帧信息
- C.压缩关键信息入池← 正确答案
- D.随机丢弃一半帧数
答案:C。记忆池的核心是“有取舍地记”——把有信息量的片段压缩成摘要存入,满了按重要性丢弃。A 会撑爆内存且引入检索噪音,B 丢失所有历史线索,D 随机丢弃可能丢掉关键转折。这就像观影笔记只记主线,而不是逐帧抄台词。
Q4. 滑动窗口 + 摘要记忆相比全量注意力的最大优势是什么?
- A.保证看全每一帧画面
- B.复杂度降为线性增长← 正确答案
- C.彻底消除时序依赖
- D.不需要任何预训练
答案:B。滑动窗口只让当前帧与附近 $k$ 帧交互,成本从 $O(L^2)$ 降到 $O(Lk)$,呈线性增长。A 是反的——它恰恰不逐帧全看;C 消除时序依赖是坏事;D 完全不现实,任何理解系统都需要预训练。
Q5. 片段检索中“粗排 → 精排”的流程主要做了什么?
- A.按颜色粗筛候选集
- B.轻量索引筛候选再精算← 正确答案
- C.把所有候选片段逐个精算
- D.随机抽取一段作为答案
答案:B。粗排用轻量近似最近邻索引从海量候选里快速筛出几百个,精排才用重模型逐条精细打分,兼顾速度和精度。A 用颜色做语义粗筛不可靠,C 全量精算太慢,D 随机抽取没有答案质量保证。这就像先按片名筛出几部电影,再对比海报简介挑一部。
Q6. 为什么长视频理解需要分层建模?
- A.单层注意力计算量过大← 正确答案
- B.全局记忆可以按需检索← 正确答案
- C.视频本身有层级结构← 正确答案
- D.分层能减少模型参数量
答案:ABC。分层能显著降低单层注意力的计算量(A),段级特征配合记忆池让全局理解按需检索(B),视频天然是“帧→镜头→场景→剧情”的层级结构(C)。但分层通常不会减少模型总参数量,反而可能因多级网络增加参数(D 错)。这就像看书按章、节、段组织,而不是逐字硬背。
Q7. 稀疏注意力机制的核心思想是什么?
- A.关注全部视频帧
- B.只对关键子集算注意力← 正确答案
- C.丢弃全部视频内容
- D.只处理最后一帧
答案:B。稀疏注意力只在每个查询对应的键子集 $\mathcal{S}(q)$ 上计算权重,比如局部窗口加跳帧采样,大幅降低计算量。A 是标准全量注意力,C 和 D 直接丧失了信息。好比看球赛只盯球周围的球员,用余光扫远处跑位。
Q8. 以下哪些策略可以缓解长视频上下文超限问题?
- A.位置编码外推法← 正确答案
- B.上下文压缩摘要法← 正确答案
- C.量化压缩模型显存← 正确答案
- D.不断提高视频帧率
答案:ABC。位置编码外推让模型在更长位置上依然有效(A),上下文压缩把长序列浓缩为摘要节约窗口(B),模型量化降低显存占用使更大输入可运行(C)。D 提高帧率只会增加 token 量,让上下文更紧张。这就像写观后感时用更简洁的措辞,而不是抄更多原文。
Q9. 位置编码外推的核心作用是什么?
- A.天然支持更长序列← 正确答案
- B.提高单帧画面清晰度
- C.加快视频下载速度
- D.降低模型参数量
答案:A。正弦位置编码具有周期性,模型学会周期相位后,能对训练时未见过的大位置数值做出合理编码,从而外推到更长序列。B 是画质问题,C 是网络传输问题,D 是模型压缩问题,都与位置编码无关。这就像学会“每 12 小时一个循环”后,能推算任意时刻的钟表位置。
Q10. 长视频理解系统上线部署时,哪些优化环节是必要的?
- A.模型量化压缩规模← 正确答案
- B.缓存复用中间特征← 正确答案
- C.分段并行批量推理← 正确答案
- D.放弃检索整段推理
答案:ABC。模型量化降低显存和延迟(A),缓存复用已算过的帧特征避免重复计算(B),分段并行批量推理能充分利用 GPU 吞吐(C)。D 放弃检索意味着每次提问都重新过完整段视频,成本和延迟完全不可接受。这就像看完电影做好索引,别人问剧情时直接翻笔记,而不是再放一遍。