Repository navigation
[diffusion][feature] Add offline SVDQuant W4A4 support - #6162
Conversation
|
This PR touches vllm_omni/quantization/, tests/diffusion/, benchmarks/diffusion/, examples/offline_inference/, vllm_omni/diffusion/ (12 files). Based on CODEOWNERS coverage of the changed files, the most-related reviewers appear to be: Could one of you take a look when you get a chance? Thanks! |
9ac2251 to
14f0f05
Compare
|
Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits. |
|
This PR appears to be related to model: MinimaxH3. Model owners: @david6666666 @lishunyang12, please review your own changes and leave a short self-review comment describing what you checked. PRs without author self-review may not be assigned a reviewer. Please take a look when you have a chance. If you would like an automated review, mention @vllm-omni-review-bot in a comment. |
3660543 to
87969b2
Compare
fce0ef0 to
6455b57
Compare
|
Author self-review after the H3-only rewrite:\n\n- Rebased the branch onto current |
e286410 to
8f15b35
Compare
Add an offline FL2VA converter and serialized SVDQuant runtime using vLLM's existing NVFP4 GEMM plus a BF16 rank correction. Keep the text encoder, AdaLN projections, and VAEs in BF16, and limit the compatibility backend to validated SM100/SM103 hardware without requiring a new FlashInfer API. Co-authored-by: ultism <www913363043@gmail.com> Signed-off-by: lishunyang12 <lishunyang12@163.com>
8f15b35 to
521c04c
Compare
|
Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits. |
Signed-off-by: lishunyang12 <lishunyang12@163.com>
Signed-off-by: lishunyang12 <lishunyang12@163.com>
Signed-off-by: lishunyang12 <lishunyang12@163.com>
Signed-off-by: lishunyang12 <lishunyang12@163.com>
Signed-off-by: lishunyang12 <lishunyang12@163.com>
| @@ -0,0 +1,50 @@ | |||
| # SVDQuant W4A4 | |||
There was a problem hiding this comment.
update the feature design doc as well
|
Reviewed I would still hold approval until the existing frozen-head BF16-vs-SVDQuant quality/performance request is addressed. Please also update both |
The merge-with-main CI on #6606 (vllm-omni build 14192, Simple · Diffusion Test) failed with TypeError: is_layer_skipped() got an unexpected keyword argument 'skip_with_substr' in vllm_omni/quantization/svdquant_config.py. The file arrived on main after this branch's rebase base via #6162 (offline SVDQuant W4A4), written against vLLM v0.27, whose is_layer_skipped took skip_with_substr: bool. v0.28 replaced that flag with match_mode: Literal["exact", "substring", "suffix"]; match_mode="substring" is the verbatim equivalent of the old skip_with_substr=True (any ignored-layer name contained in the prefix). Single call site; no other skip_with_substr use exists in the tree. Branch rebased onto main da4a08b to pick the file up (31 commits replayed conflict-free; before/after net-diff oracle identical), then the one-line adaptation applied on top. Signed-off-by: tzhouam <tzhouam@connect.ust.hk> Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…6162) Signed-off-by: lishunyang12 <lishunyang12@163.com> Co-authored-by: Hongsheng Liu <liuhongsheng4@huawei.com>
…6162) Signed-off-by: lishunyang12 <lishunyang12@163.com> Co-authored-by: Hongsheng Liu <liuhongsheng4@huawei.com>
Summary
Add reusable offline SVDQuant W4A4 checkpoint loading and execution for
vLLM-Omni diffusion models. MiniMax-H3 FL2VA is the first validated consumer,
and the quantization config plus linear method remain model-independent.
This PR now also covers the MiniMax-H3 encoder fallback path needed to make
text_encoder: fp8work on top of the existing checkpoint transformerquantization, without overwriting the checkpoint's transformer-side
svdquantsettings.
The loader:
quant_method: svdquantfrom transformer checkpoint metadata;low-rank correction;
Runtime contract
an actionable error instead of failing on the first inference request.
size of 16.
The checkpoint schema and tensor shapes are documented in
docs/user_guide/quantization/svdquant.md.Validation
16 passed: MiniMax-H3 quantization regression suite, including the newtransformer checkpoint fallback for
text_encoder: fp8.129 passed: MiniMax-H3 contract suite.git diff --check: clean.text_encoder: fp8on top of checkpoint transformersvdquant:28.28 s, 48,158 MiB peak
This leaves the loader-only compatibility path intact, while also recording the
current encoder-FP8 result that is usable on B300.