1.提出问题?

2.解决问题?

  1. DPSelect(Dist Peak Select)压时间冗余:算相邻帧平均余弦距离,用 max pooling(窗口 3)找距离曲线上的局部峰值标记为 pivot 帧(画面突变的瞬间,灵感来自人脑追踪运动峰值),再按距离 top-k 补够帧。输出二值 mask 告诉后面 "哪些帧不许动"。

  2. PivotKV 压知识冗余:分 chunk prefill,每 chunk 内算注意力矩阵,按所有 head 的注意力和给每个 patch 打分;pivot 帧的 token 分数加 ∞ 全保留,非 pivot 帧只留 top α_kv 的高分 patch,其余从 KV cache 删掉。本质是让 LLM 自己决定哪些 patch 可以扔。

  3. 效率优化:用两个 CUDA stream 把 "第 l 层压缩" 和 "第 l+1 层 prefill" 重叠跑,TTFT 只多 8–11%,TPOT 反而降 19–28%。

    ReTake2ReTake1

3.成果

4.启发

  1. 补全了 token 压缩图谱的最后一块:transformation-based(无参、压缩比死)→ Q-Former / 蒸馏(要训练)→ 基于注意力的 KV 剪枝(FastV/H2O/SnapKV,所有帧一视同仁)→ ReTaKe(先按运动峰值把帧分两档,pivot 全保留、非 pivot 才按注意力剪)。它的核心洞察是 "不能所有帧一视同仁地按注意力剪"。

  2. 和之前那个判断题呼应:你问 "先分析再回答不适合做 token 压缩"——ReTaKe 走了条便宜的中间路:不引入独立 analyzer,而是复用 prefill 本来就要算的注意力矩阵当分析器,零训练开销。这比 VideoXAgent 那种显式调工具的方案更适合端侧推理加速。

  3. 可切入缺口:① pivot 帧靠余弦距离峰值,对 "运动小但语义关键" 的镜头(手术中手微抖、ECG 波形细微变化)会漏;② 注意力分数只在 chunk 内部算,没有跨 chunk 全局判断;③ 它是推理期 training-free 压缩,和训练时压缩(比如 DrVideo 那种)正交,可以叠加。