Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
9beaded
[Spec Decode] DSpark confidence-scheduled verification
LucasWilkinson Jul 8, 2026
8257293
[Spec Decode] Tighten DSpark confidence verification
LucasWilkinson Jul 13, 2026
32fbf50
[Spec Decode] Model DSpark draft cost by request count
LucasWilkinson Jul 14, 2026
31a1836
[Spec Decode] Clarify DSpark request-cost profiling
LucasWilkinson Jul 14, 2026
9bd4000
[Spec Decode] Use current DSpark confidence ordering
LucasWilkinson Jul 14, 2026
6902184
[Spec Decode] Reuse staged DSpark confidences
LucasWilkinson Jul 14, 2026
988f074
[Spec Decode] Remove DSpark scheduling margin
LucasWilkinson Jul 14, 2026
0fc06da
[Spec Decode] Keep confidence allocation on GPU
LucasWilkinson Jul 14, 2026
5716900
[Spec Decode] Tighten confidence allocation
LucasWilkinson Jul 14, 2026
297a1db
[Spec Decode] Simplify DSpark confidence scheduling
LucasWilkinson Jul 15, 2026
ad9ae27
[Spec Decode] Tighten DSpark confidence scheduling
LucasWilkinson Jul 15, 2026
1c0a9b2
[Spec Decode] Warm DSpark confidence kernels
LucasWilkinson Jul 15, 2026
4f01fb6
[Spec Decode] Avoid compact offset specialization
LucasWilkinson Jul 15, 2026
7cb213a
[Spec Decode] Time DSpark CUDA graphs
LucasWilkinson Jul 15, 2026
1ee8943
[Spec Decode] Time graphs after collective registration
LucasWilkinson Jul 15, 2026
0f4383c
[Spec Decode] Tighten confidence graph scheduling
LucasWilkinson Jul 15, 2026
a0b22e8
[Spec Decode] Avoid monolithic confidence sort
LucasWilkinson Jul 15, 2026
d7e5bde
[Spec Decode] Refresh speculative padding masks
LucasWilkinson Jul 15, 2026
9164563
[Spec Decode] Mask only speculative query suffixes
LucasWilkinson Jul 15, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
model_name: "deepseek-ai/DeepSeek-V4-Flash-DSpark"
accuracy_threshold: 0.92
num_questions: 1319
num_fewshot: 5
startup_max_wait_seconds: 1800
server_args: >-
--tokenizer-mode deepseek_v4
--trust-remote-code
--dtype bfloat16
--max-model-len 8192
--tensor-parallel-size 4
--enable-expert-parallel
--block-size 256
--gpu-memory-utilization 0.5
--kv-cache-dtype fp8
--max-num-batched-tokens 16384
--max-num-seqs 32
--speculative-config '{"method":"dspark",
"model":"deepseek-ai/DeepSeek-V4-Flash-DSpark",
"attention_backend":"FLASH_ATTN","num_speculative_tokens":7,
"draft_sample_method":"probabilistic","dspark_sps_curve":"auto",
"confidence_based_verification":"auto"}'
27 changes: 27 additions & 0 deletions tests/test_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -1572,6 +1572,33 @@ def test_draft_sample_method_gumbel_is_rejected():
)


def test_dspark_confidence_config_validation():
config = SpeculativeConfig(
method="ngram",
num_speculative_tokens=1,
dspark_budget_frac=0.5,
confidence_based_verification="mask",
)
assert config.dspark_budget_frac == 0.5
assert config.confidence_based_verification == "mask"
with pytest.raises(ValidationError, match="confidence_based_verification"):
SpeculativeConfig(
method="ngram",
num_speculative_tokens=1,
confidence_based_verification="compact",
)


@pytest.mark.parametrize("value", [0.0, 1.1])
def test_dspark_confidence_config_rejects_invalid_ranges(value):
with pytest.raises(ValueError, match="dspark_budget_frac"):
SpeculativeConfig(
method="ngram",
num_speculative_tokens=1,
dspark_budget_frac=value,
)


def test_ir_op_priority_default():
"""Test that IR op priority defaults are set correctly."""
from vllm.config.kernel import IrOpPriorityConfig
Expand Down
Loading
Loading