Skip to content

[Draft] Support Qwen3.8 Flash Next on SM70 with PLE offload - #4

Draft
Leonccaa wants to merge 6 commits into
vendor/qwen38-flash-next-v1.3.0-basefrom
feat/qwen38-flash-next-awq-ready
Draft

Leonccaa wants to merge 6 commits into
vendor/qwen38-flash-next-v1.3.0-basefrom
feat/qwen38-flash-next-awq-ready

Conversation

@Leonccaa

Copy link
Copy Markdown
Owner

Scope

Local 1Cat integration for Qwen3.8-Flash-Next on 4x V100. This does not duplicate upstream vLLM model work: it adapts the still-open vllm-project/vllm#53896 and PLE offload work in vllm-project/vllm#53899 to the 1Cat SM70 runtime.

Changes

  • add the Qwen4Exp model and Qwen3.8 Flash Next registration
  • add PLE CPU offload and IPC integration
  • keep the NVFP4 emulation route available as a feasibility gate on SM70
  • preserve 1Cat hybrid-cache, FlashQLA, sampler, and SM70 runtime compatibility
  • align AWQ MoE grouped metadata with narrow TP shards by exactly expanding scale and zero-point groups when required
  • add a real TP4 AWQ loader fixture and deterministic NVFP4 benchmark tool

Validation

  • Ruff format and lint passed for all changed and added files
  • pytest tests/quantization/test_awq_sm70_moe_groups.py: 7 passed
  • real 4x V100 layer-0 expert-0/1 AWQ fixture: AWQ_LOADER_FIXTURE_OK, checkpoint g128 expanded to runtime g32 on TP4
  • full NVFP4 checkpoint loaded from HFS with PLE CPU offload and all four GPU workers registered
  • deterministic KV64 benchmark completed for 32, 128, and 240 token prefill plus 16-token decode
  • earlier two-token smoke completed prefill and one autoregressive decode

Known limitations

NVFP4 on V100 uses on-the-fly emulation and is not a production recommendation. The measured path is eager, single-stream, max length 256, 64 MiB KV per GPU, prefix caching off, async scheduling off, and MTP off. The intended production checkpoint is activation-aware AWQ W4A16 g32 with PLE on CPU.

AI assistance

OpenAI Codex assisted with implementation, tests, runtime diagnostics, and benchmark tooling. This PR remains Draft and requires human review before merge.

Integrate the Qwen3.8 Flash Next model and PLE CPU offload work from vLLM PRs #53896 and #53899, then carry the validated 1Cat SM70 compatibility layer for FP16 activations, hybrid caches, NVFP4 emulation, and top-token sampling.

The included TP4 smoke covers checkpoint loading, PLE offload, prompt prefill, and one autoregressive decode step on four V100 32GB GPUs.

Co-authored-by: huanghaoyan.hhy <huanghaoyan.hhy@alibaba-inc.com>

Co-authored-by: zjy0516 <riverclouds.zhu@qq.com>

Assisted-by: OpenAI Codex
Signed-off-by: Leonccaa <166551845+Leonccaa@users.noreply.github.com>
Allow grouped AWQ scale and zero-point tensors to expand exactly when a tensor-parallel expert shard is narrower than the checkpoint group size. Add unit coverage and a Qwen3.8 Flash Next TP4 loader fixture.

Assisted-by: OpenAI Codex
Signed-off-by: Leonccaa <166551845+Leonccaa@users.noreply.github.com>
Record deterministic TP4 prefill and decode samples for the NVFP4 emulation path, including per-case warmups, incremental JSON output, and a low-headroom KV cache control.

Assisted-by: OpenAI Codex
Signed-off-by: Leonccaa <166551845+Leonccaa@users.noreply.github.com>
Match the 1Cat mRoPE, FP8 skip, short-conv metadata, and host-to-device helper signatures. Narrow optional FP8 test scales so the upstream pre-commit mypy matrix can validate the imported code.

Assisted-by: OpenAI Codex

Signed-off-by: Leonccaa <166551845+Leonccaa@users.noreply.github.com>
Widen the 1Cat hybrid state-shape protocol to the current vLLM shape union and document intentional Qwen4Exp overrides for the older 1Cat Qwen3Next and pipeline-parallel interfaces.

Assisted-by: OpenAI Codex

Signed-off-by: Leonccaa <166551845+Leonccaa@users.noreply.github.com>
Apply the pinned Ruff 0.14.0 formatter to the two PR-specific files that differ from the current 1Cat main formatting baseline.

Assisted-by: OpenAI Codex

Signed-off-by: Leonccaa <166551845+Leonccaa@users.noreply.github.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.

1 participant