[Multimodal] Add Qwen2-VL/Qwen2.5-VL processor-mapped video loader#45555
Merged
Conversation
fc7815d to
be3f75d
Compare
Contributor
Author
Isotr0py
reviewed
Jun 15, 2026
Contributor
|
This pull request has merge conflicts that must be resolved before it can be |
Signed-off-by: Ranran <hzz5361@psu.edu>
Signed-off-by: Ranran <hzz5361@psu.edu>
be3f75d to
75e8fd2
Compare
Isotr0py
approved these changes
Jun 16, 2026
Signed-off-by: Ranran <hzz5361@psu.edu>
4 tasks
…ed 32-frame default, so the ~30s test clip needs a larger context. Signed-off-by: Ranran Haoran Zhang <ranzhang@redhat.com>
auto-merge was automatically disabled
June 21, 2026 08:16
Head branch was pushed to by a user without write access
Contributor
Author
|
fixed CI tests. |
Member
|
Seems https://buildkite.com/vllm/ci/builds/73265#019ee942-329b-4f80-bfe2-37f276a6d480 failure also related. |
Signed-off-by: Isotr0py <mozf@mail2.sysu.edu.cn>
tunglinwood
pushed a commit
to tunglinwood/vllm
that referenced
this pull request
Jun 22, 2026
…llm-project#45555) Signed-off-by: Ranran <hzz5361@psu.edu> Signed-off-by: Ranran Haoran Zhang <ranzhang@redhat.com> Signed-off-by: Isotr0py <mozf@mail2.sysu.edu.cn> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> Co-authored-by: Isotr0py <mozf@mail2.sysu.edu.cn>
nkzhenhua
pushed a commit
to nkzhenhua/vllm
that referenced
this pull request
Jun 24, 2026
…llm-project#45555) Signed-off-by: Ranran <hzz5361@psu.edu> Signed-off-by: Ranran Haoran Zhang <ranzhang@redhat.com> Signed-off-by: Isotr0py <mozf@mail2.sysu.edu.cn> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> Co-authored-by: Isotr0py <mozf@mail2.sysu.edu.cn>
qli88
pushed a commit
to qli88/vllm
that referenced
this pull request
Jun 26, 2026
…llm-project#45555) Signed-off-by: Ranran <hzz5361@psu.edu> Signed-off-by: Ranran Haoran Zhang <ranzhang@redhat.com> Signed-off-by: Isotr0py <mozf@mail2.sysu.edu.cn> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> Co-authored-by: Isotr0py <mozf@mail2.sysu.edu.cn> Signed-off-by: Qiang Li <qiang.li2@amd.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
Qwen2-VL and Qwen2.5-VL currently fall back to the generic
opencvvideo loader (uniformnum_frames=32) because they ship novideo_processor_typein their preprocessor config.This adds
Qwen2VLVideoBackend, so the loader is auto-selected (#44126). Same pattern as the Qwen3-VL loader (#44412). This will be the baseline groundtruth of #45203fpstakes precedence overnum_framesbecause vLLM'sVideoMediaIOalways injectsnum_frames=32, which would otherwise make fps sampling unreachable; defaultfps=2.Result
Qwen2.5-VL-7B-Instruct, NExTQA (100) + MVBench (90), offline
llm.chat,max_tokens=1, 1×A100, identical engine config (max_pixels=128·28²), back-to-back:opencvnum_frames=32 (main default)opencvfps=2, cap 768 (same-budget control)qwen2_vlfps=2 (this PR)Correct sampling gains accuracy (+8.9 pt on MVBench's motion/temporal tasks) at a throughput cost (fps=2 samples more frames than a fixed 32).
Test Plan / Result
Extends
test_video_processor_from_model_repowith both repos (exercises themodel_typeresolver fallback) and addstest_qwen2vl_loader_matches_hf_sample_frames, which asserts the loader's indices equal Qwen2VLVideoProcessor.sample_frames` across an fps/duration grid (including an out-of-range-tail case that exercises the clamp).Essential Elements of an Effective PR Description Checklist
supported_models.mdandexamplesfor a new model.