Repository navigation
Conversation
|
Documentation preview: https://vllm--60288.org.readthedocs.build/en/60288/ |
|
This pull request has merge conflicts that must be resolved before it can be |
b909773 to
acb61e5
Compare
|
Codex update (AI-assisted): rebased the decision-read follow-up onto current upstream main and the updated fixes branch from #60287. The PR no longer has merge conflicts. Seeded reads, indexed candidate probabilities, and the existing separate System One example gateway remain intact; no ordering heuristics were added. The original model-support PR #58387 was not modified. The complete local pre-commit suite passed, and the System One OpenAPI schema validated. Historical GPU/HTTP results in the description are not fresh validation of this rebase; GPU serving tests have not been rerun. Upstream CI remains behind its existing author/label pre-run gate. Dependency order remains #58387, then #60287, then this PR. Updated isolated decision comparison: pst2154/vllm@37e0476...acb61e5 |
Rebase the 3B/8B masked-diffusion and AR foundation onto upstream main. Defer the linear-speculation sampler and prefill-logit model-runner changes as requested by LucasWilkinson. Preserve the mixed-causality attention and diffusion warmup behavior. Based on the implementation by Sajad Norouzi <snorouzi@nvidia.com> in upstream PR vllm-project#58387. AI assistance: OpenAI Codex. Co-authored-by: Sajad Norouzi <snorouzi@nvidia.com> Co-authored-by: OpenAI Codex <codex@openai.com> Signed-off-by: Alex Steiner <asteiner@nvidia.com>
Current upstream main rejects legacy Transformers imports. Use PreTrainedConfig in the local checkpoint config and model annotations without changing inference behavior. Co-authored-by: OpenAI Codex <codex@openai.com> Signed-off-by: Alex Steiner <asteiner@nvidia.com> Signed-off-by: "Alex Steiner" <asteiner@nvidia.com>
Rebase the correctness follow-up onto current main and the reduced model-support foundation. Retain reveal-time per-request logprobs, pipeline-parallel rejection, GPU completion counts and the SM100 stochastic compiler workaround. Defer linear-speculation bookkeeping with its sampler. Co-authored-by: OpenAI Codex <codex@openai.com> Signed-off-by: Alex Steiner <asteiner@nvidia.com> Signed-off-by: "Alex Steiner" <asteiner@nvidia.com>
Score masked answer positions in fixed templates without a causal commit pass. Reuse indexed logprobs and the existing structured gateway. Pass the engine canvas into admission validation so invalid reads fail before worker execution. Linear speculation remains a separate follow-up. Co-authored-by: OpenAI Codex <codex@openai.com> Signed-off-by: Alex Steiner <asteiner@nvidia.com> Signed-off-by: "Alex Steiner" <asteiner@nvidia.com>
acb61e5 to
98d1cfc
Compare
|
Codex update: restacked decision reads on the reduced #58387 and updated #60287. Seeded one-forward reads, indexed candidate probabilities and the separate existing System One gateway remain. Canvas-aware request validation is retained in this PR, without the removed linear-speculation plumbing. No ordering heuristics or model-runner changes were added. The description and isolated comparison link are updated. Current full-stack CPU/unit checks: 93 passed, 9 CUDA/checkpoint-gated skips. Full local pre-commit and OpenAPI validation passed. Fresh CUDA/HTTP serving checks remain outstanding; the description distinguishes them from historical results. |
Overview
Add seeded, single-forward Nemotron masked decision reads and adapt the existing structured diffusion example gateway for Choice, Noul and Score. This PR targets upstream main and depends on #58387 and #60287. Tracking: #60283.
Review the isolated decision delta. The main comparison temporarily includes the unmerged dependencies. This reuses the existing gateway instead of introducing a competing native endpoint.
Claims
structured_server.py --backend nemotronfor the separate/v1/systemoneexample gateway. This is not a route built intovllm serve.No ordering heuristics or linear-speculation code are included. The model-runner and its state interface are unchanged.
Validation
Rebased onto main
1a3a7a8f01a8c1a3184151b8185072efda11daaband the reduced dependency stack.CPU-only tests of the complete stacked branch: 93 passed, 9 skipped. This runs the sampling-parameter suite and the Nemotron model unit/configuration suite with CUDA disabled. The nine skips are CUDA/checkpoint-gated cases, not GPU validation.
The full applicable pre-commit suite and System One OpenAPI schema validation passed. Fresh CUDA-serving and HTTP tests have not been rerun after this rebase. Upstream CI remains subject to its author/label pre-run gate.
Historical validation, before this rebase: H100 had 15 targeted checks pass; A100 and B200 each had 11. These included eager/compiled reads, low-probability indexed candidates, fixed-token preservation and slot reuse. H100 HTTP smoke returned complete Choice, Noul, Score and 12-question responses, rejected an invalid seed with HTTP 400, and preserved raw-chat passthrough. These are historical API checks, not a new accuracy benchmark.
.venv/bin/python -m pytest --noconftest tests/test_sampling_params.py \ tests/models/language/generation/test_nemotron_dllm.py -q NEMOTRON_DLM_MODEL_PATH=/path/to/Nemotron-Labs-Diffusion-8B \ VLLM_USE_V2_MODEL_RUNNER=1 VLLM_GPU_SYNC_CHECK=error \ .venv/bin/python -m pytest --confcutdir=tests/models/language/generation \ tests/models/language/generation/test_nemotron_dllm.py \ -k 'read_only or invalid_reads' -v .venv/bin/python examples/features/structured_diffusion/nemotron_smoke.py \ --url http://localhost:8011Details
The sampler uses staged writes, existing request-slot state and
compute_topk_scores; read flags and seed canvases reset on slot reuse. The engine canvas is explicitly passed through admission validation. This validation plumbing belongs to the decision PR now that the former linear-speculation plumbing is removed from its dependency.Reads require greedy masked diffusion, the full engine canvas and
max_tokens <= canvas_length. The example supports text/JSON state, at most 64 questions and 26 alternatives, one compatible token per answer slot and one deterministic sample. Thinking, images and multi-step reads are unsupported. Returned probabilities are uncalibrated model scores. A graph boundary avoids the previously reproduced SM100 compiler issue but can add launches; no end-to-end speedup is claimed. RTX was not validated.Rebase and rerun affected CUDA/HTTP validation after the dependencies land. Codex assisted with the implementation, rebase, checks and review update; human review and confirmation of relevant validation remain necessary before merge.
Pull Request Checklist
/pr-checklistskill.