Cosmo's Blog

Back

Record#

本周工作#

  • new baseline 2fps 完全体
  • 15-26 层进行剪枝,baseline 基础上
  • Attend Before Attention 论文和一些思考

new baseline 2fps 完全体和 new-llm#

之前的 baseline 是在 omnizip 的基础上进行修改的,

Modelfpsoverall_accuracyMusicCulture & PoliticsTech & ScienceDaily LifeFilm & TVSportsPerformanceGames
Qwen2.5-omni-3B(bf16,Full tokens)246.446.150.851.545.045.444.243.842.5
Qwen2.5-omni-3B(bf16,Full tokens)0.545.543.851.550.843.843.843.045.342.1
Qwen2.5-omni-3B(bf16,V(0.5)+A(0.3), new)241.941.147.947.340.742.039.137.138.2
Qwen2.5-omni-3B(bf16,V(0.5)+A(0.2), new)2---------
Qwen2.5-omni-3B(bf16,V(0.2)+A(0.2), new)244.744.549.247.843.144.641.040.141.4
Qwen2.5-omni-3B(bf16,V(0.5)+A(0.3), new+llm)225.136.526.929.620.826.618.421.719.3
Qwen2.5-omni-3B(bf16,V(0.2)+A(0.2), new+llm)2---------
Qwen2.5-omni-3B(bf16,V(0.6)+A(0.3), omnizip改)0.544.944.846.950.243.944.341.243.143.3
Qwen2.5-omni-3B(bf16,V(0.5)+A(0.5), omnizip改)0.544.743.346.349.844.143.842.142.744.6
Qwen2.5-omni-3B(bf16,V(0.5)+A(0.3), omnizip改)0.545.144.648.250.043.844.142.143.844.2

new baseline 2fps 的推理时间大概在 2 h 5 min 左右

new baseline 效果差的原因可能是因为音频 token 的剪枝过于激进了,相较于 omnizip 改的那版来说去除了非重要 token 合并的部分,在相同剪枝率的情况下保留了更少的音频 token。

同时由于视觉 token 剪枝 new 中以两帧一组进行余弦相似度计算,去除相似度(50%)以上的视觉 token,但是 2fps 下一组其实相当于 2s(内部卷积合并了一次),对于偏静态的视频,可能在 2s 内无明显变化,或者在 2s 内存在大量变化,但是目前设置的 50% 阈值可能减去了重要的变化信息。

new + llm 2fps 的推理时间在 3 h 左右,

  • Audio token:用 18–25 层 self-attn 的 incoming attention(被关注度) 做平均,然后在 26 层开始对 audio token 做 top‑k 保留(其余在 causal_mask 里被 mask 成不可被 attend)。

  • Video token:用 18–25 层里 audio query → video key 的注意力做平均,然后在 26 层开始对 video token 做 top‑k 保留(其余 key 位置被 mask)。

效果很差,也可能是因为压缩的太狠了,忘了调整 new 的 token 保留率,内部的保留率也是 A 70% V 50%。应该在 new 提供更高的保留率。

Attend Before Attention#

论文链接

Video

AutoGaze(pre-ViT)

Sparse patches

ViT / MLLM
plaintext

自回归决策:

P(p1,p2,p3)=P(p1)P(p2p1)P(p3p1,p2)P(p1, p2, p3) = P(p1) P(p2|p1) P(p3|p1,p2)

AutoGaze 训练分为两个阶段:对收集的凝视 patch 序列进行下一标记预测预训练,以及带有重建奖励的强化学习后训练。

用最少 patch,重构当前帧

输入:历史已选 patch + 当前帧 输出:选择 patch subset 目标:reconstruction error ≤ threshold

两阶段训练:

  • 第一阶段:预训练

    已选的 patch → 预测下一个patch

    数据来源:构造一组能良好重建视频的 patch 序列,作为 GT

  • 第二阶段:RL 训练

    已选的 patch + 当前帧 → 选择 patch subset

Audio AutoGaze ?#

音频和视频冗余结构不同:

  • 静音,背景噪声,长时间稳定音
  • 高频通常无信息(语义上)
  • 关键事件(说话、撞击、音乐变化)很少

Qwen2.5-Omni 的 audio encoder 输出每个 audio token 对应一小段时间(如 40ms)一个embedding向量

[t1, t2, t3, ..., tN]
plaintext

一个时间序列,事件稀疏,用识别关键事件的作为预训练目标?然后强化学习和 AutoGaze 类似,重建损失

week3 Record
https://astro-pure.js.org/blog/2_week4
Author Cosmo
Published at March 19, 2026