原文摘要 · English Abstract
BIMBA is an efficient state-space model to handle long-form videos. It leverages the selective scan algorithm to learn to select critical information from high-dimensional video and transform it into a reduced token sequence for efficient LLM processing. It achieves state-of-the-art accuracy on PerceptionTest, NExT-QA, EgoSchema, VNBench, LongVideoBench, and Video-MME.
概要
BIMBA 解决长视频问答中视觉 token 过长、自注意力二次成本爆炸的问题。它把 Mamba 的选择性扫描机制改造成「时空 token 选择器」:先对每帧做图像编码得到大量时空 patch token,再用少量可学习的视觉查询与这些 token 一起做双向选择性扫描,把冗余信息过滤并压缩成短序列输入 LLM。交错查询位置缓解了末尾追加带来的位置偏差,双向扫描则赋予模型 2D/3D 时空意识。在 7 个长视频问答基准上,BIMBA 取得了 SOTA 或同配置最优结果,同时保持线性增长的计算与显存开销。
长视频问答需要模型从数分钟乃至数小时的视频中提取与问题相关的片段。主流做法是把每帧图像编码后的 patch token 直接拼成长序列送入 LLM,但 64 帧 LLaMA-3.2 图像编码就会产生 10 万级 token,自注意力的二次成本让端到端训练与推理都难以承受。此前的池化、Perceiver 或 Q-Former 压缩虽然能降低长度,却牺牲了长程时序关系或细粒度空间信息。
关键贡献
- 提出基于 Mamba 选择性扫描的时空 token 选择器,同时完成长程依赖建模与 token 压缩。
- 引入交错式视觉查询排列,消除查询只与视频尾部 token 过度交互的位置偏差。
- 将单向选择性扫描扩展为双向扫描,以更好捕捉视频的 2D/3D 时空结构。
- 在 7 个长视频问答基准上取得 SOTA 或同配置最优,验证了线性复杂度状态空间模型对长视频理解的有效性。
- 开源代码与模型,为后续长视频 MLLM 的轻量化设计提供了可复用的压缩模块。
方法详解(完整做法)
总体思路
BIMBA 把长视频问答拆成三步:先用图像编码器逐帧提取空间 patch token,再把大量冗余的时空 token 压缩成一小组信息丰富的视觉查询,最后把查询与问题文本一起送进 LLM 做答案生成。核心模块是「时空 token 选择器」——它用 Mamba 的选择性扫描机制同时完成长程建模与信息筛选,在 LLaMA-3.2 版中能把 64 帧视频产生的 102,400 个 token 压缩到 6,400 个(16×),而计算量随序列长度线性增长,避免了自注意力的二次瓶颈。
视觉编码与时空 token 序列
输入视频由 帧组成,记作 。每帧先被切成大小为 的不重叠 patch,再经过图像编码器 提取空间特征: 得到每帧的空间特征 ,其中 、 、 为特征维度。把所有帧的 token 按时间拼接,得到完整的时空序列 ,总长度 。这一步只是构建原始表示,真正决定哪些信息被保留的是后续的选择器。
Mamba 选择性扫描的数学形式
状态空间模型的离散形式把输入 映射到隐藏状态 再输出 : 其中 、 是由连续参数离散化得到的转移矩阵。Mamba(S6)进一步让投影矩阵 、 以及步长 由输入经线性层生成: 这意味着扫描参数随输入动态变化:面对冗余或无关 token 时模型可以「遗忘」,面对关键事件时则「保留」,从而把 SSM 从线性时不变系统变成输入自适应的信息筛选器。
视觉查询与选择性扫描压缩
选择器先用 3D 自适应平均池化把时空 token 序列 压缩成少量视觉查询 ,其中查询数 远小于输入长度 。随后把 与 拼接,过 LayerNorm 和选择性扫描层,再用残差连接稳定梯度,最终提取更新后的查询 : 这里 既承担「压缩目标」的角色,又通过拼接与所有输入 token 共同经历选择性扫描,从而在一次性线性扫描中完成长程依赖建模与信息筛选。
交错查询位置
最直观的拼接方式是把所有查询 appended 到序列末尾,但这会让查询离视频后段的 token 更近、与开头帧的交互被稀释,产生位置偏差。BIMBA 把查询均匀地交错插入到时空 token 序列中,使任意查询与视频各段的距离都大致相当。消融实验显示,仅交错位置这一项设计就在 NExT-QA 上比末尾追加提升 +1.89%(LLaVA 版)和 +2.34%(LLaMA 版)。为什么这样设计有效:因为长视频的关键线索可能出现在任意时刻,均匀分布能保证查询不会系统性地忽略前段内容。
双向扫描
原版 Mamba 的单向扫描为 1D 文本序列设计,每个 token 只能看到过去;而视频 patch 天然具有 2D 空间+1D 时间的 3D 结构,单向扫描会遗漏反向的时空上下文。BIMBA 采用前向与后向两次选择性扫描,让 token 同时获得来自两个方向的汇总信息,从而更好地理解空间邻域与时间演化。消融显示双向扫描在 NExT-QA 上比单向标准扫描提升 +1.83%(LLaVA 版)和 +2.07%(LLaMA 版)。这种双向策略的代价极小:只是把同一条扫描路径跑两遍,内存与计算仍保持线性增长。
问题条件化 token 选择
BIMBA 还探索了把问题文本的 token 也拼进选择器输入的变体: 这样选择性扫描在决定保留哪些视频 token 时,能直接参考问题中提到的实体与动作,从而更精准地定位相关画面。在 LLaMA 版上,该变体让 NExT-QA 提升 +1.04%、EgoSchema 提升 +2.13%。不过由于每个视频通常要回答多个问题,主模型没有采用它:否则每来一个就要重新跑一次选择器,失去「一次压缩、多次问答」的推理效率优势。
小结
一句话记住:BIMBA = 图像编码 + Mamba 选择性扫描压缩 + 交错/双向查询 + LLM 解码,核心价值是用线性复杂度的状态空间模型替代二次复杂度的自注意力,实现可扩展的长视频理解。
完整流程。 输入视频逐帧过图像编码器得到时空 token → 3D 自适应平均池化初始化少量视觉查询 → 查询与 token 交错拼接 → 经 LayerNorm、双向选择性扫描、残差连接 → 提取压缩后的查询 → 与问题 token 一起送入 LLM 生成答案 。
实验与关键数据
在 370K 视频指令数据上微调 BIMBA-LLaVA 与 BIMBA-LLaMA 两个变体,在 7 个长视频问答基准上评估。同配置下优于 pooling、Perceiver、self-attention 等压缩基线,Qwen2-7B 版在 5 个基准上达到 SOTA。
关键数据
影响与局限
BIMBA 把 NLP 中高效长序列建模的状态空间模型引入视频 MLLM,证明了用线性复杂度的选择性扫描替代二次复杂度的自注意力,可以在长视频问答中同时实现高效率与高性能。其交错查询与双向扫描的设计思路也被后续视频 Mamba 工作广泛借鉴。
局限与不足
BIMBA 的压缩比固定为 16×,无法根据视频内容的复杂程度动态调整;对于信息量极低的静态片段与信息密度极高的快速事件使用同一压缩强度,可能同时造成浪费与信息损失。问题条件化变体虽能提升精度,却要求每个问题单独过选择器,失去了多问题共享一次压缩的推理效率优势。此外,当前实现主要验证于视频问答任务,对视频摘要、文本到视频检索、小时级文档视频理解等更长序列或更稀疏标注场景的泛化能力仍需进一步验证。