Skip to content

[#14649][feat] AutoDeploy: UltraV3 nvfp4 MTP - #14473

Open
govind-ramnarayan wants to merge 10 commits into
NVIDIA:mainfrom
nv-auto-deploy:gramnarayan/ultra-mtp
Open

[#14649][feat] AutoDeploy: UltraV3 nvfp4 MTP#14473
govind-ramnarayan wants to merge 10 commits into
NVIDIA:mainfrom
nv-auto-deploy:gramnarayan/ultra-mtp

Conversation

@govind-ramnarayan

@govind-ramnarayan govind-ramnarayan commented May 22, 2026

Copy link
Copy Markdown
Collaborator

Fixes: #14649

Summary by CodeRabbit

  • New Features
    • Added support for Ultra V3 model with MTP speculative decoding for enhanced inference performance.
    • Introduced NVFP4 quantization with FP8 KV cache configuration options.
    • Extended model deployment configurations with advanced optimization parameters including multi-stream and fusion settings.

Review Change Stack

Description

Test Coverage

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)

  • If PR introduces API changes, an appropriate PR label is added - either api-compatible or api-breaking. For api-breaking, include BREAKING in the PR title.

  • 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.

Comment thread tensorrt_llm/_torch/auto_deploy/models/eagle.py Outdated
Comment thread tensorrt_llm/_torch/auto_deploy/models/eagle.py Outdated
Comment thread tensorrt_llm/_torch/auto_deploy/models/eagle.py Outdated
Comment thread tensorrt_llm/_torch/auto_deploy/models/eagle.py Outdated
Comment thread tensorrt_llm/_torch/auto_deploy/models/eagle.py Outdated
Comment thread tensorrt_llm/_torch/auto_deploy/models/custom/modeling_eagle.py Outdated
@govind-ramnarayan govind-ramnarayan changed the title [None][feat] AutoDeploy: Ultra MTP [None][feat] AutoDeploy: UltraV3 MTP May 23, 2026
@govind-ramnarayan govind-ramnarayan changed the title [None][feat] AutoDeploy: UltraV3 MTP [None][feat] AutoDeploy: UltraV3 nvfp4 MTP May 23, 2026
@govind-ramnarayan
govind-ramnarayan marked this pull request as ready for review May 27, 2026 21:49
@govind-ramnarayan
govind-ramnarayan requested review from a team as code owners May 27, 2026 21:49
@govind-ramnarayan govind-ramnarayan changed the title [None][feat] AutoDeploy: UltraV3 nvfp4 MTP [#14649][feat] AutoDeploy: UltraV3 nvfp4 MTP May 27, 2026
@coderabbitai

coderabbitai Bot commented May 27, 2026

Copy link
Copy Markdown
Contributor
📝 Walkthrough

Walkthrough

This PR adds end-to-end MTP speculative decoding support for the Ultra V3 model in TensorRT-LLM. The changes introduce quantization exclusion remapping for draft models, provide a complete runtime configuration, and validate the implementation through unit, smoke, and integration tests.

Changes

Ultra V3 MTP Implementation

Layer / File(s) Summary
Quantization exclusion remapping infrastructure
tensorrt_llm/_torch/auto_deploy/models/eagle.py, tensorrt_llm/_torch/auto_deploy/models/custom/modeling_eagle.py, tests/unittest/auto_deploy/singlegpu/smoke/test_ad_speculative_decoding.py
Introduces mapped_module_names() utility for regex-based module name remapping. EagleConfig adds _quant_exclude_conversion_mapping defaults for Nemotron-H drafter. EagleDrafterFactory captures the drafter's exclusion mapping, and EagleOneModelFactory.get_quant_config() remaps target model exclusions via the drafter mapping. Unit test validates remapping from drafter patterns (e.g., mtp*) to target patterns (e.g., model*).
Ultra V3 MTP configuration and validation
examples/auto_deploy/model_registry/configs/ultra_v3_mtp.yaml, tests/unittest/auto_deploy/_utils_test/_model_test_utils.py, tests/unittest/auto_deploy/singlegpu/smoke/test_ad_speculative_decoding.py
New ultra_v3_mtp.yaml defines batching limits, KV cache behavior, speculative parameters (draft length, MTP Eagle One model), sharding rules with manual TP projection mapping, and fusion toggles. Small model configuration added for test support. Smoke test runs MTP/Eagle one-model setup with Ultra V3 target using flashinfer and validates generation output.
Integration tests and accuracy benchmarks
tests/integration/defs/accuracy/test_llm_api_autodeploy.py, tests/integration/defs/accuracy/references/gsm8k.yaml, tests/integration/test_lists/test-db/l0_dgx_b200.yml
New parametrized test test_mtp() runs Ultra V3 with MTP config, applies quantization, evaluates GSM8K with extended tokens and higher sample count, and asserts speculative acceptance rate ≥ 0.50. Accuracy reference (91.797) recorded for NVFP4 + FP8 KV cache + MTP configuration. Test cases registered in CI pipeline for 4-GPU and 8-GPU post-merge execution.

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • NVIDIA/TensorRT-LLM#14352: Refactors accuracy test harness to use model-registry-provided yaml_extra for configuration injection, complementing this PR's addition of an Ultra V3 MTP yaml_extra test entry.

Suggested reviewers

  • galagam
  • QiJune
  • hnover-nv
  • liji-nv
🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Description check ⚠️ Warning The PR description lacks substantive content—it contains only the repository template with empty sections (Description, Test Coverage) and a checked-off checklist with no actual details about the changes. Add a clear description of the changes (what MTP support was added, why, and how it works), list relevant test cases (test_mtp, smoke tests), and verify all checklist items are genuinely addressed.
Docstring Coverage ⚠️ Warning Docstring coverage is 20.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly describes the main feature: adding MTP (speculative decoding) support for UltraV3 with NVFP4 quantization in AutoDeploy, matching the changeset's primary focus.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
tests/integration/defs/accuracy/test_llm_api_autodeploy.py (1)

878-914: Confirm QA scheduled-list intent for the new Ultra MTP integration coverage.

Since this adds a new integration accuracy path, please explicitly confirm whether a corresponding entry is needed under tests/integration/test_lists/qa/ (or document that QA-list updates are intentionally unnecessary for this PR).

As per coding guidelines: "If the change adds or materially alters an integration test under tests/integration/defs/, call out whether an entry is needed under tests/integration/test_lists/qa/."

🤖 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 `@tests/integration/defs/accuracy/test_llm_api_autodeploy.py` around lines 878
- 914, Confirm whether this new integration test (test_mtp using AutoDeployLLM
with MTP_CONFIG_YAML and GSM8K) should be scheduled in the QA scheduled-list; if
yes, add a corresponding entry to the QA scheduled-list naming the test (e.g.,
test_mtp / "Ultra MTP" coverage) and include required runtime tags
(world_size/device requirements) and skip conditions, otherwise state in the PR
description why no QA-list entry is needed (for example: transient/experimental
integration, gated by skip_pre_blackwell, or not a maintained nightly test) so
reviewers know the omission is intentional.
🤖 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.

Inline comments:
In `@tests/unittest/auto_deploy/singlegpu/smoke/test_ad_speculative_decoding.py`:
- Around line 205-215: The DraftFactory stub uses a mutable class attribute
_quant_exclude_conversion_mapping which triggers RUF012 and may share state
across tests; convert that mapping into an instance attribute by moving
_quant_exclude_conversion_mapping from the class body into DraftFactory.__init__
(i.e., set self._quant_exclude_conversion_mapping = {r"^mtp(?=\.|\*)":
"model"}), update any references to use the instance attribute, and ensure other
tests/uses instantiate DraftFactory so no class-level mutable state remains.

---

Nitpick comments:
In `@tests/integration/defs/accuracy/test_llm_api_autodeploy.py`:
- Around line 878-914: Confirm whether this new integration test (test_mtp using
AutoDeployLLM with MTP_CONFIG_YAML and GSM8K) should be scheduled in the QA
scheduled-list; if yes, add a corresponding entry to the QA scheduled-list
naming the test (e.g., test_mtp / "Ultra MTP" coverage) and include required
runtime tags (world_size/device requirements) and skip conditions, otherwise
state in the PR description why no QA-list entry is needed (for example:
transient/experimental integration, gated by skip_pre_blackwell, or not a
maintained nightly test) so reviewers know the omission is intentional.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 7443049e-4fed-48d2-bddb-1ccc2b45548c

📥 Commits

Reviewing files that changed from the base of the PR and between b1eb703 and 85a6f5d.

📒 Files selected for processing (8)
  • examples/auto_deploy/model_registry/configs/ultra_v3_mtp.yaml
  • tensorrt_llm/_torch/auto_deploy/models/custom/modeling_eagle.py
  • tensorrt_llm/_torch/auto_deploy/models/eagle.py
  • tests/integration/defs/accuracy/references/gsm8k.yaml
  • tests/integration/defs/accuracy/test_llm_api_autodeploy.py
  • tests/integration/test_lists/test-db/l0_dgx_b200.yml
  • tests/unittest/auto_deploy/_utils_test/_model_test_utils.py
  • tests/unittest/auto_deploy/singlegpu/smoke/test_ad_speculative_decoding.py

@govind-ramnarayan

Copy link
Copy Markdown
Collaborator Author

/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"

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #50639 [ run ] triggered by Bot. Commit: 85a6f5d Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #50639 [ run ] completed with state FAILURE. Commit: 85a6f5d
/LLM/main/L0_MergeRequest_PR pipeline #40132 (Partly Tested) completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

Comment thread examples/auto_deploy/model_registry/configs/ultra_v3_mtp.yaml Outdated
@govind-ramnarayan

Copy link
Copy Markdown
Collaborator Author

@coderabbitai Regarding the QA scheduled-list nitpick on test_mtp: we add the new TestNemotronUltraV3::test_mtp cases in the same places UltraV3 is currently scheduled (the l0 test-db), so no separate tests/integration/test_lists/qa/ entry is needed for this PR.

@coderabbitai

coderabbitai Bot commented May 29, 2026

Copy link
Copy Markdown
Contributor

Tip

For best results, initiate chat on the files or code changes.

@govind-ramnarayan Got it, thanks for the clarification! Since test_mtp follows the same scheduling pattern as the existing UltraV3 tests (l0 test-db only), the absence of a separate tests/integration/test_lists/qa/ entry makes sense. I'll keep this convention in mind for future reviews.


✏️ Learnings added
Learnt from: govind-ramnarayan
URL: https://github.com/NVIDIA/TensorRT-LLM/pull/14473

Timestamp: 2026-05-29T18:49:42.018Z
Learning: In the TensorRT-LLM repository, new `TestNemotronUltraV3` test cases (e.g., `test_mtp`) do not require a separate `tests/integration/test_lists/qa/` entry. They follow the same scheduling pattern as existing UltraV3 tests and are only added to the l0 test-db (`tests/integration/test_lists/test-db/l0_dgx_b200.yml`).

Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.

@govind-ramnarayan

Copy link
Copy Markdown
Collaborator Author

Tip

For best results, initiate chat on the files or code changes.

@govind-ramnarayan Got it, thanks for the clarification! Since test_mtp follows the same scheduling pattern as the existing UltraV3 tests (l0 test-db only), the absence of a separate tests/integration/test_lists/qa/ entry makes sense. I'll keep this convention in mind for future reviews.

✏️ Learnings added

Learnt from: govind-ramnarayan
URL: https://github.com/NVIDIA/TensorRT-LLM/pull/14473

Timestamp: 2026-05-29T18:49:42.018Z
Learning: In the TensorRT-LLM repository, new `TestNemotronUltraV3` test cases (e.g., `test_mtp`) do not require a separate `tests/integration/test_lists/qa/` entry. They follow the same scheduling pattern as existing UltraV3 tests and are only added to the l0 test-db (`tests/integration/test_lists/test-db/l0_dgx_b200.yml`).

Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.

@coderabbitai Rather, the learning should be that when we add MTP tests in AutoDeploy for a model that is already tested with the base model only, we will just add the tests to the same lists that the base model tests are in, unless explicitly told otherwise.

@coderabbitai

coderabbitai Bot commented May 29, 2026

Copy link
Copy Markdown
Contributor

Tip

For best results, initiate chat on the files or code changes.

@govind-ramnarayan Thanks for the correction! I've added the more general learning below. Unfortunately, I don't have the UUID for the previous learning, so I'm unable to delete it automatically — you can remove it manually via the CodeRabbit learnings page.

(ᵔ·ᴥ·ᵔ)


✏️ Learnings added
Learnt from: govind-ramnarayan
URL: https://github.com/NVIDIA/TensorRT-LLM/pull/14473

Timestamp: 2026-05-29T18:53:09.608Z
Learning: In the TensorRT-LLM repository, when adding MTP tests in AutoDeploy for a model that is already tested with the base model only, the new MTP tests should be added to the same test lists that the base model tests are in (e.g., `tests/integration/test_lists/test-db/l0_dgx_b200.yml`), unless explicitly told otherwise. No separate `tests/integration/test_lists/qa/` entry is needed.

Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.

@govind-ramnarayan

Copy link
Copy Markdown
Collaborator Author

/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"

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #51095 [ run ] triggered by Bot. Commit: 151e453 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #51095 [ run ] completed with state SUCCESS. Commit: 151e453
/LLM/main/L0_MergeRequest_PR pipeline #40534 (Partly Tested) completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

@govind-ramnarayan

Copy link
Copy Markdown
Collaborator Author

/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"

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #51128 [ run ] triggered by Bot. Commit: 151e453 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #51128 [ run ] completed with state SUCCESS. Commit: 151e453
/LLM/main/L0_MergeRequest_PR pipeline #40566 (Partly Tested) completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

@govind-ramnarayan

Copy link
Copy Markdown
Collaborator Author

/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"

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #51395 [ run ] triggered by Bot. Commit: 151e453 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #51395 [ run ] completed with state FAILURE. Commit: 151e453
/LLM/main/L0_MergeRequest_PR pipeline #40806 (Partly Tested) completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

@govind-ramnarayan

Copy link
Copy Markdown
Collaborator Author

/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"

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #51435 [ run ] triggered by Bot. Commit: 151e453 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #51435 [ run ] completed with state SUCCESS. Commit: 151e453
/LLM/main/L0_MergeRequest_PR pipeline #40844 (Partly Tested) completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

@govind-ramnarayan

Copy link
Copy Markdown
Collaborator Author

/bot run --disable-fail-fast

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #52440 [ run ] triggered by Bot. Commit: 114081c Link to invocation

@govind-ramnarayan

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #52440 [ run ] completed with state FAILURE. Commit: 114081c
/LLM/main/L0_MergeRequest_PR pipeline #41733 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #52463 [ run ] triggered by Bot. Commit: 19aaa51 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #52463 [ run ] completed with state FAILURE. Commit: 19aaa51
/LLM/main/L0_MergeRequest_PR pipeline #41755 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

Link to invocation

Signed-off-by: Govind Ramnarayan <105831528+govind-ramnarayan@users.noreply.github.com>
Signed-off-by: Govind Ramnarayan <105831528+govind-ramnarayan@users.noreply.github.com>
Signed-off-by: Govind Ramnarayan <105831528+govind-ramnarayan@users.noreply.github.com>
Signed-off-by: Govind Ramnarayan <105831528+govind-ramnarayan@users.noreply.github.com>
Signed-off-by: Govind Ramnarayan <105831528+govind-ramnarayan@users.noreply.github.com>
Signed-off-by: Govind Ramnarayan <105831528+govind-ramnarayan@users.noreply.github.com>
- Move DraftFactory test stub quant-exclude mapping to an instance
  attribute to satisfy Ruff RUF012.
- Drop stale TODO comment above gather_logits_before_lm_head in the
  Ultra V3 MTP config.

Signed-off-by: Govind Ramnarayan <105831528+govind-ramnarayan@users.noreply.github.com>
…orm group_size

The NVFP4 fused_gated_rmsnorm_quant op requires group_size in [256, 8192]
and a multiple of 256. The shrunken Ultra-V3-NVFP4 smoke config had
n_groups=2, giving gated-RMSNorm group_size = mamba d_inner / n_groups =
256 / 2 = 128, which trips the constraint once the default-on NVFP4
RMSNorm fusion routes the gated norm into the C++ op. Set n_groups=1 so
group_size = 256 / 1 = 256.

Signed-off-by: Govind Ramnarayan <105831528+govind-ramnarayan@users.noreply.github.com>
…g GSM8K

Point the Nemotron-Ultra-V3-NVFP4 model mapping at the official
NVIDIA-Nemotron-3-Ultra-550B-A55B-NVFP4 checkpoint location, and adapt
TestNemotronUltraV3.test_mtp's GSM8K evaluation to the no-thinking prompt
format (enable_thinking=False, fewshot_as_multiturn=True,
max_tokens=GSM8K.MAX_OUTPUT_LEN) used for that checkpoint.

test_accuracy is intentionally left unchanged. The MTP accuracy reference
and acceptance-rate threshold are inherited and first validated in CI
against the official checkpoint.

Signed-off-by: Govind Ramnarayan <105831528+govind-ramnarayan@users.noreply.github.com>
…per)

Address review comment: enable the FlashInfer SSM backend with the replay
kernel for Ultra V3 MTP, matching the super configuration.

- ultra_v3_mtp.yaml: insert_cached_ssm_attention backend=flashinfer_ssm with
  ssm_replay=true for the MTP extend path
- ultra smoke test: switch insert_cached_ssm_attention to flashinfer_ssm +
  ssm_replay (was triton_ssm)
- small-model registry: ssm_state_size 8 -> 64 to satisfy the FlashInfer SSM
  decode-path constraint

Signed-off-by: Govind Ramnarayan <105831528+govind-ramnarayan@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature]: AutoDeploy: UltraV3 nvfp4 + MTP

4 participants