feat(dspark): add Qwen3.5-4B draft config and managed-local NPU disaggregated recipe - #727
Draft
curnane-lab wants to merge 5 commits into
Draft
feat(dspark): add Qwen3.5-4B draft config and managed-local NPU disaggregated recipe#727curnane-lab wants to merge 5 commits into
curnane-lab wants to merge 5 commits into
Conversation
Contributor
|
Caution The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased. |
curnane-lab
marked this pull request as ready for review
August 10, 2026 11:16
curnane-lab
requested review from
FlamingoPg,
FrankLeeeee,
shuaills and
sleepcoo
as code owners
August 10, 2026 11:16
curnane-lab
force-pushed
the
dspark_npu_disaggregated
branch
from
August 10, 2026 11:47
6cdb0af to
e174c15
Compare
curnane-lab
force-pushed
the
dspark_npu_disaggregated
branch
from
August 10, 2026 12:56
6ecb278 to
1ea0216
Compare
Resolve conflicts against upstream's directory-based recipe layout: - move qwen3.5-4b-dspark-disaggregated-npu.yaml to examples/configs/online/disaggregated/managed-local/ - take upstream examples/README.md and directory-derived topology/reachability tests (golden registries removed upstream)
curnane-lab
marked this pull request as draft
August 21, 2026 16:02
Mirrors qwen3.5-4b-dspark-disaggregated-npu.yaml for the text target Qwen/Qwen3-4B + deepseek-ai/dspark_qwen3_4b_block7 draft geometry (configs/qwen3-4b-dspark.json): drops embedding_key/trust_remote_code (text target) and uses the qwen chat template per the external qwen3-4b-dspark recipe.
Upstream's default_kv_lease_ttl_ms=500 knob is tuned for fast CUDA teardown drains. On Ascend the consumer's get_into path re-registers the receive buffer per tensor; under capture/trainer startup contention the transfer does not fit a 500ms lease and fails with LEASE_EXPIRED (-707) on the first batch. Set 5000ms (Mooncake's stock default, used by all previously validated NPU runs); the ~19.5s teardown drain window still covers it.
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.
Motivation
Add a Qwen3.5-4B DSpark draft config and a recipe for the managed-local disaggregated stack on Ascend NPU, mirroring the DFlash recipe from #722.
Modifications
configs/qwen3.5-4b-dspark.json: DSparkDraftModel config for Qwen3.5-4B (block_size 16, 5 draft layers on target layers [1, 8, 15, 22, 29], markov_rank 256, confidence head).examples/configs/qwen3.5-4b-dspark-disaggregated-npu.yaml: single-node managed-local recipe (Mooncake + capture server on device 0 + 14-rank trainer on devices 2-15; 8-card fallback in comments). DSpark loss weights ce/l1/confidence = 0.1/0.9/1.0,num_anchors: 186, sdpa.examples/README.md: register the recipe.Note: beyond DFlash, DSpark also streams the target final hidden state (
target_last_hidden_states) through the same capture sink; that path is exercised for the first time on Ascend here, so an A3 smoke run should precede merge.Related Issues
Stacked on #722 (merge after it): the branch is main + the recipe commit + a merge of
npu_disaggregated. The diff shrinks to the recipe alone once #722 lands. Incremental view: curnane-lab/SpecForge@npu_disaggregated...dspark_npu_disaggregatedAccuracy Test
NA (no model-side code modified)
Benchmark & Profiling
NA
Checklist