Repository navigation
Conversation
Contributor
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Missing repository labels prevent activation, and Scope2 currently triggers expensive runs for unrelated files.
Review effort: Balanced
Findings: 1
Open (1)
What changed in this PR
Adds selective pre-commit and manual execution for PyTorch nightly model scopes.
Changes:
- Adds manual scope selection and PR-aware job conditions.
- Registers Scope1/Scope2 Smart CI components and labels.
- Documents the nightly-job pattern.
| File | Description |
|---|---|
.github/workflows/ubuntu_22.yml |
Adds dispatch input and conditional nightly jobs. |
.github/labeler.yml |
Maps changed files to nightly scopes. |
.github/components.yml |
Registers isolated Smart CI components. |
docs/dev/ci/github_actions/adding_tests.md |
Documents selective nightly execution. |
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Nightly PyTorch Models Scope1/Scope2 jobs ran only on schedule, so changes to their model lists, test code or requirements were validated only after merge. Run each scope in pre-commit when a PR changes its files (new Smart CI labels with no dependents), and allow starting them via workflow_dispatch with the pytorch-models-nightly-scope input. Same runner, image and settings.
Replace the two scope labels with one PyTorch_Models_Nightly component, use a boolean workflow_dispatch input, and drop the docs change.
mryzhov
reviewed
Sep 29, 2026
mryzhov
reviewed
Sep 29, 2026
mryzhov
approved these changes
Sep 29, 2026
mryzhov
approved these changes
Sep 29, 2026
mvafin
enabled auto-merge
September 29, 2026 09:40
mvafin
disabled auto-merge
September 29, 2026 09:48
Contributor
Author
Check the PR's changed files in the Smart_CI job instead of adding a Smart CI label and component.
…-nightly-triggers
mvafin
added a commit
to mvafin/openvino
that referenced
this pull request
Oct 1, 2026
….0.30, support aten.meshgrid in FX (openvinotoolkit#38443) ### Details: - Nightly Scope1 has been crashing with runner OOM since openvinotoolkit#33706. `filter_timm` sorted size tokens alphabetically (`enormous` < `giant` < ... < `small`) and didn't recognize `7b`/`so400m`, so it picked the *largest* variants (e.g. `vit_7b_dinov3`, 26.9 GB). Several of these were loaded at the same time under `-n 4`. - `filter_timm` now keeps the smallest variant of each architecture. Size tokens are ordered by size, parameter counts and bare `t`/`h` sizes are recognized, and width-multiplier variants (`resnetv2_50x3`, `resnext101_32x8d`) are folded into their base architecture (they use the same ops). - timm updated to 1.0.30. `timm_models` is regenerated: 517 models, down from 532. The largest model is now 4.05 GB, and total weights drop from ~248 GB to ~108 GB. New failing models are marked xfail: `iformer_*` (numpy<2 load error) and `gemma4_vit_167m*` in export mode. - `aten::meshgrid` is now converted during translation for both TorchScript and FX. `PrimListUnpackReplacer` is still the fallback when the input list is unknown at that point. This fixes export mode for 9 new timm models and meshgrid outputs used directly by `stack`/`cat`/`[i]`. - Nightly Scope2 fails because `DunnBC22/efficientformer-l3-300-Brain_Tumors_Image_Classification` was removed from HF Hub. That failure also skips the LLM, Detectron2 and Torchbench steps. The model is replaced with `snap-research/efficientformer-l1-300`. - LLM nightly test `qwen3_compressed_tensors` (`cyankiwi/Qwen3.5-4B-AWQ-4bit`, a multimodal checkpoint) is marked xfail. With the pinned transformers 5.5.3, `AutoModelForCausalLM` drops its `quantization_config` (fixed in 5.8, huggingface/transformers#45494). Newer versions still don't match the checkpoint's ignore list to the text-only module names, so `linear_attn.in_proj_a/b` are initialized randomly. - Torchbench: all models failed in `install.py`, which requires torchaudio. torchaudio was dropped from the requirements in openvinotoolkit#36098 and doesn't support torch 2.14. The test removes torchaudio from torchbench's `TORCH_DEPS`, pins `setuptools<81` for sdist builds (`visdom` needs `pkg_resources`), and sets `PIP_USE_PEP517=1`. With pip 24, legacy `setup.py` packages are built in the test venv, where the `egg_info` hook of `kernels` (installed for LLM tests) crashes against the older `huggingface_hub` installed by torchbench. The maml models' inputs, pickled with numpy<2, now load with numpy 2. - Scope1 failures that existed before this PR: - `convit_tiny` (trace): the model fills a cache on its first forward, so the test runs one warm-up forward first. - torchvision segmentation models (export): FX model outputs are now named after their dict keys, which for `ExportedProgram` are taken from `out_spec`. A key is skipped if it's ambiguous (one tensor under several keys, or the same key in several nested dicts) or matches the name of another graph node or input. - `efficientvit_b0` (export): fixed by openvinotoolkit#38396, now passes. - Documented how to run model hub tests with a model cache. - The nightly `PyTorch Models Nightly Scope1/Scope2 tests` jobs in `ubuntu_22.yml` now also run for PRs that change `tests/model_hub_tests/pytorch`, `tests/model_hub_tests/models_hub_common` or `job_pytorch_models_tests.yml`. The `Smart_CI` job checks the PR's changed files with `git diff` on the merge commit, without extra API calls. The jobs also run on manual dispatch with the new `pytorch-models-nightly` input. They use the same runner and settings as the nightly, and aren't part of `Overall_Status`, so a failure doesn't block merge. This PR runs them itself. Moved from openvinotoolkit#38457. ### Tickets: - N/A ### AI Assistance: - AI assistance used: yes - AI analyzed the CI logs, implemented the changes and ran local validation (torch 2.14.0+cpu, timm 1.0.30): - New timm models and the timm models that use meshgrid: pass or xfail in trace and export mode. - `test_models_list_complete`: passes. - Full layer suites: 0 failures, with TorchScript (16533 passed) and with export (12969 passed, including the new dict output name tests). - Torchbench, convit, efficientvit and torchvision segmentation models: pass. - New efficientformer HF test: passes.
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.

Details:
PyTorch Models Nightly Scope1/Scope2 testsjobs inubuntu_22.ymlrun only on schedule. Changes to their model lists or tests are validated only after merge (e.g. the Scope1 runner OOM and the removed HF model fixed in [PT FE] Fix timm model filter selecting huge models, update timm to 1.0.30, support aten.meshgrid in FX #38443).tests/model_hub_tests/pytorch,tests/model_hub_tests/models_hub_commonorjob_pytorch_models_tests.yml. A step in theSmart_CIjob checks the PR's changed files through the GitHub API, so no new label or Smart CI component is needed;pytorch-models-nightlyinput:gh workflow run ubuntu_22.yml --ref <branch> -f pytorch-models-nightly=true.Overall_Status.Tickets:
AI Assistance:
actionlint(with shellcheck): no findings in the new code.