Repository navigation
Conversation
Restore online FP8 and MXFP8 runtime state without requantizing cached weights. Preserve the CUTLASS logical width and avoid fusing NVFP4 MoE scales twice in shared IPC tensors. Add output-equivalence coverage and CI jobs. Co-authored-by: Codex <noreply@openai.com> Signed-off-by: liusy58 <mg21330037@smail.nju.edu.cn>
Co-authored-by: Codex <noreply@openai.com> Signed-off-by: liusy58 <mg21330037@smail.nju.edu.cn>
Restore attention scale metadata from cached buffers without consuming meta placeholders. Co-authored-by: Codex <noreply@openai.com> Signed-off-by: liusy58 <mg21330037@smail.nju.edu.cn>
Co-authored-by: Codex <noreply@openai.com> Signed-off-by: liusy58 <mg21330037@smail.nju.edu.cn>
Co-authored-by: Codex <noreply@openai.com> Signed-off-by: liusy58 <mg21330037@smail.nju.edu.cn>
Co-authored-by: Codex <noreply@openai.com> Signed-off-by: liusy58 <mg21330037@smail.nju.edu.cn>
Preserve registered attention scales and zero points while restoring IPC host metadata. Update the existing attention regression to verify retained parameter identity and unchanged cached scales. Co-authored-by: Codex <noreply@openai.com> Signed-off-by: liusy58 <mg21330037@smail.nju.edu.cn>
Co-authored-by: Codex <noreply@openai.com> Signed-off-by: liusy58 <mg21330037@smail.nju.edu.cn>
Signed-off-by: liusy58 <mg21330037@smail.nju.edu.cn> Co-authored-by: Codex <noreply@openai.com>
Signed-off-by: liusy58 <mg21330037@smail.nju.edu.cn> Co-authored-by: Codex <noreply@openai.com>
…estarts Co-authored-by: Codex <noreply@openai.com> Signed-off-by: liusy58 <liusy58@smail.nju.edu.cn>
Contributor
|
Documentation preview: https://vllm--64738.org.readthedocs.build/en/64738/ |
6 tasks done
This branch has not been deployed
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.
Overview
Allow serialized compressed-tensors W8A8 FP8 tensor/channel checkpoints to reuse Marlin-packed weights through the weight cache daemon. This is a stacked follow-up to #63673 for #56049; review the four-file incremental diff.
Claims
Validation
Validated on B300 with PyTorch 2.13/cu130, the official main
914d61fc538astable extensions and process-local CUDAcompat13.4 libraries. Shared environment/driver and other users' processes were unchanged. This is model-output equivalence validation, not a quality/performance benchmark or the full upstream Torch2.14 matrix.CompressedTensorsLinearMethod does not support pre-processed weightsUnsupportedQuantForIPCError, 76.72sBoth IPC runs set
fallback=False. Marlin is not batch invariant, so the model comparison uses existingcheck_logprobs_closedefaults with prompt/sample top5 and two prompts x16 generated tokens. Layer comparisons require exact output equality and unchanged shared parameter pointers/content, including bias and scales. CUTLASS keeps its original exact model-output assertions.All changed-file hooks pass, including mypy and CI test tethering. The existing B200 Quantized Preload selectors (
compressed_fp8andcompressed_fp8_preprocessed) select the new tests, and source dependencies already cover the changes. Hosted GPU CI has not been claimed.Full-model reproduction and baseline evidence
The checked-in new test is
test_ipc_cache_compressed_fp8_marlin. On the shared host the validation wrapper below runs the same helper against a local copy of RedHatAI/Meta-Llama-3.1-8B-FP8 revision881d74b74ad8ebe8775fb178b1fd0c935477f1bc, avoiding shared-filesystem checkpoint I/O. It also runs the existing CUTLASS case at the same 0.12 memory budget.Actual wrapper command, with the same environment as the layer run:
.venv/bin/python -m pytest tests/model_executor/model_loader/_codex_oct30_marlin_validation.py -qResult:
2 passed, 22 warnings in 155.46s(existing torch/fork deprecations).Before changing production code from parent
03b39f9a8f87, the layer command with-k 'preprocessed_shared_weights and marlin' -xfails11.60s, and the wrapper with-k marlin -xfails76.72s:The before/after runs use the same tests and assertions. Full logs and JSON exit records are retained in the task's
codex-oct30-compressed-marlin-evidence.tar.gz; no retries, skip additions or tolerance changes were used to obtain these results.Details
The scheme previously advertised pre-processed support only for CUTLASS. Marlin's ordinary post-load hook repacks weights and transforms scales/bias; reapplying it to shared tensors would be incorrect. Its constructor already restores runtime state, so this extends the existing IPC early return by gating on the actual Marlin kernel and non-block strategy. No kernel or shared loader interfaces change.
Duplicate checks covered #56049-linked PRs, Marlin FP8 and compressed-tensors IPC. #63673 supplies the CUTLASS-based prerequisite; #64182 covers AWQ/GPTQ; #42657 concerns ordinary W8A16 processing. None enables this W8A8 Marlin cache path. The main-based PR includes its unmerged ancestors; the incremental comparison above isolates this change.
AI assistance was used. This remains a draft for human review and validation; no completed human approval or human-run testing is asserted. Hosted pre-commit, DCO and Read the Docs passed on
babf3e883834. Fresh local-checkout, GitHub-source and rendered-HTML discoverability checks passed for the new feature. The preview section, examples and same-page anchors were verified in generated HTML; browser visual layout was not verified because navigation timed out. The pre-existing pipeline-parallelism prose contradiction elsewhere on this page is outside this change.Pull Request Checklist
I used vLLM's
/pr-checklistskill. (Mandatory for agents, optional for humans).AI assistance was used during the creation of this PR.
Design Fit: Minimizes impact on core components, reuses existing functionality, and justifies added complexity.
Testing and Validation: Validates the change and ensures any added tests are meaningful and reliable, with CI coverage or documented CI resource constraints and validation performed outside CI.
Code Quality and Style: Keeps code and comments clear and concise, and updates relevant documentation and examples.
Pull Request Contents: Includes a brief summary and relevant links, supports claims with evidence, explains root causes and implementation trade-offs, and follows the contributing guide.