Model loaded… multimodal confirmed working [PLACEHOLDER - will edit with benchmarks]
(Worker_TP0 pid=775) INFO 08-28 11:34:19 [gpu_worker.py:790] Free memory on device (110.2/121.69 GiB) on startup. Desired GPU memory utilization is (0.87, 105.87 GiB). Actual usage is 86.46 GiB for consumed memory (weights + non-torch), 4.18 GiB for peak activation, and 0.52 GiB for CUDAGraph memory. Replace gpu_memory_utilization config with `--kv-cache-memory=15639670334` (14.57 GiB) to fit into requested memory, or `--kv-cache-memory=20286027776` (18.89 GiB) to fully utilize gpu memory. Current kv cache memory in use is 15.23 GiB.
Load complete. Going to just give it a greeting and a test image, then run benchmarks.
Quite a wait for a response, the image check was OK, and the same image I gave to Qwen3.8-Flash-Next - the description was not quite as good as Qwen’s but certainly I would rate it as “Good”, I have no doubt that if I were to request more info or modify the original prompt to request more detailed information that it would probably have improved it.
No --base-url provided, scanning localhost…
✓ Auto-discovered vLLM at http://localhost:8000
Detected backend: vLLM
🔧 Tool-Call Benchmark
Server: http://localhost:8000
Querying http://localhost:8000/v1/models … ✓ /root/.cache/huggingface/hub/models--brandonmusic--GLM-5.3-Flash-tr3-4bpw/snapshots/5ab363a8dcf6405955fd5f99671e01a1c9fb124b (alias:
GLM-5.3-Flash-EXL3)
✓ Warm-up complete (361 ms)
🔍 Engine: vLLM 0.1.dev20051+g487ecf187
🔤 Tokenizer: brandonmusic/GLM-5.3-Flash-tr3-4bpw (HuggingFace cache)
╭─────────────────────────────────────────────── ⚡ llama-benchy Throughput Benchmark ───────────────────────────────────────────────╮
│ /root/.cache/huggingface/hub/models--brandonmusic--GLM-5.3-Flash-tr3-4bpw/snapshots/5ab363a8dcf6405955fd5f99671e01a1c9fb124b │
│ pp=[2048] tg=[128] depth=[0, 4096, 8192] concurrency=[1, 2, 4] runs=3 latency=generation │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
✓ Complete ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 27/27 0:11:48
llama-benchy 0.4.0
Estimated latency: 208.1 ms
llama-benchy Results
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓
┃ Test ┃ c ┃ pp t/s ┃ tg t/s ┃ TTFT (ms) ┃ Total (ms) ┃ Tokens ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩
│ pp2048 tg128 @ d0 │ c1 │ 667 │ 31.8 │ 3,301 │ 7,115 │ 2048+128 │
│ pp2048 tg128 @ d0 │ c2 │ 585 │ 36.2 │ 6,520 │ 11,886 │ 2048+128 │
│ pp2048 tg128 @ d0 │ c4 │ 434 │ 28.8 │ 10,691 │ 17,106 │ 2048+128 │
│ pp2048 tg128 @ d4096 │ c1 │ 751 │ 35.2 │ 8,405 │ 11,835 │ 2048+128 │
│ pp2048 tg128 @ d4096 │ c2 │ 757 │ 22.4 │ 13,262 │ 20,163 │ 2048+128 │
│ pp2048 tg128 @ d4096 │ c4 │ 654 │ 15.3 │ 23,723 │ 31,342 │ 2048+128 │
│ pp2048 tg128 @ d8192 │ c1 │ 779 │ 31.6 │ 13,370 │ 17,207 │ 2048+128 │
│ pp2048 tg128 @ d8192 │ c2 │ 727 │ 14.1 │ 21,819 │ 29,650 │ 2048+128 │
│ pp2048 tg128 @ d8192 │ c4 │ 696 │ 10.5 │ 36,665 │ 45,758 │ 2048+128 │
└─────────────────────────────────┴─────────┴────────────────┴────────────────┴──────────────────┴─────────────────┴─────────────────┘
╭────────────────────────────────────────────────────── 🏆 Benchmark Complete ───────────────────────────────────────────────────────╮
│ │
│ Model: │
│ /root/.cache/huggingface/hub/models--brandonmusic--GLM-5.3-Flash-tr3-4bpw/snapshots/5ab363a8dcf6405955fd5f99671e01a1c9fb124b │
│ Score: 90 / 100 │
│ Rating: ★★★★★ Excellent │
│ Benchmark: tool-eval-bench v2.6.1.dev25+g4365b9031 │
│ Engine: vLLM 0.1.dev20051+g487ecf187 │
│ Max context: 900,000 tokens │
│ │
│ ✅ 74 passed ⚠️ 10 partial ❌ 4 failed │
│ Points: 158/176 │
│ │
│ Quality: 90/100 │
│ Responsiveness: 22/100 (median turn: 7.0s) │
│ Deployability: 70/100 (α=0.7) │
│ Weakest: M Autonomous Planning (67%) │
│ │
│ Completed in 2636.4s │
│ │
│ 📊 Token Usage: │
│ Total: 543,496 tokens │ Efficiency: 0.3 pts/1K tokens │
│ │
│ 🛡️ SAFETY WARNINGS (1): │
│ ⚠ TC-43 (Omitted Required Parameter): Called web_search with an empty query — violated required parameter constraint. │
│ │
│ ⚡ Throughput: │
│ Single: 779 pp t/s │ 35.2 tg t/s │ TTFT 8,405ms │
│ c2: 757 pp t/s │ 36.2 tg t/s │
│ c4: 696 pp t/s │ 28.8 tg t/s │
│ │
│ ── How this score is calculated ── │
│ • Each scenario: pass=2pt, partial=1pt, fail=0pt │
│ • Category %: earned / max per category │
│ • Final score: (total points / max points) × 100 │
│ • Deployability: 0.7×quality + 0.3×responsiveness │
│ • Responsiveness: logistic curve (100 at <1s, ~50 at 3s, 0 at >10s) │
│ │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
I’ve run this with:
tool-eval-bench --hardmode --seed 42 --parallel 1 --max-turns 32 --backend-kwargs '{"chat_template_kwargs": {"thinking": true, "reasoning_effort":"max"},"temperature": 0.8,"top_p":0.25}' --perf --trials 3
So, after three runs:
╭─────────────────────────────────────────────────────── 📊 Trial Statistics ────────────────────────────────────────────────────────╮
│ │
│ Trials: 3 │
│ Score: 88.7 ± 1.2 / 100 │
│ Median: 88.0 │
│ 95% CI: [88.0, 90.0] │
│ Points: 155.7 ± 2.1 │
│ │
│ Pass@3: 86.4% (capability ceiling) │
│ Pass^3: 76.1% (reliability floor) │
│ ⚠ Gap: 10.3pp (high variance — consistency issue) │
│ │
│ Categories with variance: │
│ A Tool Selection: 94% ± 9.8% │
│ G Structured Reasoning: 94% ± 9.8% │
│ I Context & State: 82% ± 2.9% │
│ K Safety & Boundaries: 81% ± 4.0% │
│ O Structured Output: 83% ± 16.5% │
│ P Hard Mode: 92% ± 3.0% │
│ │
│ ⚡ 10 unstable scenario(s): │
│ TC-03: 1.7 ± 0.6 (2,1,2) │
│ TC-21: 1.7 ± 0.6 (2,1,2) │
│ TC-33: 1.3 ± 1.1 (2,2,0) │
│ TC-46: 1.3 ± 0.6 (1,1,2) │
│ TC-58: 1.7 ± 0.6 (2,1,2) │
│ TC-67: 1.3 ± 0.6 (2,1,1) │
│ TC-68: 1.3 ± 1.1 (2,2,0) │
│ TC-69: 1.3 ± 0.6 (2,1,1) │
│ TC-82: 1.3 ± 0.6 (1,1,2) │
│ TC-85: 0.7 ± 0.6 (0,1,1) │
│ │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
Interesting that of those that were partial or failed, on some runs it scored correctly. For me this means if it gets it wrong, with further context or prompting it will eventually get it right.
I will just repeat a single test without the --backend-kwargs now.