Skip to content

feat(speechlm2): add native MTP speculative decoding in vLLM - #16196

Merged
pzelasko merged 5 commits into
mainfrom
codex/pr16158-rewrite/05-mtp-serving
Sep 12, 2026
Merged

feat(speechlm2): add native MTP speculative decoding in vLLM#16196
pzelasko merged 5 commits into
mainfrom
codex/pr16158-rewrite/05-mtp-serving

Conversation

@pzelasko

@pzelasko pzelasko commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator

feat(speechlm2): add native MTP speculative decoding in vLLM

Stack 5/7: 1/7 Encoder foundations2/7 Indexed/resumable data3/7 Packed speech training4/7 Portable export + target-only vLLMMTP serving6/7 DFlash serving7/7 CCE dependency

Base: main

Head: codex/pr16158-rewrite/05-mtp-serving

Tip: 2863841158fa513dbd9980a12543e02c020632fc

Summary

  • Serialize and validate the MTP topology actually built by training.
  • Register the speculative draft model and make the hook safe across repeated registration and spawned workers.
  • Split target and draft weights, fuse audio embeddings in the draft, and handle vocabulary/head padding.
  • Support repeated heads and packed-expert remapping with strict failure behavior.

Reviewer guide

The review question is: does MTP add a correct speculative draft model on top of the already reviewed target-only export and serving path?

Baseline checkpoint publication, portable encoder reconstruction, ordinary initialization, and ordinary multimodal inference are established by PR 4 and absent from this layer.

Attribution

The replay preserves original authors, dates, source-commit references, and author-matching DCO sign-offs.

Validation

  • git diff --check: passed.
  • Complete-stack pre-commit and compilation: passed.
  • Focused stack suite: 403 passed, 20 skipped.
  • uv lock --check --offline: passed.
  • All five replayed PR-5 commits are patch-identical to their pre-rebase counterparts.

@copy-pr-bot

copy-pr-bot Bot commented Sep 1, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@pzelasko

pzelasko commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator Author

/ok to test fec1163

Comment thread tests/collections/speechlm2/test_vllm_plugin.py Fixed
Comment thread tests/collections/speechlm2/test_vllm_plugin.py Fixed
Comment thread tests/collections/speechlm2/test_vllm_plugin.py Fixed
Comment thread tests/collections/speechlm2/test_vllm_plugin.py Fixed
Comment thread tests/collections/speechlm2/test_vllm_plugin.py Fixed
Comment thread tests/collections/speechlm2/test_vllm_plugin.py Fixed
Comment thread tests/collections/speechlm2/test_vllm_plugin.py Fixed
Comment thread tests/collections/speechlm2/test_vllm_plugin.py Fixed
@pzelasko
pzelasko force-pushed the codex/pr16158-rewrite/04-portable-export-vllm branch from 47bafa8 to ad7ee0f Compare September 1, 2026 23:17
@pzelasko
pzelasko force-pushed the codex/pr16158-rewrite/05-mtp-serving branch from fec1163 to 9ddd6e9 Compare September 1, 2026 23:19
@pzelasko

pzelasko commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator Author

/ok to test 9ddd6e9

@copy-pr-bot

copy-pr-bot Bot commented Sep 1, 2026

Copy link
Copy Markdown

/ok to test 975069e061c9f213aa69eaff1785351d3b630f32

@pzelasko, there was an error processing your request: E2

See the following link for more information: https://docs.gha-runners.nvidia.com/cpr/e/2/

@pzelasko

pzelasko commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator Author

/ok to test 975069e

@pzelasko
pzelasko force-pushed the codex/pr16158-rewrite/04-portable-export-vllm branch from df50825 to f7bd44b Compare September 4, 2026 18:52
@pzelasko
pzelasko force-pushed the codex/pr16158-rewrite/05-mtp-serving branch from 4cfaabc to 99997a9 Compare September 4, 2026 18:52
@pzelasko

pzelasko commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator Author

/ok to test 99997a9

@pzelasko

pzelasko commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator Author

/ok to test ab12e19

@pzelasko

pzelasko commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator Author

/ok to test cc0f526

@pzelasko

pzelasko commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator Author

/ok to test 7ad6873

@pzelasko

pzelasko commented Sep 8, 2026

Copy link
Copy Markdown
Collaborator Author

Stack propagation update: no PR-specific production-patch changes were added here. The existing five commits were rebased onto the repaired PR #16195 and are patch-identical under git range-diff. Complete stacked pre-commit, compilation, lock, and DCO checks passed.

@pzelasko

pzelasko commented Sep 8, 2026

Copy link
Copy Markdown
Collaborator Author

/ok to test d6ea026

@pzelasko

Copy link
Copy Markdown
Collaborator Author

/ok to test 05e0971

KunalDhawan
KunalDhawan previously approved these changes Sep 10, 2026

@KunalDhawan KunalDhawan left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Amazing work, LGTM!

One non-blocking note for future maintenance: this still depends on vLLM speculative decoding internals (MTPModelTypes / SpeculativeConfig.hf_config_override), so we should revalidate this path carefully on future vLLM bumps. Not a blocker for this PR.

@pzelasko

Copy link
Copy Markdown
Collaborator Author

/ok to test c8db68e

KunalDhawan
KunalDhawan previously approved these changes Sep 10, 2026
@pzelasko

Copy link
Copy Markdown
Collaborator Author

/ok to test 55f8060

KunalDhawan
KunalDhawan previously approved these changes Sep 11, 2026
@pzelasko

Copy link
Copy Markdown
Collaborator Author

/ok to test 7b8a6f9

@pzelasko

Copy link
Copy Markdown
Collaborator Author

/ok to test cf2f432

@pzelasko

Copy link
Copy Markdown
Collaborator Author

/ok to test aac175d

KunalDhawan
KunalDhawan previously approved these changes Sep 11, 2026
@pzelasko

Copy link
Copy Markdown
Collaborator Author

/ok to test 68054df

KunalDhawan
KunalDhawan previously approved these changes Sep 11, 2026
@github-actions

Copy link
Copy Markdown
Contributor

[🤖]: Hi @pzelasko 👋,

We wanted to let you know that a CICD pipeline for this PR just finished successfully.

So it might be time to merge this PR or get some approvals.

pzelasko and others added 5 commits September 12, 2026 00:59
Serialize the built physical MTP pattern and depth, preserve repeated-head semantics, suppress stale legacy enablement, and expose the compatibility fields vLLM needs without persisting transient image-token state.

Original-Commit: ff04e76
Original-Commit: 4a4cda4
Original-Commit: 0873181
Original-Commit: b8ecf5e
Co-authored-by: slyne deng <slyned@nvidia.com>
Signed-off-by: Piotr Żelasko <pzelasko@nvidia.com>
Register a spawn-safe speculative config hook and SpeechLM draft model, fuse target audio embeddings in the draft, split target/draft weights, pad vocabulary heads, support repeated physical layers, and remap packed expert tensors.

Original-Commit: ff04e76

Original-Commit: fc2eb55

Original-Commit: 9b1d625

Original-Commit: 25c2ae6

Original-Commit: abef79f

Original-Commit: 4a4cda4

Original-Commit: 0873181

Co-authored-by: slyne deng <slyned@nvidia.com>

Co-authored-by: Codex <codex@openai.com>
Signed-off-by: Piotr Żelasko <pzelasko@nvidia.com>
Keep the reconstructed MTP test file byte-identical to the immutable stack-top reference; the current formatter would otherwise rewrite this shared import.

Original-Commit: 0873181
Signed-off-by: Piotr Żelasko <pzelasko@nvidia.com>
Signed-off-by: Piotr Żelasko <pzelasko@nvidia.com>
Signed-off-by: Piotr Żelasko <pzelasko@nvidia.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.

3 participants