[None][fix] Fix AutoDeploy accuracy tests - #13925
Conversation
62866f2 to
107756e
Compare
|
@coderabbitai summary |
✅ Actions performedSummary regeneration triggered. |
|
/bot run --stage-list "A10-Build_Docs, A10-PackageSanityCheck-PY310-UB2204, A100X-PackageSanityCheck-PY312-UB2404, A30-AutoDeploy-1, H100_PCIe-AutoDeploy-1, DGX_B200-AutoDeploy-1, A100X-PyTorch-1, DGX_H100-4_GPUs-AutoDeploy-1, DGX_B200-4_GPUs-AutoDeploy-1, DGX_H100-4_GPUs-AutoDeploy-Post-Merge-1, DGX_B200-8_GPUs-AutoDeploy-Post-Merge-1" --disable-fail-fast |
📝 WalkthroughWalkthroughThis PR contains three independent model and test updates: Gemma4 switches from a custom tokenizer wrapper to ChangesGemma4 AutoTokenizer Migration
Qwen3.5 MoE Token-Type Field Cleanup
Test Reference and Configuration Updates
🎯 3 (Moderate) | ⏱️ ~25 minutes 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
PR_Github #47450 [ run ] triggered by Bot. Commit: |
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
tensorrt_llm/_torch/auto_deploy/models/custom/modeling_gemma4.py (1)
2291-2299:⚠️ Potential issue | 🟠 Major | ⚡ Quick winUpdate transformers requirement to ≥5.5.0 or add version guard before AutoTokenizer.from_pretrained() calls.
The code uses
AutoTokenizer.from_pretrained()at lines 2296 and 2635 to load Gemma4 tokenizers, but the repo is pinned to transformers==5.3.0. Gemma4 was introduced in Transformers v5.5.0; attempting to load it with 5.3.0 will fail with "Transformers does not recognize this architecture." Either updaterequirements.txttotransformers>=5.5.0throughout the repo, or add a version check (similar to the pattern intransformers_causal_mask.py) to guard these calls and fail fast with a clear error message if the requirement is not met.Also applies to: 2632-2635
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@tensorrt_llm/_torch/auto_deploy/models/custom/modeling_gemma4.py` around lines 2291 - 2299, The Gemma4 tokenizer calls in ADGemma4Processor.from_pretrained (and the similar call near the end of modeling_gemma4.py) rely on Transformers >=5.5.0; either update the repo requirement to transformers>=5.5.0 or add a runtime version guard before calling AutoTokenizer.from_pretrained() that checks transformers.__version__ (or uses packaging.version.parse) and raises a clear, fast-failing error indicating the minimum version required. Locate the two AutoTokenizer.from_pretrained usages in modeling_gemma4.py (inside ADGemma4Processor.from_pretrained and the other Gemma4 loader) and implement the version check there so the code never calls AutoTokenizer when the installed transformers is <5.5.0.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Outside diff comments:
In `@tensorrt_llm/_torch/auto_deploy/models/custom/modeling_gemma4.py`:
- Around line 2291-2299: The Gemma4 tokenizer calls in
ADGemma4Processor.from_pretrained (and the similar call near the end of
modeling_gemma4.py) rely on Transformers >=5.5.0; either update the repo
requirement to transformers>=5.5.0 or add a runtime version guard before calling
AutoTokenizer.from_pretrained() that checks transformers.__version__ (or uses
packaging.version.parse) and raises a clear, fast-failing error indicating the
minimum version required. Locate the two AutoTokenizer.from_pretrained usages in
modeling_gemma4.py (inside ADGemma4Processor.from_pretrained and the other
Gemma4 loader) and implement the version check there so the code never calls
AutoTokenizer when the installed transformers is <5.5.0.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 4e8b3ad0-f423-48b0-a7ea-a9494d07e7bc
📒 Files selected for processing (6)
tensorrt_llm/_torch/auto_deploy/models/custom/modeling_gemma4.pytensorrt_llm/_torch/auto_deploy/models/custom/modeling_qwen3_5_moe.pytensorrt_llm/_torch/auto_deploy/models/custom/modeling_qwen3_5_moe_ir.pytests/integration/defs/accuracy/references/gsm8k.yamltests/integration/defs/accuracy/test_llm_api_autodeploy.pytests/integration/test_lists/waives.txt
💤 Files with no reviewable changes (1)
- tests/integration/test_lists/waives.txt
|
PR_Github #47450 [ run ] completed with state
|
2e89ebb to
61aadb7
Compare
|
/bot run |
|
PR_Github #47796 [ run ] triggered by Bot. Commit: |
|
PR_Github #47796 [ run ] completed with state
|
61aadb7 to
9ed5636
Compare
|
/bot run |
|
PR_Github #47905 [ run ] triggered by Bot. Commit: |
|
PR_Github #47905 [ run ] completed with state
|
|
/bot run |
|
PR_Github #48026 [ run ] triggered by Bot. Commit: |
|
/bot run --disable-fail-fast |
|
PR_Github #48034 [ run ] triggered by Bot. Commit: |
|
PR_Github #48034 [ run ] completed with state
|
b3e6a78 to
b0d1677
Compare
Signed-off-by: Balamurugan Marimuthu <246387390+bmarimuthu-nv@users.noreply.github.com>
Signed-off-by: Balamurugan Marimuthu <246387390+bmarimuthu-nv@users.noreply.github.com>
9ffadf6 to
ebed77e
Compare
|
/bot run |
|
PR_Github #51901 [ run ] triggered by Bot. Commit: |
|
PR_Github #51901 [ run ] completed with state
|
|
/bot run |
|
PR_Github #51924 [ run ] triggered by Bot. Commit: |
|
PR_Github #51924 [ run ] completed with state
|
|
/bot run --disable-fail-fast |
|
PR_Github #52008 [ run ] triggered by Bot. Commit: |
|
PR_Github #52008 [ run ] completed with state
|
|
/bot run --disable-fail-fast |
|
PR_Github #52107 [ run ] triggered by Bot. Commit: |
|
/bot run --stage-list "A10-Build_Docs, A10-PackageSanityCheck-PY310-UB2204, A100X-PackageSanityCheck-PY312-UB2404, A30-AutoDeploy-1, H100_PCIe-AutoDeploy-1, DGX_B200-AutoDeploy-1, A100X-PyTorch-1, DGX_H100-4_GPUs-AutoDeploy-1, DGX_B200-4_GPUs-AutoDeploy-1" |
|
PR_Github #52118 [ run ] triggered by Bot. Commit: |
|
PR_Github #52107 [ run ] completed with state |
|
PR_Github #52118 [ run ] completed with state |
|
/bot skip --comment "All autoDeploy stages pass, it only merges fixes, unwaive will be added in follow up PR" |
|
PR_Github #52131 [ skip ] triggered by Bot. Commit: |
|
PR_Github #52131 [ skip ] completed with state |
…gle-GPU test_single_request_chat_multiple_images[pd_disagg-qwen3_30b_a3b_fp8] in test_mm_encoder_standalone.py fails at setup on the pre-merge DGX_B200 single-GPU stage with a NIXL CacheTransceiver init assertion (status == NIXL_SUCCESS, transferAgent.cpp:614) when the pd_disagg LLM constructs its disaggregated KV-cache transfer agent. This is a fleet-wide failure on the single-GPU pre-merge stage, observed across many unrelated PRs (e.g. NVIDIA#13978, NVIDIA#13925, NVIDIA#14841, NVIDIA#14599, NVIDIA#14524, NVIDIA#14941, NVIDIA#14398); it passes only intermittently (~1/3) depending on node. Waiving until the single-GPU NIXL EPD-disagg path is fixed or the variant is gated to multi-GPU. NVBug: https://nvbugs/6269683 Signed-off-by: venkywonka <23023424+venkywonka@users.noreply.github.com>
|
Unwaives added in this PR: #14971 |
Signed-off-by: Balamurugan Marimuthu <246387390+bmarimuthu-nv@users.noreply.github.com> Co-authored-by: Suyog Gupta <41447211+suyoggupta@users.noreply.github.com> Signed-off-by: NVFB <186336021+NVFB@users.noreply.github.com>
Signed-off-by: Balamurugan Marimuthu <246387390+bmarimuthu-nv@users.noreply.github.com> Co-authored-by: Suyog Gupta <41447211+suyoggupta@users.noreply.github.com>
Description
Fix and unwaive a batch of AutoDeploy accuracy tests, and make the
quant_config_readerstandalone-compatible so the standalone llmc package's unit-test suite is green.AutoDeploy accuracy / multimodal fixes
get_vocab_sizeto prefer the base processor / safely handle tokenizers withoutvocab_size, drop densetoken_type_idsmasks the AD wrapper rebuilds from compact span metadata, and addmm_token_type_idsto the carried multimodal keys.get_vocab_sizeinterface as the final state).test_vision_attention_matches_reference,test_vision_block_matches_reference, andtest_vlm_wrapper_delta_is_request_scoped_no_cross_call_leakage, and unwaive the correspondingunittest/auto_deploy/singlegpu/models/test_qwen3_5_moe.pycases.LLM._build_modeladopts the multimodal processor created by_create_input_processor.Waive / unwaive churn
TestGemma4MoE::test_bf16,TestGemmaE2B::test_gemma4_e2b_it,TestMiniMaxM2::test_finegrained_fp8, andTestQwen3_5_397B_MoE::test_bf16_small[4]now that the accuracy regressions are fixed.TestModelRegistryAccuracyregistry cases, and the qwen vision-tower tests above.Standalone llmc package fix
models/quant_config_reader.pyimportedtensorrt_llm.quantization.modelopt_configat module top-level, which transitively pulled intensorrt_llm.mapping→tensorrt_llm._torch.device_mesh. None of these exist in the standalone llmc package, somodels/hf.pyand every custom model that re-exports from it failed to load — leavingModelFactoryRegistryempty and producing 28+ collection errors in the standalone unit-test suite._compat.TRTLLM_AVAILABLEand provide stubs for standalone mode (the ModelOPT reader path itself is unreachable without TRT-LLM).create_standalone_package.py(test_glm4_moe_modeling,test_glm_moe_dsa_modeling,test_granite_moe_hybrid_modeling,test_mxfp4_moe_layout).Test Coverage
accuracy/test_llm_api_autodeploy.py::TestGemma4MoE::test_bf16accuracy/test_llm_api_autodeploy.py::TestGemmaE2B::test_gemma4_e2b_itaccuracy/test_llm_api_autodeploy.py::TestMiniMaxM2::test_finegrained_fp8accuracy/test_llm_api_autodeploy.py::TestQwen3_5_397B_MoE::test_bf16_small[4]accuracy/test_llm_api_autodeploy.py::TestLlama3_1_8B_Instruct_Eagle3::test_eagle3_one_model[flashinfer|trtllm]accuracy/test_llm_api_autodeploy.py::TestModelRegistryAccuracy::test_autodeploy_from_registry[...]unittest/auto_deploy/singlegpu/models/test_gemma4_modeling.py— newtest_conditional_generation_wrapper_handles_exported_text_graph_without_per_layer_inputsunittest/auto_deploy/singlegpu/models/test_qwen3_5_moe.py::test_vision_attention_matches_reference|test_vision_block_matches_reference|test_vlm_wrapper_delta_is_request_scoped_no_cross_call_leakageunittest/auto_deploy/singlegpu/shim/test_llm_config.py— newtest_build_model_replaces_parent_model_specific_input_processorunittest/auto_deploy/standalone/test_standalone_import.pyandtest_standalone_package.py— both tests previously failing onupstream/main(4 failed, 32 errors); now 12 passed, 0 failed, 0 errors with 1857 inner unit tests green.PR Checklist
Please review the following before submitting your PR:
PR description clearly explains what and why. If using CodeRabbit's summary, please make sure it makes sense.
PR Follows TRT-LLM CODING GUIDELINES to the best of your knowledge.
Test cases are provided for new code paths (see test instructions)
Any new dependencies have been scanned for license and vulnerabilities
CODEOWNERS updated if ownership changes
Documentation updated as needed
Update tava architecture diagram if there is a significant design change in PR.
The reviewers assigned automatically/manually are appropriate for the PR.
Please check this after reviewing the above items as appropriate for this PR.
GitHub Bot Help
To see a list of available CI bot commands, please comment
/bot help.