LongVPO: From Anchored Cues to Self-Reasoning for Long-Form Video Preference Optimization

Zhenpeng Huang, Jiaqi Li, Zihan Jia, Xinhao Li, Desen Meng +4 more
2/2/2026
cs.CV

No official code found. Best implementation: MCG-NJU/LongVPO (7 stars, last commit 2026-03-07).

Abstract

We present LongVPO, a novel two-stage Direct Preference Optimization framework that enables short-context vision-language models to robustly understand ultra-long videos without any long-video annotations. In Stage 1, we synthesize preference triples by anchoring questions to individual short clips, interleaving them with distractors, and applying visual-similarity and question-specificity filtering to mitigate positional bias and ensure unambiguous supervision. We also approximate the reference model's scoring over long contexts by evaluating only the anchor clip, reducing computational overhead. In Stage 2, we employ a recursive captioning pipeline on long videos to generate scene-level metadata, then use a large language model to craft multi-segment reasoning queries and dispreferred responses, aligning the model's preferences through multi-segment reasoning tasks. With only 16K synthetic examples and no costly human labels, LongVPO outperforms the state-of-the-art open-source models on multiple long-video benchmarks, while maintaining strong short-video performance (e.g., on MVBench), offering a scalable paradigm for efficient long-form video understanding.

View on arXivView PDF

Code Implementations(1)

MCG-NJU/LongVPOCommunity77%

[NeurIPS 2025] LongVPO: From Anchored Cues to Self-Reasoning for Long-Form Video Preference Optimization

70Shell, PythonJan 3, 20267 months ago

Similar Papers

Cite this paper

@article{huang2026longvpo,
  title  = {LongVPO: From Anchored Cues to Self-Reasoning for Long-Form Video Preference Optimization},
  author = {Zhenpeng Huang and Jiaqi Li and Zihan Jia and Xinhao Li and Desen Meng and Lingxue Song and Xi Chen and Liang Li and Limin Wang},
  year   = {2026},
  eprint = {2602.02341},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2602.02341v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2602.02341.svg)](https://codeofpaper.com/paper/2602.02341)

Discussion