From b94bad066b1c735d552bb3779b8f80a5cefff8d0 Mon Sep 17 00:00:00 2001 From: Frank Date: Sat, 15 Aug 2026 14:00:30 -0700 Subject: [PATCH] dankclaw: switch frank-default-large spec to DSpark sidecar draft (magnitudedev Qwen3.8-27B-DSpark Q8_0, n_max 7) --- scripts/frank-default-large.env | 26 +++++++++++++++----------- scripts/frank-default-large.service | 2 +- scripts/serve-llama-frank-large.sh | 9 +++++---- 3 files changed, 21 insertions(+), 16 deletions(-) diff --git a/scripts/frank-default-large.env b/scripts/frank-default-large.env index 5142a2a..0629418 100644 --- a/scripts/frank-default-large.env +++ b/scripts/frank-default-large.env @@ -12,17 +12,21 @@ PORT=7770 # ~70GB headroom, so 2x262k quantized KV fits. Verify at startup. CTX_SIZE=524288 PARALLEL=2 -# Spec: 3-layer chain, chosen by the user 2026-08-14 (aesthetic/short-term -# experiment): draft-mtp first, then ngram-mod, then ngram-map-k4v as -# fallbacks. On real prose this benches ~equal to draft-mtp alone -# (10.4 vs ~10 t/s @16k) - the ngram layers only pay off on self-similar text. -# Bundled MTP drafter; llama.cpp auto-detects it (b10411+). DRAFT_FILE empty. -# n_max=5 is the realistic-text peak (n4 12.5, n6 10.6, n10 8.6). -# Occasional slow rounds possible when fallbacks misfire; revert to -# draft-mtp (alone) if the assistant reports stalls. -SPEC_TYPE=draft-mtp,ngram-mod,ngram-map-k4v -DRAFT_FILE= -SPEC_DRAFT_N_MAX=5 +# Spec: DSpark sidecar draft (magnitudedev/Qwen3.8-27B-DSpark-GGUF Q8_0, +# 1.36B, block_size 7, Markov confidence head). Switched from bundled-MTP +# 2026-08-15 at the user's request. DSpark is the semi-autoregressive +# extension of DFlash (DeepSeek, arXiv 2607.05147): parallel diffusion +# backbone + sequential Markov head + confidence-scheduled verification. +# n_max clamps to the trained block_size 7 (server warning if set higher). +# DSpark extends DFlash (which had a shared-draft-context premature-EOS bug) +# but adds per-sequence Markov/confidence machinery; parallel safety on this +# box is still pending the two-16k-prompt test 2026-08-15. Revert to +# bundled-MTP or set PARALLEL=1 if the parallel test fails. +# DRAFT_FILE names the sidecar GGUF in MODEL_DIR (downloaded 2026-08-15, +# sha256 b007a76b2ce57c1a3ecf36046543aebf60a763861624647d653f16d336c781d2). +SPEC_TYPE=draft-dspark +DRAFT_FILE=Qwen3.8-27B-DSpark-Q8_0.gguf +SPEC_DRAFT_N_MAX=7 SPEC_DRAFT_P_MIN= SPEC_NGRAM_MOD_N_MIN=48 SPEC_NGRAM_MOD_N_MAX=64 diff --git a/scripts/frank-default-large.service b/scripts/frank-default-large.service index aaf996b..4807afb 100644 --- a/scripts/frank-default-large.service +++ b/scripts/frank-default-large.service @@ -1,5 +1,5 @@ [Unit] -Description=llama.cpp Qwen3.8-27B UD-Q8_K_XL MTP+ngram-mod+ngram-map-k4v (frank-default-large) +Description=llama.cpp Qwen3.8-27B UD-Q8_K_XL + DSpark sidecar draft (frank-default-large) After=network.target [Service] diff --git a/scripts/serve-llama-frank-large.sh b/scripts/serve-llama-frank-large.sh index e102789..94f74ea 100755 --- a/scripts/serve-llama-frank-large.sh +++ b/scripts/serve-llama-frank-large.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Serve unsloth Qwen3.8-27B UD-Q8_K_XL on dankclaw with bundled-MTP -# speculative decoding (draft-mtp). ROCm backend. +# Serve unsloth Qwen3.8-27B UD-Q8_K_XL on dankclaw with a DSpark +# sidecar draft model (draft-dspark). ROCm backend. # Runtime: llama.cpp llama-server (>= b10411). # # Tunables come from frank-default-large.env in this directory unless the @@ -19,7 +19,7 @@ fi # --- defaults (used when the env file does not set them) ----------------- : "${MODEL_DIR:=/home/dank/models}" : "${MODEL_FILE:=Qwen3.8-27B-UD-Q8_K_XL.gguf}" -: "${DRAFT_FILE:=}" # empty: Qwen3.8 bundles its MTP drafter in-model +: "${DRAFT_FILE:=}" # set: DSpark/DFlash/MTP/... sidecar GGUF in MODEL_DIR : "${ALIAS:=frank-default-large}" : "${HOST:=0.0.0.0}" : "${PORT:=7770}" @@ -53,7 +53,8 @@ if [[ ! -f "$MODEL" ]]; then fi # Draft-model flag applies only when a separate draft file is provided. -# Qwen3.8 bundles MTP in-model; leave DRAFT_FILE empty to use bundled MTP. +# Qwen3.8-UD bundles MTP in-model; leave DRAFT_FILE empty for bundled MTP, +# or set it to a DSpark/DFlash sidecar GGUF for a dedicated draft. SPEC_ARGS=() if [[ -n "$DRAFT_FILE" ]]; then if [[ ! -f "$DRAFT" ]]; then