Skip to content

Replace estimates in the Qwen3.8-27B profile with measurements; add launch script and notes - #233

Merged
t-timms merged 3 commits into
mainfrom
docs/local-qwen38-27b-measured
Sep 24, 2026
Merged

t-timms merged 3 commits into
mainfrom
docs/local-qwen38-27b-measured

Conversation

@t-timms

@t-timms t-timms commented Sep 24, 2026 •

Copy link
Copy Markdown
Owner

Why

scripts/settings_local_llm_qwen38_27b.yaml (merged in #228) said "UNVALIDATED", estimated ~65-75 tok/s plain for the IQ3_XXS file and 1.3x-2.8x from MTP, and set spec_draft_n_max: 2 as "community-tuned". I have now measured it on the target machine, and the estimates were wrong (the plain-decode one by about 20-30%).

Measured (RTX 5070 Ti 16 GB, WSL2, llama.cpp 3173a56, 32K context, q8_0 KV)

config real agent requests, tok/s synthetic prompts, tok/s peak VRAM MiB
no speculation 54.6 54.5 12,960
MTP n=3 76.4 94.7 14,203
MTP n=4 78.2 101.0 14,128
DFlash2 drafter n=7 78.8 117.1 15,124

"Real agent requests" = 69 requests captured from an agent-in-loop run and replayed against each config; the live evaluation of MTP n=4 then measured 77.5 tok/s over 249 requests. Synthetic prompts overstate the speed-up because real output is mostly reasoning prose that the drafters accept poorly.

Changes

  • Profile: header, speed, effort, context and KV comments now state what was measured; spec_draft_n_max: 4.
  • docs/local_qwen38_27b.md: speed/VRAM table, prefix-cache behaviour on the real Godspeed path, a small SWE-bench Lite dev screen (27B: 19/24 over three draws; KAT REAP-50: 12/24 over three) with its caveats (oracle tool in the loop, 8 tasks, draws not independent, protocol differences between draws), and known issues.
  • scripts/serve_qwen38_27b_llamacpp.sh: the measured launch command.
  • CHANGELOG entry.

Verification

  • YAML parses; bash -n on the script; tests/test_config_llamacpp.py and tests/test_tools/test_llamacpp_manager.py pass (102 passed, 1 skipped); ruff check . clean.
  • Every number in the doc was checked against the run artifacts before writing.

Not verified

  • One machine, one llama.cpp build. The script was not run as a script on a clean machine (its flags are the ones used for the measurements).
  • KV q4_0 quality, other reasoning efforts, and the IQ3_S file were not compared on quality.
  • The doc's context-estimate advice (compaction_threshold: 0.7) is a suggestion derived from the measured 1.29x estimator gap, not something I ran.

…aunch script and notes

scripts/settings_local_llm_qwen38_27b.yaml said "UNVALIDATED", estimated
~65-75 tok/s plain for IQ3_XXS and 1.3x-2.8x from MTP, and set
spec_draft_n_max to 2. Measured on an RTX 5070 Ti (16 GB, WSL2, llama.cpp
3173a56): 54.6 tok/s plain, 76.4 (n=3) / 78.2 (n=4) tok/s on 69 replayed real
agent requests, 14,128 MiB peak VRAM. n=4 is the best of 2-6; a separate
DFlash2 drafter ties it on real traffic for about 1 GB more VRAM.

The profile comments now say what was measured and where (new
docs/local_qwen38_27b.md, with the speed/VRAM table, prefix-cache behaviour,
a small SWE-bench Lite dev screen with its caveats, and the known issues),
and scripts/serve_qwen38_27b_llamacpp.sh starts the measured configuration.
@github-actions

Copy link
Copy Markdown

🤖 Godspeed Review

LLM review skipped (no API key configured).

Security

No secrets detected in changed files.

@github-actions

Copy link
Copy Markdown

🤖 Godspeed Review

LLM review skipped (no API key configured).

Security

No secrets detected in changed files.

@github-actions

Copy link
Copy Markdown

🤖 Godspeed Review

LLM review skipped (no API key configured).

Security

No secrets detected in changed files.

@t-timms
t-timms merged commit 5d31720 into main Sep 24, 2026
9 checks passed
@t-timms
t-timms deleted the docs/local-qwen38-27b-measured branch September 24, 2026 20:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant