docs: record Ling freeze diagnosis - spec path deadlock, resolution spec-off parallel=2
This commit is contained in:
@@ -48,6 +48,31 @@ Vulkan0: AMD Radeon Graphics (RADV STRIX_HALO) (113910 MiB)
|
||||
Ling uses gated MLA and KDA attention. KV cache stays tiny: 256k total
|
||||
context costs only ~2.5 GiB. This is why 256k context fits.
|
||||
|
||||
## Freeze Bug (2026-08-14) - Spec Path Deadlock
|
||||
|
||||
### Symptom
|
||||
|
||||
Under 2+ concurrent streams with speculative decoding, one stream hard-freezes
|
||||
mid-generation (zero output for minutes; a deadlock, not slowness). Freeze
|
||||
point varies (385-1588 tokens). Single streams never freeze.
|
||||
|
||||
### Isolated cause
|
||||
|
||||
- Not context exhaustion: `truncated = 0`, under 131072 ctx.
|
||||
- Not batch (3072 and 8192 both froze) and not log verbosity (0 and 4 both).
|
||||
- `parallel=2` + `draft-mtp,ngram-mod` -> freeze. SPEC OFF -> no freeze.
|
||||
- Culprit: the speculative-decode / context-checkpoint path in llama-server
|
||||
with multiple slots on the Vulkan backend. Known bug family: PR #24891,
|
||||
#24797 (server checkpoint fixes), #25144 (MTP draft crash), plus a
|
||||
ggml-vulkan hang-under-sustained-compute class.
|
||||
|
||||
### Resolution: SPEC OFF
|
||||
|
||||
`SPEC_TYPE=none`, `PARALLEL=2`. All concurrent streams complete (EOS).
|
||||
Speed cost: ~10-13 t/s under contention vs ~28-32 t/s single-stream with
|
||||
MTP. Fallback chain if spec-off regresses: A) `PARALLEL=1` keep MTP,
|
||||
B) switch back to Qwen3.6-27B (frank-default-large, MTP n_max 3).
|
||||
|
||||
## Files
|
||||
|
||||
- `scripts/frank-large-ling.service` - systemd unit.
|
||||
|
||||
Reference in New Issue
Block a user