1.提出问题?

长视频理解卡在两个硬约束:LLM 上下文有限、几千帧视觉 token 显存爆。现有方案都在视觉编码器端压 token 数 ——Q-Former 每帧出 32 个、pooling 合并空间 patch、LLaMA-VID 用 pixel unshuffle 把 4 个 patch 合成 1 个 —— 但代价是视觉细节永久性丢失,细粒度感知被严重削弱。作者观察到 LLM 处理长输入时注意力本来就很稀疏,说明输入其实一直在被 "隐式压缩",那就不如显式地做:在 LLM 内部压 KV,而不是在 LLM 外面压 token。

2.解决问题?

架构还是 LLaVA 那套(CLIP-ViT-L + 2 层 MLP projector + LLM),核心是 VST 机制。视频先按语义一致性动态切间隔:用 CLS 帧特征算相邻帧相似度,再算 depth score(当前帧和前后最相似帧的差),depth 超过阈值 δ 的位置切成段边界 —— 动作密集的段切短、静止的段切长。每个间隔内每隔 α 个视觉 token 插一个 VST,LLM 逐段编码:当前段编码完,把段里 VST 的 KV 保留下来作为这段的摘要,原视觉 token 的 KV 直接从显存卸载;编码下一段时,LLM 直接 attend 之前所有 VST 的 KV,把它们当作过去所有视觉内容的代理。训练用指令微调,两个 trick:一是课程学习,先训 2×/4× 小压缩比再训 8×/16×;二是复合数据,把单图、多图、视频统一切成 336×336 patch 当 "超级图" 喂,另外造了 VICO 数据集 —— 把长视频切成 14 秒短 clip、每段写 caption、再用 GPT 抽时序动作问 "正确顺序是什么"—— 专门教模型跨段找时序线索。

3.成果

MLVU dev/test 64.9/45.5,超过 GPT-4o 的 64.6/54.9(dev 项),比 LongVA 高近 9 个点;Video-MME w/o 字幕 55.5、w 字幕 61.0;VNBench 61.6,比之前最好的开源模型高近 10 个点,超过 GPT-4V 接近 GPT-4o;VideoVista 开源第一;LongVideoBench 7B 以下开源第一。压缩 ablation(Table 2)里同样 16× 压缩,VST 拿到 41.4/52.0,而上界(不压缩)是 41.8/52.6,保留率 99%;对比 pooling、Q-Former、LLaMA-VID、LLaMA-Adapter、C-Abstractor 这些视觉端压缩方法,VST 全面胜出。系统层面单张 A100 80GB 上能跑到上千帧不 OOM,比 LLaVA-NeXT-Video/LongLLaVA/LongVA 都长一大截。

4.启发

Video-XL 是 KV Cache 压缩路线在长视频上的早期代表作,和你正在复现的 ReTaKe 思路同源 —— 都是不压视觉 token 本身、而是压它们在 LLM 里的 KV,区别在于 Video-XL 用可学习的 VST 当 "摘要 token" 显式压缩,ReTaKe 用 DPSelect 选帧 + PivotKV 压 KV。它证明了三件事:一是视觉端压 token 会丢细节,KV 端压 KV 才能兼顾长度和精度;二是动态间隔切分比固定长度切分好,信息密集段必须保留更多 token,这和 ReTaKe 选帧时按信息密度加权是同一个直觉;三是长视频 SFT 数据不够时,可以用单图 / 多图 / 合成时序数据凑,VICO 这种 "切 clip→写 caption→GPT 抽动作→问顺序" 的造数据管线被后来很多工作沿用。放在你读的路线里,MA-LMM 是隐式 memory bank、LongVA/LongVILA 是不压缩硬塞、Video-XL 是 VST 显式压 KV、ReTaKe 是 PivotKV 压 KV、MemDreamer 是离线建图加 agent——Video-XL 是 ReTaKe 的直接前身,复现 ReTaKe 时建议先跑通 Video-XL 的 VST 当 baseline。