Repository navigation
[Chore] Port more vendored configs and processors to upstream Transformers - #60823
Conversation
…rmers Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Harry Mellor <19981378+hmellor@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Harry Mellor <19981378+hmellor@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Harry Mellor <19981378+hmellor@users.noreply.github.com>
|
gsm8k on 8x B200 (
Single runs over all 1319 questions, so the differences of 0.6 and 1.0 points (8 and 13 questions) are within run-to-run noise. Invalid responses were 0.000 to 0.001 for both. DeepSeek-V4-Flash covers this PR's vllm serve <model> --tensor-parallel-size 4 --gpu-memory-utilization 0.9 --max-model-len 8192
python tests/evals/gsm8k/gsm8k_eval.py --port <port> |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Harry Mellor <19981378+hmellor@users.noreply.github.com>
|
/ci run |
|
✅ Triggered Buildkite CI #95623 for commit |
|
This also fixes Cosmos3-Edge with
On GPU, this branch also loads the HF export with |
|
This pull request has merge conflicts that must be resolved before it can be |
…sors Transformers >= 5.9 stores registered image processors as dicts, which crashes get_possibly_dynamic_module() when resolving the feature extractor by name. Apply the same workaround as MiniMaxVLProcessor. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Harry Mellor <19981378+hmellor@users.noreply.github.com>
Signed-off-by: Harry Mellor <19981378+hmellor@users.noreply.github.com> # Conflicts: # vllm/transformers_utils/config.py # vllm/transformers_utils/configs/__init__.py
|
/ci run |
|
✅ Triggered Buildkite CI #96000 for commit |
Resolve the conflict with vllm-project#60823's Step-3.5 config refactor: keep the attention_cls hook in Step3p5DecoderLayer, and read Step-5's MTP layer types from layer_types_with_mtp. Co-authored-by: Claude <noreply@anthropic.com> Signed-off-by: Andreas Karatzas <akaratza@amd.com>
|
It breaks ColPali model test, #62627. Please test more and be more careful next time |
|
This was a merge race. The test that failed on main passed in this PR |
…ult rope type transformers >= 5.17 builds MuseGlimmerVisionRotaryEmbedding only for rope_type "axial", and maps the checkpoint's "default" to it through the config class's default_rope_type in standardize_rope_params. vLLM's vendored MuseGlimmerVisionConfig replaces transformers' in AutoConfig and lacked the attribute, so on transformers 5.17-5.19 the Transformers backend failed: "supports only axial rope, but requested default" (5.16.1, the floor of v0.32's range, still accepted "default"). With it, get_config's patch_rope_parameters maps the vision sub-config to "axial". Upstream fixes this by deleting the vendored config in 19997aa (vllm-project#60823, after v0.32.0); retire this commit when rebasing past it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Overview
Follow-up to #60623. Ports the vLLM code for 6 more models to the upstream Transformers 5.16.1 schemas, and deletes their vendored configs and processors (9 files). Also fixes registry entries that kept models out of CI.
Related PRs:
Claims
step3p5,muse_glimmer,cosmos3_edge,colpali,colmodernvbertandqianfan_ocr. It also deletes the vendoredcosmos3_edgeandmuse_glimmerprocessors, and the model code now reads the upstream fields:layer_types/mlp_layer_types/ per-typerope_parameters. UpstreamStep3p7TextConfigis registered in_CONFIG_REGISTRY, because the hub remote code fails validation.vlm_config.ModernVBertModelis mapped toColModernVBertForRetrieval.rope_theta(160000 → 10000). vLLM now matches the HF reference.IndexErrorbefore; it now builds.model_configwas not set).__init__signature, which here only exposedtokenizer, so the processor had noimage_processor. Fixed by overridingget_attributes.image_token_id.ModelConfig.is_quantized()now uses the arch config, so it sees quantization configs nested intext_config.InternVL{,Image,Video}ProcessortoInternVLChat*, so they stop shadowing the upstream classes.refs/pr/8andrefs/pr/10(OpenCUA's cap narrowed to the HF comparison).CohereLabs/North-Mini-Code-1.0.qwen3_asr: upstream silently loads the original nested checkpoints with default sizes.Validation
mainvs this branch on CPU,transformers5.19.0. Each checkpoint's config and meta-device model build were dumped with.agents/skills/transformers-upgrade/scripts/and diffed.mainnum_layersgoes 56 → 28: the attention layers only, as Nemotron-H no longer counts MLP blocks.use_qk_norm/use_output_gateflags dropped.rope_theta10000 → 160000 (the fix above). vs HF fp32: max abs diff 0.39 → 8e-5.Processor outputs, bit-identical to
mainunless noted:Pending on GPU:
tests/models/multimodal/pooling/test_colmodernvbert.py) and Muse-Glimmer image/video.tests/models/test_initialization.pyfor the touched architectures.Pull Request Checklist
I used vLLM's
/pr-checklistskill. (Mandatory for agents, optional for humans).AI assistance was used during the creation of this PR.
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