Fix v0.25 W2 starvation and structured-output MTP failures - #11
Open
OmarB97 wants to merge 10 commits into
Open
Conversation
added 6 commits
July 12, 2026 07:08
OmarB97
marked this pull request as ready for review
July 12, 2026 22:41
Preserve the current v0.24 source-SHA/byte-exact patch guard while retaining the frozen v0.25 manifest contract. Both release manifests, bench lint, render check, Python compile, and diff check pass. Signed-off-by: Omar Baradei <omar@kostudios.io>
Bind the 61-file v0.25 overlay to the durable OmarB97/vllm production branch and fail closed when the official tag, source clone, pushed branch, or normalized source identity cannot be proven. Restore the upstream NVMe helper that the candidate branch had accidentally deleted. Source: OmarB97/vllm moet-v0.25.0 @ 6023898a814230ea839107ad82ca0141b71062b6 Base: v0.25.0 @ 702f4814fe54fabff350d43cb753ae3e47c0c276 Overlay: ea1e8462008e8d3530e8938483a4f8974258196acc6a0bbcc4124bc4a719ed5d (61 files) Verified: 6/6 guard regressions; v0.24 and strict v0.25 guards; fresh public clone source proof; reverse git-apply check; bench lint 0 errors/0 warnings; render current; workflow YAML parse; all 14 recipe --print smokes; full upstream diff whitespace check.
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
Publishes the starvation-corrected vLLM v0.25.0 W2 overlay and contains the structured-output failure found during the real DeepSeek-V4-Flash W2 speculative-decoding canary. Normal requests retain MTP acceleration; structured/tool-call requests use the target-token path until vLLM can commit speculative grammar state sequentially.
Canonical production source:
OmarB97/vllmbranchmoet-v0.25.0at6023898a814230ea839107ad82ca0141b71062b6Distribution head:
b52b5c737e9844b375f7d8c801eb7b681252874fOfficial base: vLLM
v0.25.0at702f4814fe54fabff350d43cb753ae3e47c0c276Overlay SHA-256:
ea1e8462008e8d3530e8938483a4f8974258196acc6a0bbcc4124bc4a719ed5dOverlay scope: 61 files, +13,342/-134
The production fork branch and
patch/SOURCE-v025.txtare the rollout authority. A contribution PR to another fork or official vLLM upstream is optional follow-up work and never gates this overlay.Root cause
The earlier overlay omitted the W2 starvation correction because rebasing the distribution branch did not regenerate its patch payload.
The hardware canary then exposed a separate vLLM 0.25 defect under native MTP K=1. Consecutive forced tool calls could commit duplicate or otherwise grammar-invalid target/bonus blocks. xgrammar rejected the block and the OpenAI endpoint returned HTTP 500. A grammar-mask copy, a CUDA-stream fence, and a post-sampling validate/rollback defense did not solve it; the rollback defense also corrupted valid arguments.
The fail-closed boundary is the scheduler: discard speculative drafts for structured-output requests before
num_new_tokensand the model-runner path are selected. Ordinary requests remain speculative.Related upstream PR vllm-project/vllm#48116 fixes a reasoning-aware structural-tag path and reports 60/60 Qwen MTP tool calls. This containment is materially different: the DeepSeek launch had no reasoning parser configured and reproduced a target/bonus block failure directly.
What changed
tools/test_nvme_store.py, which the candidate branch had accidentally deleted relative to upstreammain.Hardware evidence
Real DeepSeek-V4-Flash W2 checkpoint on taro, RTX 5090, FP8 KV, 131,072-token model length, max sequences 1, 100 GiB cgroup with 96 GiB
memory.high.report_result(ok=true, label="SPEC_OK"), 20 HTTP 200s, zero grammar rejections, zero HTTP 500s.finish_reason="stop", matching existing vLLM serving behavior; the tool call and exact arguments are present.llama-swap,ai-gate, andcloudflaredwere restored; ports 8080, 8081, and 9090 returned 200; the Qwen GPU process was restored.The 20/20 tool-call result proves the scheduler containment delta on the real checkpoint. It is not a claim that the complete
ea1e8462...overlay image has been served.Source and distribution verification
6023898a814230ea839107ad82ca0141b71062b6.patch/SOURCE-v025.txtrecords that exact commit; it descends directly from the bound officialv0.25.0tag commit702f4814....OmarB97/vllm, remote rename, official tag fetch, and strict source guard passed exactly as CI runs it.git diff v0.25.0 6023898a...is identical to the committed 61-file overlay; both hash toea1e8462....git diff --check.--printsmokes pass.vllm-moet-sm120:v025-w2candidate-ea1e8462, image IDsha256:3acf5a707966; its patch label matches this overlay.tblib; the exact scheduler behavior is covered by the 20-request hardware canary, while the source-binding machinery is covered by the six green distribution regressions.Risk and rollout
This is ready for exact-head review and does not promote v0.25 into production. The complete
ea1e8462...overlay image is built side-by-side but has not been served. The scheduler delta was tested as a derived disposable image on the real checkpoint. Keep the current production image and packs as the immediate rollback boundary.The next hardware gate must retain fail-closed cgroup memory and swap accounting, deliberately drain and restore the current model, use the already validated v0.25 eval store, and run on an isolated port. Source publication or green CI alone is not hardware acceptance.
Relationship to PR #10
This is the fresh replacement head. PR #10 remains untouched so its exact artifact and review history stay auditable.