ToBeStyled/Signal-3.8-27B-NVFP4-Blackwell-DFlash2-Ultra-V1.0
Signal-3.8-27B-NVFP4-Blackwell-DFlash2-Ultra-V1.0
Terse answers, faster decode. An NVFP4 GGUF of agentionai/Signal-3.8-27B for one RTX 5090 (32 GB, sm_120) with llama.cpp CUDA and DFlash2 speculative decoding. 262K context.
Signal is a minimally invasive fine-tune of Qwen3.8-27B: only lm_head.weight differs from stock (head delta norm 4.1%), which is why it keeps the base model's body byte-identical — and why a base-trained drafter stays aligned with it. Quantized here in NVFP4 with high-precision heads.
What this package is
Measured, on this box (RTX 5090 32 GB, 262K, DFlash2)
Everything below is interleaved A/B against the GAIN-based sibling package (ToBeStyled/Qwen3.8-27B-ColdFusion-GAIN-Blackwell-DFlash2-Ultra-V1.0), same codec (NVFP4), same file size (16.87 GB both sides), same drafter, same flags. Only interleaved comparisons are trusted — on this box, separate measurement windows drift by up to 10% with background load.
Structured and reasoning (temp 0.6, fixed seeds, GSM8K-50)
Read it as: at the same effort, Signal gives +14.2% decode via +14.2% acceptance and −4.6% time per problem, with equal-or-better accuracy. And reasoning_effort=low (which carries the only brevity instruction in the stock Qwen3.8 template; medium is a no-op there) cuts Signal to 302 tokens/problem at 100% held.
Agentic code task (2048 engine, 3 files, hidden acceptance tests, temp 0.7)
Both models solve the task in the same number of turns. Signal is marginally faster with a measurably better-aligned drafter.
Open conversation (15 general prompts, temp 0.7, deterministic)
Honest caveat: on open chat, this build is more verbose than the GAIN package. Upstream reports −57% answer tokens against the stock model — against an already-terse finetune, the advantage disappears on conversational prompts and shows up only on structured/reasoning work. Use GAIN for chat, Signal for code and reasoning.
Run (llama.cpp CUDA, RTX 5090)
llama-server.exe \
-m ...-NVFP4.gguf \
-md ...-draft-DFlash2-Q4_K_M.gguf \
--spec-type draft-dflash --spec-draft-n-max 7 \
-ngl all -np 1 -c 262144 -fa on \
-ctk q8_0 -ctv q8_0 \
--spec-draft-type-k f16 --spec-draft-type-v f16 \
--chat-template-kwargs "{\"reasoning_effort\":\"low\"}" \
--cache-ram 32768 --no-cache-idle-slots \
--alias signal38-ultra:latest --reasoning-format auto
# add --mmproj ...-mmproj-BF16.gguf for image input (disables prompt-cache reuse)Sampling — read this first. Use temperature 0.6 coding / 0.7 general, topp 0.95, topk 20. Do not use greedy (temperature 0): upstream documents degeneration on long generations at greedy, and one community report describes a repeat loop after 15–30 minutes on a from-scratch game build. For long builds also give the agent 64k+ context — a 30-minute build overflows 32k, and once the window shifts the model loses the start of its own code.
Reasoning effort: low is the recommended default here (fewest tokens at equal accuracy in our GSM8K sweeps). medium decodes slightly faster per token on math. xhigh is the template default; it was not re-measured for this build.
VRAM (measured, NVFP4 + DFlash2)
Two-slot and f16-KV variants follow the GAIN package's table; the envelope is within 0.5 GB of it (identical file size).
Built from
- Base:
Qwen/Qwen3.8-27B - Finetune:
agentionai/Signal-3.8-27B("directness" self-distill; onlylm_head.weightdiffers from stock) - NVFP4 quant: converted from BF16 with
convert_hf_to_gguf.py@f3f1a8f27, thenllama-quantizewith a per-tensor map over a 200-chunk imatrix (NVFP4 backbone, Q80 heads). The recipes that put `lmheadortoken_embd` at 6-bit or below visibly damage this model — both were measured and rejected. - Drafter:
z-lab/Qwen3.8-27B-DFlash2(block-diffusion, lossless). Speculative decoding is lossless (rejection sampling), so the drafter never changes outputs, only speed.
Notes
- Thinking model — set
max_tokens ≥ 4096on hard tasks. - 262K context works; vision pairs with the included
mmproj-BF16.gguf. - CUDA graphs stay ON (measured +33% decode on this box in the sibling package).
- Ollama: see the GAIN sibling repo's
Modelfilefor the template (same one works here). - Only interleaved A/B runs are trusted here; see the sibling repo for the methodology and the harnesses (
ab-run-07.ps1,eval-gsm8k-07.py,agentic.py).
