LongViTU: Instruction Tuning for Long-Form Video Understanding
Authors: Rujie Wu, Xiaojian Ma, Hai Ci, Yue Fan, Yuxuan Wang, Haozhe Zhao, Qing Li, Yizhou Wang Affiliations: 北京大学计算机科学学院, 通用人工智能国家重点实验室 (BIGAI), 新加坡国立大学 GitHub: rujiewu/LongViTU Year: 2025
1. Motivation (研究动机)
问题背景
现有 Video QA 数据集存在三个关键不足:
| 局限性 | 具体描述 |
|---|---|
| 证书长度短 | NextQA、ActivityNet-QA 的平均 certificate length 通常 < 10 秒;WorldQA、EgoSchema 仅 60~100 秒 |
| 推理浅层化 | 已有数据集主要关注空间基础元素(物体、属性、位置),缺乏因果、规划、功能等凝练推理 |
| 缺少时间戳 | Otter、Video-ChatGPT、VideoChat、MVBench、LLaVA-Video、MM-Ego 均无显式 QA 相关事件时间戳 |
核心贡献
- 提出层次化视频树 (Hierarchical Video Tree) 自动构建 pipeline:帧级 → 事件级 → 段级,实现多粒度视频表征
- 构建 LongViTU 数据集:~121K QA 对,~900 小时 Ego4D 视频,平均 certificate length 276.8 秒 (~4.6 分钟)
- 设计结构化推理分类体系:12 类问题类型,引导 LLM 生成需要凝练推理的高质量问答
- SFT 在多个基准上带来显著提升:LongVU 平均提升 2.5%,LLaVA-Video 平均提升 3.7%

Figure 1 解读: 本图对比了 LongViTU 与已有数据集的差异。上排展示了一段长视频序列的关键帧,红框标注答案线索帧,黄框标注答案相关物体。中间对比了已有数据集(同质化、短期、静态空间、粗粒度、整段视频、多选题)与 LongViTU(多样化、长期、时空、细粒度、显式时间戳、开放式)的区别。下排对比了三种模型的预测:Video-LLaVA (zero-shot) GPT-4 得分仅 0 分,VLM + LongViTU 微调后得分 100,而 Gemini-1.5-Pro 得分 60,说明 LongViTU 微调能显著提升长视频理解能力。
2. Idea (核心思想)
2.1 Stage I: 层次化视频树构建 (Hierarchical Video Tree Construction)
整个 pipeline 将视频组织为三级树结构 :
Figure 2 解读: LongViTU 的数据构建流程包含三大模块。左上:层次化视频树构建——从底层的 Dense Caption + Human Narration 开始,通过聚合空间细节得到事件级描述,再通过分割时间动态得到段级描述,最终形成视频树 。左下:长视频 QA 生成——从视频子树出发,通过滑动窗口提示 LLM 生成 QA 对。右侧:自修正与人工审核——LLM 自修正过滤低质量 QA,人工审核生成最终验证集。
帧级 (Frame Level)
使用 InternLM-XComposer2 对 Ego4D 视频以 1 fps 采样帧进行密集描述:
其中 为帧级文本描述, 为对应时间戳。
事件级 (Event Level)
LLM 综合人工标注事件和帧级描述,生成简洁事件描述 :
段级 (Segment Level)
LLM 将相关事件分组为段:
视频树
其中 为根节点, 为段级节点,向下逐级展开为事件和帧。
def build_hierarchical_video_tree(events: list, video_frames: list) -> dict:
"""Hierarchical Video Tree Construction (Frame -> Event -> Segment)."""
# Frame level: dense captioning at 1 fps
frame_nodes = []
for frame in sample_frames(video_frames, fps=1):
d_f = internlm_xcomposer2(frame) # frame-level dense caption
frame_nodes.append({"desc": d_f, "t_start": frame.t_s, "t_end": frame.t_e})
# Event level: aggregate frame captions into event descriptions
event_nodes = []
for event in events:
frame_descs = [f["desc"] for f in frame_nodes if in_event(f, event)]
d_e = gpt4_summarize(frame_descs) # event-level description
event_nodes.append({
"desc": d_e, "t_start": event.t_s, "t_end": event.t_e,
"frames": frame_descs
})
# Segment level: group related events via GPT-4
segments = gpt4_group_events(event_nodes)
segment_nodes = []
for seg in segments:
event_descs = [e["desc"] for e in seg]
d_s = gpt4_summarize(event_descs) # segment-level description
segment_nodes.append({
"desc": d_s, "t_start": seg[0]["t_start"], "t_end": seg[-1]["t_end"],
"events": seg
})
# Assemble video tree
T_video = {"root": "video", "segments": segment_nodes}
return T_video2.2 Stage II: 基于视频树的 QA 生成
滑动窗口策略
从视频树中取连续 5 个 segment 构成子树,送入 LLM 生成 QA:
其中 为滑动窗口选取的段,每个段 ,包含事件和帧级描述。
确保长 Certificate Length
指示 LLM 仅在最后两个 segment (Ask Content) 提出问题,但要求答案必须依赖前三个 segment (Memory Content) 中的信息,从而确保生成的问题需要较长的视频上下文。
促进凝练推理
设计层次化推理分类体系,包含 3 大类 12 子类:
| 大类 | 子类 |
|---|---|
| 时空理解 (Spatiotemporal Understanding) | Object, Attribute, Location, Action |
| 情节推理 (Episodic Reasoning) | Transition, Interaction, Causality, Motivation |
| 常识推理 (Commonsense Inference) | Planning, Risk, Function, Affordance |
Figure 3b 解读: 旭日图展示了 LongViTU 中 QA 对的分类分布。内环为三大类(时空理解、情节推理、常识推理),中环为 12 个子类,外环为各子类中最高频的 8 个词。可以看到 Action 和 Object 类别占比较大,Planning 和 Affordance 等高级推理类别也有相当比例。
2.3 Self-Revision (自修正)
LLM 生成初始 QA 后进行两步自修正:
- 内容修正:纠正不准确信息,去除冗余,精炼回答
- 纯文本评估(无视觉输入):检测并丢弃有过度文本偏差的 QA 对
3. Method (方法)
3.1 数据集特征与质量评估
数据集统计
| 统计项 | 数值 |
|---|---|
| 总视频数 | 1,833 (训练 1,533 / 验证 200 / 测试 100) |
| 总 QA 对数 | ~121K (训练 101K / 验证 14K / 测试 6K) |
| 总视频时长 | ~900 小时 |
| 平均视频时长 | 29.3 分钟 (范围 3.5~120.7 分钟) |
| 每个视频平均 QA 数 | 66 |
| QA 时长范围 | 6~1800 秒 |
| 平均 certificate length | 276.8 秒 (~4.6 分钟) |
| 平均事件时长 | 8.5 秒 |
| 平均段时长 | 82 秒 |
Figure 3a 解读: 左侧展示视频时长和 QA 时长的分布。QA 时长(底部横轴,秒)主要集中在 6600 秒,平均 276.8 秒;视频时长(右侧纵轴,分钟)主要在 560 分钟,平均 29.3 分钟,均呈长尾分布。
质量评估
Figure 4 解读: 人工质量评估结果。基于评分标准的评估(上):100 个随机抽样中,Good 占 46%,Fair 占 45%,Poor 仅 9%,表明 91% 的 QA 对质量可接受。与 VideoMME 的对比评估(下):100 对对比中,LongViTU 优于 VideoMME 27 次,持平 37 次,VideoMME 优于 LongViTU 36 次——说明自动生成的 LongViTU 质量接近人工标注的 VideoMME。
3.2 代码实现与复现
代码仓库结构
| 代码路径 | 功能说明 |
|---|---|
Video-LLaVA/finetune.sh | Video-LLaVA 微调脚本 |
Video-LLaVA/inference.sh | Video-LLaVA 推理脚本 |
LLaMA-VID/finetune.sh | LLaMA-VID 微调脚本 |
LLaMA-VID/inference.sh | LLaMA-VID 推理脚本 |
LongVU/train_longvitu_qwen.sh | LongVU (Qwen-2-7B) 训练脚本 |
LongVU/eval.sh | LongVU 评估脚本 |
LLaVA-Video/train.sh | LLaVA-Video 训练脚本 |
LLaVA-Video/eval.sh | LLaVA-Video 评估脚本 |
微调超参数
| 超参数 | LLaMA-VID | Video-LLaVA | LongVU | LLaVA-Video |
|---|---|---|---|---|
| Pretrained LLM | Vicuna-1.5-7B | LLaMA-2-7B | Qwen-2-7B | Qwen-2-7B |
| Max seq length | 2048 | 2048 | 8192 | 32768 |
| Batch size | 1 | 32 | 32 | 1 |
| Grad accum steps | 64 | 2 | 1 | 1 |
| Learning rate | ||||
| Vision tower LR | - | - | - | |
| Warmup ratio | 0.03 | 0.03 | 0.03 | 0.03 |
| LR scheduler | Cosine | Cosine | Cosine | Cosine |
| Image tokens/sample | 2 | 256 | 144 | 196 |
| Video frames/sample | 1 fps | 8 frames | 1 fps | 64 frames |
GPT-4 评分标准
| Level | 分数 | 描述 |
|---|---|---|
| 1 | 0 | 预测与问题无关或不可理解 |
| 2 | 20 | 预测完全偏离答案事实内容 |
| 3 | 40 | 预测有一定相关但包含错误或无关细节 |
| 4 | 60 | 预测大体正确但有部分不准确 |
| 5 | 80 | 预测准确回答问题,仅有少量偏差 |
| 6 | 100 | 预测完美匹配答案事实 |
4. Experimental Setup (实验设置)
4.1 评估设置
评估指标:GPT-4 多级评分(0/20/40/60/80/100),由 GPT-4-turbo 根据预定义标准评估模型预测与 ground truth 的对齐程度。
4.2 数据与任务设置
- 训练/验证/测试划分与 QA 统计如上表所示
- 任务覆盖时空理解、情节推理、常识推理三大类问题
- LongViTU 主要面向长视频理解场景,证据跨度通常跨多个 segment
5. Experimental Results (实验结果)
5.1 LongViTU 测试集上的定量结果
| 模型 | 设置 | Overall Avg. | 时空理解 | 情节推理 | 常识推理 |
|---|---|---|---|---|---|
| GPT-4 turbo (Blind) | - | 38.2 | 30.2 | 49.5 | 48.7 |
| Video-LLaVA* | Frame-Based | 45.9 | 42.7 | 49.4 | 51.7 |
| Video-LLaVA** | Frame-Based SFT | 50.7 | 44.9 | 58.0 | 59.8 |
| compared | +10.5% | +5.2% | +17.4% | +15.7% | |
| LLaMA-VID* | Sampling | 38.2 | 34.3 | 43.2 | 44.1 |
| LLaMA-VID** | Sampling SFT | 44.5 | 39.1 | 52.1 | 51.7 |
| compared | +16.5% | +14.0% | +20.6% | +17.2% | |
| LongVU* | Sampling | 49.9 | 46.3 | 54.2 | 56.0 |
| LongVU** | Sampling SFT | 55.9 | 48.8 | 65.2 | 66.4 |
| compared | +12.0% | +5.4% | +20.3% | +18.6% | |
| Gemini-1.5-Pro | Proprietary | 52.3 | 54.7 | 47.3 | 50.3 |
| Human | - | 81.0 | 84.1 | 74.3 | 75.5 |
关键发现:
- 最佳开源模型 LongVU SFT 后达到 55.9,超过 Gemini-1.5-Pro 的 52.3,但仍远低于人类水平 81.0
- SFT 在情节推理和常识推理上提升最为显著(Causality +29.2%, Motivation +31.1%)
- Gemini-1.5-Pro 在时空理解上表现突出,但在情节推理和常识推理上反而不如 SFT 后的开源模型
5.2 其他基准上的定量结果
| 模型 | EgoSchema | VideoMME (Avg.) | MLVU | LVBench |
|---|---|---|---|---|
| LongVU* | 67.6 | 55.6 | 62.9 | 35.1 |
| LongVU** (SFT) | 70.8 | 66.2 | 65.2 | 35.3 |
| +4.7% | +0.5% (+0.3%~+0.4%) | +3.7% | +0.6% | |
| LLaVA-Video* | 57.3 | 74.0 | 67.7 | 39.6 |
| LLaVA-Video** (SFT) | 62.8 | 73.9 | 69.9 | 40.0 |
| +9.6% | -0.1% | +3.2% | +1.0% |
关键发现:
- SFT 几乎在所有 ID 和 OOD 基准上都带来提升,排除了数据集偏差的影响
- 越长视频提升越大: VideoMME Long 子集上 LLaVA-Video 提升 +1.0%,Medium +0.3%,Short 则 -0.1%
- MLVU 上 LongVU 的 Ego 子类提升最为显著 (+12.2%)
- MVBench 上 Episodic Reasoning (+5.7%) 和 Unexpected Action (+6.9%) 提升最明显
5.3 消融实验
Figure 5 解读: 无论是 zero-shot 还是 fine-tuned 设置,LongVU 在更长的 QA 时长子集 [300, 600) 上表现都低于较短的 [0, 60) 和 [60, 300)。这表明长视频理解仍然是一个根本性挑战。Fine-tuned 模型在所有时长区间上都优于 zero-shot,但差距在长视频上更为明显。
Figure 6 解读: LongVU 在 EgoSchema 上的性能随训练 epoch 增加而提升,但增益逐渐递减。zero-shot baseline 约 4%,SFT 后从约 5% 持续提升,在接近完整训练规模时趋于稳定,说明 LongViTU 的数据量已接近饱和。
附录:定性分析
Figure 7a 解读: 空间细节案例。场景中包含多个密集前景物体,Video-LLaVA 和 LongVU 在 zero-shot 下均给出错误预测(Table / Chairs and Table)。经 LongViTU 微调后,两个模型都正确识别出 “Chairs”,GPT-4 得分从 20/60 提升到 100/100。
Figure 7b 解读: 关键时刻捕捉案例。问题 “Where is the plant?” 答案在窗台上短暂出现。Zero-shot Video-LLaVA 回答 “In the kitchen”(得分 20),但 fine-tuned 后准确回答 “On the windowsill”(得分 100)。LongVU 同理从 80 提升到 100,说明 LongViTU 增强了模型对短暂关键帧的捕捉能力。
Figure 7c 解读: 时间定位案例。问题需要在长视频末尾识别厨房台面上的插座数量。Zero-shot 下两个模型均失败(得分 0/20),fine-tuned 后均准确回答 “Two”(得分 100/100),展示了 LongViTU 在增强长视频时间定位泛化能力方面的价值。
Figure 8a 解读: 时空理解子类别示例。展示了 Object(“What object on the wall?” → “A painting”)、Attribute(“What color is the wall?” → “Light yellow”)、Location(“Where am I now?” → “In the house”)、Action(“What did I do as I walked to the door?” → “Pet the cat”)四种问题类型。
Figure 8b 解读: 情节推理子类别示例。展示了 Transition(“What changed of the instant noodles?” → “It was cooked”)、Interaction(“What did I do to the microwave?” → “I opened it and put in a bowl”)、Causality(“Why do I organize these chains?” → “Hang them between the two paintings”)、Motivation(“Why did I walk to the kitchen?” → “I wanted to find something to eat”)四种需要跨事件推理的问题。
Figure 8c 解读: 常识推理子类别示例。展示了 Planning(“I want to go upstairs. What should I do?” → “Take the stairs on the right”)、Risk(“What risks do I have now?” → “Too close to glass; might hit your head”)、Function(“What can the knife on the table do?” → “It can cut fruit”)、Affordance(“What does the screen provide?” → “It provides entertainment while I eat”)四种需要常识知识的高级推理问题。