Skip to content

[Test] Re-enable Ovis2.5 and Ovis2.6-MoE vLLM tests on Transformers v5 - #59763

Merged
hmellor merged 1 commit into
vllm-project:mainfrom
AbhayShuklaIIT:ovis2_5-lift-transformers-v5-cap
Oct 2, 2026
Merged

hmellor merged 1 commit into
vllm-project:mainfrom
AbhayShuklaIIT:ovis2_5-lift-transformers-v5-cap

Conversation

@AbhayShuklaIIT

@AbhayShuklaIIT AbhayShuklaIIT commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

Overview

Part of #38379. Re-enables the vLLM-side Ovis2.5 and Ovis2.6-MoE tests under Transformers v5. The Ovis2.5 processor was already fixed for v5 in #47298 and #52623, but the max_transformers_version="4.57" caps added in #30566 were never revisited, so CI still skips these models.

Claims

  • 8 previously skipped tests now run and pass on Transformers 5.17.0: test_registry_imports for Ovis2_5 and Ovis2_6_MoeForCausalLM, plus 6 test_processing_correctness cases for AIDC-AI/Ovis2.5-2B and AIDC-AI/Ovis2.6-30B-A3B.
  • The Ovis2.5 HF comparison tests stay skipped, now with an accurate "hf" reason: the checkpoint's remote modeling code reads is_parallelizable, which v5 removed.
  • Removed a stale hf_model_kwargs={"revision": "refs/pr/5"} that would otherwise break the HF comparison test once the remote code is fixed.

Validation

Environment: 1x RTX PRO 6000 Blackwell, transformers 5.17.0, torch 2.13.0+cu132, vLLM at this branch (precompiled from 9d2a6f5).

pytest tests/models/test_registry.py -k "Ovis2_5 or Ovis2_6"
pytest tests/models/multimodal/processing/test_common.py -k "test_processing_correctness and Ovis2"
pytest tests/models/multimodal/processing/test_tensor_schema.py -k "Ovis2"
pytest tests/models/test_initialization.py -k "Ovis2_5 or Ovis2_6_Moe"
pytest tests/models/multimodal/generation/test_common.py -k "ovis2_5"
Suite main This PR
registry 1 passed, 2 skipped (cap) 3 passed
processing 3 passed, 9 skipped (6 cap, 3 offline Ovis2.6-2B) 9 passed, 3 skipped (offline Ovis2.6-2B)
tensor_schema 4 passed 4 passed
initialization 2 passed 2 passed
generation (HF comparison) 3 skipped (cap, reason vllm) 3 skipped (cap, reason hf)

With both the cap and the stale revision kwarg removed, the generation tests fail inside the HF reference model, not in vLLM:

modeling_ovis2_5.py:815: in __init__
    self.is_parallelizable = all((self.llm.is_parallelizable, self.visual_tokenizer.vit.is_parallelizable))
E   AttributeError: 'Qwen3ForCausalLM' object has no attribute 'is_parallelizable'

With only the cap removed, they fail earlier with from_pretrained() got multiple values for keyword argument 'revision'. HfRunner already passes revision, and refs/pr/5 (SDPA fallback for the ViT) was merged into the checkpoint's main on 2025-08-23.

End-to-end, examples/generate/multimodal/vision_language_offline.py -m ovis2_5 produces correct descriptions for both --modality image and --modality video on transformers 5.17.0. This used VLLM_USE_FLASHINFER_SAMPLER=0 because the test box has no C++ compiler for FlashInfer JIT, which is unrelated to this change.

pre-commit run --files <changed files> passes.

Details

  • Ovis2_6_MoeForCausalLM has no HF comparison test, so its cap only skipped vLLM-side tests, which now pass. The cap is removed.
  • Ovis2_5 keeps max_transformers_version="4.57", but tagging the reason "hf" means check_transformers_version(check_version_reason="vllm", check_max_version=False) no longer skips the registry, processing and initialization tests. Only the HF comparison stays skipped. The cap can be removed once the checkpoint's remote code drops is_parallelizable.
  • Duplicate check: no open PRs or Restore test coverage on Transformers v5 #38379 sub-issues cover Ovis. The Ovis2.5/Ovis2.6 items are still unchecked in Restore test coverage on Transformers v5 #38379.

Pull Request Checklist
  • I used vLLM's /pr-checklist skill. (Mandatory for agents, optional for humans).

  • AI assistance was used during the creation of this PR. (Claude Code was used for investigation, the change and running validation. I reviewed the change and the results.)

  • Design Fit: Minimizes impact on core components, reuses existing functionality, and justifies added complexity.

  • Testing and Validation: Validates the change and ensures any added tests are meaningful and reliable, with CI coverage or documented CI resource constraints and validation performed outside CI.

  • Code Quality and Style: Keeps code and comments clear and concise, and updates relevant documentation and examples.

  • Pull Request Contents: Includes a brief summary and relevant links, supports claims with evidence, explains root causes and implementation trade-offs, and follows the contributing guide.

🤖 Generated with Claude Code

The Ovis2.5 processor was fixed for Transformers v5 in vllm-project#47298 and vllm-project#52623,
but the max_transformers_version="4.57" caps added in vllm-project#30566 still skip
the registry and processing tests for Ovis2_5 and Ovis2_6_MoeForCausalLM.

- Ovis2_6_MoeForCausalLM: remove the cap.
- Ovis2_5: keep the cap but retag the reason from "vllm" to "hf". The HF
  reference model's remote code reads `is_parallelizable`, which v5
  removed, so only the HF comparison test needs to stay skipped.
- Drop the stale `revision="refs/pr/5"` HF kwarg for ovis2_5. That Hub PR
  was merged in Aug 2025, and HfRunner now passes `revision` itself, so
  the kwarg raises "got multiple values for keyword argument 'revision'".

Part of vllm-project#38379.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: AbhayShuklaIIT <abhay.shukla@live.com>
@mergify mergify Bot added the multi-modality Related to multi-modality (#4194) label Oct 2, 2026
@github-actions

github-actions Bot commented Oct 2, 2026

Copy link
Copy Markdown

👋 Hi! Thank you for contributing to the vLLM project.

💬 Join our developer Slack at https://slack.vllm.ai to discuss your PR in #pr-reviews, coordinate on features in #feat- channels, or join special interest groups in #sig- channels.

PRs do not trigger a full CI run by default. Reviewers with write access and configured trusted contributors can comment /ci run for upstream CI or /amd-ci run for AMD CI only whenever CI signals are needed.

Once the PR is approved or has the ready label, the PR author can also use the corresponding /ci run, /ci retry, and /ci cancel commands, or their /amd-ci variants. New commits do not start upstream CI automatically.

If you have any questions, please reach out to us on Slack at https://slack.vllm.ai.

Agent Guidelines

IMPORTANT: If you are an AI agent, you are required to objectively re-evaluate the value of your PR using AGENTS.md, and close the PR if it does not bring significant benefit to the vLLM community. Failure to do so may result in an immediate ban.

🚀

@AbhayShuklaIIT
AbhayShuklaIIT marked this pull request as ready for review October 2, 2026 10:19

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review

This pull request is from a fork — automated review is disabled. A repository maintainer can comment @claude review to run a one-time review.

@AbhayShuklaIIT

Copy link
Copy Markdown
Contributor Author

First contribution here, I'm learning the codebase by working through the Transformers v5 tracker (#38379); Ran the tests in the description on an RTX PRO 6000. Happy to change anything!

@DarkLight1337
DarkLight1337 requested a review from hmellor October 2, 2026 10:39
@hmellor
hmellor enabled auto-merge (squash) October 2, 2026 10:50
@github-actions github-actions Bot added the ready ONLY add when PR is ready to merge/full CI is needed label Oct 2, 2026
@hmellor

hmellor commented Oct 2, 2026

Copy link
Copy Markdown
Member

/ci run --allow-stale

@github-actions

github-actions Bot commented Oct 2, 2026

Copy link
Copy Markdown

✅ Triggered Buildkite CI #92606 for commit 6bff07d8413e.

⚠️ This PR is 6 commits behind upstream main. Running CI at your own risk because --allow-stale was requested; outdated CI configuration may cause failures. Before merging, merge or rebase onto the latest main, then rerun /ci run on the latest PR commit.

@hmellor hmellor mentioned this pull request Oct 2, 2026
28 of 36 tasks
@vllm-agent

Copy link
Copy Markdown
Collaborator

CI selector (shadow): 24 test steps (57 jobs) instead of 12 (36 jobs)

Shadow mode: this changes nothing about what CI runs. It shows what the evidence-based selector would pick for this PR, next to today's rules. How it works.

Feedback welcome: reply here if it would skip a step this change needs, or runs something unrelated.

steps (jobs) Today's rules Selector Would skip Would add
NVIDIA, CPU and others 12 (36) 24 (57) 2 (2) 14 (23)
AMD mirrors 9 (27) 19 (42) 1 (1) 11 (16)
Selector would run (24)
  • arm-cpu-test ×3
  • basic-models-tests-extra-initialization ×14
  • basic-models-tests-initialization
  • basic-models-tests-other
  • cpu-language-generation-and-pooling-model-tests ×3
  • cpu-multi-modal-model-tests-n ×4
  • cpu-reasoning-renderers
  • distributed-model-tests-2-gpus ×3
  • entrypoints-integration-speech_to_text
  • examples
  • language-models-tests-extra-standard ×2
  • language-models-tests-granite-l4-compatibility
  • language-models-tests-hybrid ×2
  • language-models-tests-standard
  • multi-modal-models-standard-1-qwen2
  • multi-modal-models-standard-2-qwen3-gemma
  • multi-modal-models-standard-3-llava-qwen2-vl
  • multi-modal-models-standard-4-other-whisper
  • multi-modal-processor ×4
  • multi-modal-processor-cpu ×4
  • pipeline-context-parallelism-4-gpus
  • pytorch-compilation-unit-tests
  • quantization ×4
  • rayexecutorv2-4-gpus
Would skip (today's rules run them) (2)
  • cpu-qwen2-5-vl-multimodal-tests
  • jit-monitor-no-runtime-jit
Would add (today's rules do not run them) (14)
  • arm-cpu-test ×3 (code map)
  • basic-models-tests-other (code map)
  • cpu-language-generation-and-pooling-model-tests ×3 (code map)
  • cpu-reasoning-renderers (code map)
  • entrypoints-integration-speech_to_text (code map)
  • examples (code map)
  • language-models-tests-extra-standard ×2 (code map)
  • language-models-tests-granite-l4-compatibility (code map)
  • language-models-tests-hybrid ×2 (code map)
  • language-models-tests-standard (code map)
  • pipeline-context-parallelism-4-gpus (code map)
  • pytorch-compilation-unit-tests (code map)
  • quantization ×4 (code map)
  • rayexecutorv2-4-gpus (code map)
AMD mirrors: would skip (1)
  • jit-monitor-no-runtime-jit
AMD mirrors: would add (11)
  • basic-models-tests-other (code map)
  • entrypoints-integration-speech_to_text (code map)
  • examples (code map)
  • fusion-e2e-tp2-asynctp-config-sweep-h100 (code map)
  • language-models-tests-extra-standard ×2 (code map)
  • language-models-tests-granite-l4-compatibility (code map)
  • language-models-tests-hybrid ×2 (code map)
  • language-models-tests-standard (code map)
  • pipeline-context-parallelism-4-gpus (code map)
  • pytorch-compilation-unit-tests (code map)
  • quantization ×4 (code map)

2 changed files · base 58b3298457 · head 6bff07d841 · Python record: build 92561 at 4056c8ac1f · kernel record: table 4056c8a (build 92561), map 4056c8a · not counted: 10 build steps, 5 A100 steps the generator no longer emits, 18 optional steps the selector would also run

@hmellor
hmellor merged commit fa212b8 into vllm-project:main Oct 2, 2026
60 of 62 checks passed
michael-gpu pushed a commit to practical-inference/vllm-ampere-extended that referenced this pull request Oct 20, 2026
vllm-project#59763)

Signed-off-by: AbhayShuklaIIT <abhay.shukla@live.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

multi-modality Related to multi-modality (#4194) ready ONLY add when PR is ready to merge/full CI is needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants