APB-V: Accelerating Long-Video Understanding via Sequence-Parallelism-aware Approximate Attention¶
会议: ACL2026
arXiv: 2601.21444
代码: https://github.com/thunlp/APB
领域: 视频理解 / 多模态推理加速
关键词: 长视频理解, 序列并行, 近似注意力, 多GPU推理, KV压缩
一句话总结¶
APB-V 用面向序列并行的近似注意力和系统级负载均衡加速长视频 LMM 推理,在保留完整视觉 embedding 的同时,在 64 帧 1440p 设置下相对 FlashAttn、ZigZagRing 和 APB 分别达到 12.72×、1.70× 和 1.18× 加速,且没有显著性能损失。
研究背景与动机¶
领域现状:长视频理解依赖 LMM 把大量帧编码成视觉 token,再送入长上下文 LLM backbone。随着视频时长、分辨率和帧数增加,prefill 阶段的视觉编码、attention 和 FFN 成本都会快速增长。
现有痛点:已有方法主要有两类。一类优化 attention 或 KV cache,但通常只能减轻 LLM backbone 的一部分负担,无法处理视觉编码和 FFN 成本;另一类显式压缩输入 token,例如 token pruning 或 pooling,能减少计算,却容易丢掉细粒度视频证据。论文中特别指出 SlowFast 在实验中虽然有不到 3× 的加速,却会出现约 25% 的准确率下降。
核心矛盾:长视频推理既需要更多计算资源来处理更长输入,又不能用粗暴压缩牺牲关键帧和细节证据。单 GPU 优化容易陷入效率-性能 trade-off,多 GPU 序列并行又会遇到通信和负载不均衡瓶颈。
本文目标:APB-V 希望通过“增加并行计算 + 抑制二次 attention 成本”同时解决效率和性能问题:不压缩视觉 embedding,而是在多 GPU/多 host 上做近似 attention、通信压缩和系统级调度。
切入角度:作者观察到长视频场景天然适合并行:帧级视觉编码彼此独立,LLM 输入序列也可按块拆分。但精确序列并行通信太重,因此需要让每个 host 只交换后续 query 真正需要的关键 KV。
核心 idea:用局部 KV 压缩和 passing block 近似全局注意力,在 host 间只传递关键上下文块,同时通过 frame parallelism、ZigZag 负载均衡、fused forward 和通信-计算重叠释放多 GPU 长视频推理性能。
方法详解¶
整体框架¶
APB-V 想在不删一帧、不压一个视觉 token 的前提下加速长视频 LMM 的 prefill。它假设每个 host 都持有一份完整 LMM 副本:输入视频先按帧分发到各 host 并行编码,AllGather 汇总成完整视频 embedding 后,整条输入序列被切成开头的 anchor block、结尾的 query block 和中间一堆 context block;context block 分到 \(2H\) 个 virtual host 再映射回 \(H\) 个 physical host。每层 attention 里,host 只把本地 context 中对 query 最关键的那部分 KV 压成 passing block 传给后续 host,于是每个 query 实际访问的远端 KV 大幅减少,省下的通信又被算法和系统层尽量和计算重叠掉。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400, 'subGraphTitleMargin': {'top': 8, 'bottom': 16}}}}%%
flowchart TD
IN["输入长视频<br/>不删帧、不压视觉 token"]
subgraph FP["Frame Parallelism 与 Context Splitting"]
direction TB
A["各 host 并行编码各自帧"] --> B["AllGather 拼出完整视频 embedding"]
B --> C["切成 anchor / context / query block"]
C --> D["context 分到 2H virtual host<br/>再映射回 H physical host"]
end
subgraph AA["序列并行感知的近似注意力"]
direction TB
E["query-to-context 选 top-l_p 关键 KV<br/>压成 essential KV"] --> F["AllGather 成 passing block 传给后续 host"]
F --> G["context attention 只看<br/>anchor + 本地 context + passing block"]
G --> H["query block 用 FlashAttn lse 跨 host merge"]
end
SYS["系统级负载均衡与通信隐藏<br/>分帧均衡 + fused forward + ZigZag 映射 + 通信-计算重叠"]
OUT["加速后的 prefill 输出"]
IN --> FP
FP --> AA
AA --> OUT
SYS -.贯穿全流程.-> FP
SYS -.贯穿全流程.-> AA
关键设计¶
1. Frame Parallelism 与 Context Splitting:把帧编码和长序列 prefill 摊到多 host
长视频的瓶颈在于单 GPU 要同时扛下全部帧的视觉编码和全部 token 的 prefill。APB-V 利用「帧级编码天然彼此独立」这一点,让每个 host 各编码一部分视频帧,再用 AllGather 把视觉 embedding 拼全;随后把序列拆成初始 anchor block \(B_a\)、末尾 query block \(B_{qr}\) 和其余 context block \(B^{(h)}\)——anchor 给全局前缀,query 是真正要回答的问题,context 是长视频主体证据。这样帧并行和序列并行串接起来,没有任何一张卡需要独自承担整段视频。
2. Sequence-Parallelism-aware Approximate Attention:只把 query 真正需要的 KV 跨 host 传
精确序列并行要在 host 间交换全部 KV,通信太重;而 StarAttn 干脆不做 inter-host 通信,又会丢长程依赖。APB-V 走中间路线:每个 virtual host 先用 query-to-context 的 attention score 从本地 context 里挑出最重要的 \(l_p\) 个 KV 对,压成 essential KV,再经 AllGather 当作 passing block 传给后续 host。于是 context block 的 attention 只看 anchor、本地 context 和这些压缩后的 passing block,而 query block 的结果靠 FlashAttn 的 lse 做跨 host merge。因为传递的只是与当前问题相关的关键 KV,它既比 StarAttn 更好地保住长程依赖,又比精确并行省下大量通信和计算。
3. 系统级负载均衡与通信隐藏:把近似 attention 落成真正高吞吐的多 GPU 系统
光有算法近似还不够——短 query 单独 forward 会变 memory-bound、passing block 长度在 host 间不均衡、跨 host 通信要等待,任何一条都能把加速吃掉。APB-V 配套了三件事:视觉负载按 \(F^{(h)}=\lfloor F/H\rfloor+\mathbb{I}[h<F\bmod H]\) 分帧让各 host 帧数尽量齐;fused context-query forward 把短 query 并进 context 一起算,避开 memory-bound;ZigZag 映射把第 \(h\) 和第 \(2H-1-h\) 个 virtual host 放到同一 physical host,让两端不均衡的 passing block 长度互补抵消;overlapped communication 则让 passing block 的传输和 attention 计算并行跑。算法近似和系统优化配套,才是 APB-V 真正拿到加速的原因。
损失函数 / 训练策略¶
APB-V 是推理加速框架,不训练新 LMM、不引入任务损失。实验里 APB baseline 的 retaining heads 在 NextQA 上训练,而 APB-V 自身主要靠超参控制 anchor length 与 passing length:默认 \(l_a=n/64\)、\(l_p=n/128\),在 8 个 physical host、\(2H\) 个 virtual host 下保持与 APB 相近的 compute 量。
实验关键数据¶
主实验¶
APB-V 在 VNBench 和 LongVideoBench 上测试 InternVL3-2B、Qwen2.5VL-3B 和 Qwen2.5VL-7B。下面保留最能体现“性能不显著下降”的核心数字。
| 数据集 / 模型 | FullAttn | APB | APB-V | 结论 |
|---|---|---|---|---|
| VNBench / InternVL3-2B Overall | 44.89 | 41.11 | 43.26 | APB-V 接近 FullAttn,明显优于 APB |
| VNBench / Qwen2.5VL-3B Overall | 52.81 | 43.93 | 50.67 | 保留大部分精度,远好于 token pruning 类方法 |
| VNBench / Qwen2.5VL-7B Overall | 58.44 | 49.93 | 56.22 | 长视频合成任务上性能损失较小 |
| LongVideoBench / InternVL3-2B Overall | 55.35 | 55.20 | 55.42 | APB-V 略高于 FullAttn |
| LongVideoBench / Qwen2.5VL-7B Overall | 58.38 | 59.16 | 59.76 | APB-V 在真实长视频上超过 APB 和 FullAttn |
速度方面,在 Qwen2.5-VL-3B 处理 64 帧 1440p 视频时,APB-V 相比 FlashAttn、ZigZagRing 和 APB 分别达到 12.72×、1.70× 和 1.18× 加速。系统消融也显示多个优化都是实打实贡献。
消融实验¶
| 配置 | 16帧 req/s | 32帧 req/s | 56帧 req/s | 说明 |
|---|---|---|---|---|
| APB-V | 1.846 | 0.916 | 0.471 | 完整系统最快 |
| -O | 1.827 | 0.911 | 0.470 | 去掉通信-计算重叠,影响较小 |
| -O-F | 1.646 | 0.854 | 0.450 | 再去掉 fused context-query forward,速度下降 |
| -O-F-Z | 1.618 | 0.813 | 0.415 | 再去掉 ZigZag,负载更不均衡 |
| -O-F-Z-V | 0.381 | 0.189 | 0.107 | 去掉所有系统优化后约慢 4× |
| FlashAttn | 0.226 | 0.092 | 0.042 | 单 GPU 精确 attention 最慢 |
关键发现¶
- 对合成长视频任务,token pruning 类方法(如 SlowFast)会明显损伤 retrieval/counting 等细粒度能力;APB-V 通过保留完整视觉 embedding 避免了这类损失。
- 对真实长视频,APB-V 在 Qwen2.5VL-7B 上 Overall 59.76,高于 FullAttn 的 58.38 和 APB 的 59.16,说明近似 attention 不一定只带来折损,也可能通过系统设置和完整 embedding 保留获得更好 trade-off。
- Passing block 比 anchor block 更关键:在 counting 子任务上,去掉 passing block 的平均准确率从 APB-V 的 30.00 降到 17.33,去掉 anchor 则降到 25.33。
- 多 host 可扩展性较好:H=8 时 APB-V 在 720p、16/56 帧上达到 6.171/2.013 req/s,高于 ZigZagRing 的 5.595/1.666 和 APB 的 4.891/1.766。
亮点与洞察¶
- 论文没有走“少看点视频”的路,而是尽量保留视觉 token,再从 attention 计算层做近似。这对长视频问答很重要,因为答案可能藏在很短的一段字幕、动作或物体里。
- APB-V 把算法和系统问题放在一起解决:只提出近似 attention 不够,还要解决短 query forward 的 memory-bound、passing block 负载不均衡和跨 host 通信等待。
- Case study 中“secret word is Nick”的区域被更频繁选入 passing block,说明 query-aware KV 选择确实能把回答相关证据传播到后续 host,而不是随机压缩上下文。
局限与展望¶
- APB-V 主要面向 decoder-only Transformer-based LMM;卷积网络或非标准架构不兼容。
- 方法依赖多 GPU 推理,单 GPU 上会退化为 FlashAttn,因此不适合资源很有限的部署场景。
- 论文聚焦 TTFT/end-to-end prefill 时间受限的长视频应用,例如监控和自动驾驶;对多轮交互、batch serving 或后续 decoding 阶段的收益还需要更细分析。
- passing length 和 anchor length 仍是需要调的超参。实验显示 passing length 过小会明显伤性能,说明压缩率和证据保留之间仍有边界。
相关工作与启发¶
- vs FlashAttn / ZigZagRing: FlashAttn 是单 GPU 精确 attention,ZigZagRing 是更精确的序列并行;APB-V 用近似和压缩换取更好扩展性。
- vs SlowFast / token pruning: SlowFast 通过减少视觉 token 加速,但会丢细粒度证据;APB-V 不压缩输入 embedding,更适合需要精确检索的长视频问答。
- vs StarAttn: StarAttn 避免 inter-host 通信,但因此长程依赖不足;APB-V 保留压缩通信,使关键 KV 能跨 host 传递。
- 启发: 长上下文多模态推理的核心不是一味减少 token,而是让“对当前 query 真有用的远端证据”以低成本跨设备流动。
评分¶
- 新颖性: ⭐⭐⭐⭐ 近似 attention 与序列并行结合不算全新,但面向长视频 LMM 的系统化设计很扎实。
- 实验充分度: ⭐⭐⭐⭐⭐ 覆盖两个长视频 benchmark、三种 LMM、多种分辨率/帧数/host 数和丰富消融。
- 写作质量: ⭐⭐⭐⭐ 方法图和系统拆解清晰,部分符号较密,需要结合图表读。
- 价值: ⭐⭐⭐⭐⭐ 对多 GPU 长视频 LMM 部署非常实用,尤其适合高分辨率、长帧序列的 TTFT 加速。