Update MTP inference for SpeechLM vLLM for Nemotron 3.5 Lightning based models - #16068
Open
DongjiGao wants to merge 14 commits into
Open
Update MTP inference for SpeechLM vLLM for Nemotron 3.5 Lightning based models#16068DongjiGao wants to merge 14 commits into
DongjiGao wants to merge 14 commits into
Conversation
- register the NeMo SpeechLM MTP draft model and route compatible repeated-layer checkpoints through vLLM speculative decoding - fuse audio embeddings at placeholder positions for target and draft models - load MTP weights while handling SpeechLM checkpoint prefixes and vocabulary padding - make plugin registration idempotent and validate repeated-layer multi-head configurations - add focused plugin tests for registration, config routing, embeddings, and MTP properties Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: slyne deng <slyned@nvidia.com> Signed-off-by: Codex <codex@openai.com>
Signed-off-by: SlyneD <slyned@nvidia.com> Signed-off-by: Codex <codex@openai.com>
…r repeated MTP head; and fix for v0.20.0 weight loading Signed-off-by: SlyneD <slyned@nvidia.com> Signed-off-by: Codex <codex@openai.com>
Signed-off-by: SlyneD <slyned@nvidia.com> Signed-off-by: Codex <codex@openai.com>
Signed-off-by: Codex <codex@openai.com>
Signed-off-by: Codex <codex@openai.com>
* Fix Mamba vLLM weight name mapping * Narrow Mamba vLLM compatibility mapping Signed-off-by: Codex <codex@openai.com>
Signed-off-by: Codex <codex@openai.com>
Signed-off-by: Codex <codex@openai.com>
Signed-off-by: Codex <codex@openai.com>
DongjiGao
marked this pull request as ready for review
August 16, 2026 23:13
Signed-off-by: Piotr Żelasko <pzelasko@nvidia.com>
Signed-off-by: Piotr Żelasko <pzelasko@nvidia.com>
Collaborator
|
/ok to test 52d477b |
Signed-off-by: Piotr Żelasko <pzelasko@nvidia.com>
Collaborator
|
/ok to test 761ea9b |
Signed-off-by: Piotr Żelasko <pzelasko@nvidia.com>
Collaborator
|
/ok to test bc8de5f |
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.
Summary
Dependencies
This is a dependent PR based on the exact head of #16053:
5ab986f2bef261e36d905c20a3306fb79cb49769a1df443105b2dfc413b703f623e2529f3b1d6d82The PR targets #16053's head branch,
codex/pr-16048, so its functional diff is the vLLM-plugin integration layered on that work.The MTP implementation builds on Slyne's work in #15906 and includes the follow-up fixes required by the Nemotron Transcribe 3.5 checkpoints tested here. The Speech #16053 base predates merged fix #16054, so that weight-name mapping is present in this dependent branch as well; it can disappear when the base is refreshed from current
main.What this enables
The same exported Nemotron Transcribe checkpoint can be loaded in either mode:
The target-only loader ignores checkpoint MTP-head tensors. When MTP is enabled, vLLM resolves
NeMoSpeechLMMTPModel, loads those draft weights, and uses the same audio embeddings and placeholder positions as the target.Scope
This PR contains the complete SpeechLM vLLM-plugin path for target-only and MTP inference. It deliberately contains no decoded-word repetition detector, output trimming, or other checkpoint-specific post-processing.
Validation
Focused unit suites in the project's vLLM 0.23.0 / CUDA 12.9 container with Automodel #3555 mounted:
Real BF16 GPU smokes on one RTX PRO 6000 Blackwell Max-Q with the Hero5 Transformer-encoder checkpoint:
NeMoSpeechLMMTPModelseparately10 companies that let you teach English.The target-only and MTP smoke results, hashes, checkpoint/container provenance, and commands are retained in the Nemotron Transcribe vLLM Labbook project.