Underdog Saluki 27B
Our pick for this card
Writing speed
1.6× faster
Same card, same model, same script. Only the software changes.
Honestly: the details
After a 16k context: 22.5 → 35.5 t/s. Without speculation (llama-bench tg128) our engine is 2.4% slower here (24.2 → 23.6): the whole gain on this card comes from the MTP head.
A 500-word answer
derived from t/s × tokens per word/; :168 × 2.69 tok/słowo (raport 06 §2.1.2)/; :168 × 1.17 tok/słowo (raport 06 §2.1.2) in Polish
in English
Replay at real speed
The same answer, written out at the measured speed.
Typical app: 24.0 t/s, Our engine: 38.2 t/s. spec_sweep through the server, the same script on both sides: chat, 6 prompts × 3 seeds, T=1, fresh server, median; ABBA order, mean of the two passes
Conditions
spec_sweep through the server, the same script on both sides: chat, 6 prompts × 3 seeds, T=1, fresh server, median; ABBA order, mean of the two passes
- ours: the Kujira MTP head n=2 (64k vocabulary, IQ4_XS)
- lookup W16
- GPU verify
- KV q8_0
- 20k context (-c 20480)
- A0: plain -m (-fit: 34k context, KV f16)
- no speculation
- card at 170 W
About the model
A 27B model (qwen35 architecture) quantised to ~2 bits with standard IQ types: a 7.9 GB file. It has no MTP head of its own; our engine adds the Kujira MTP head.
Better quality (perplexity 7.67 vs 8.62), and 1.6× faster with the MTP head.
- low memory
- quality on 12 GB
All measurements
Instruments
Typical app → Our engine
Tokens per step: tokens accepted per model step (MTP speculation) · Step time: The step is longer because it yields ~2.2 tokens. Per token: 41.7 → 26.3 ms (derived: step time ÷ tokens per step). · Prefill 512: reading the prompt, tokens per second · Prefill 4096: reading the prompt, tokens per second · Memory used: ours: the Kujira MTP head n=2 (64k vocabulary, IQ4_XS), lookup W16, GPU verify, KV q8_0, 20k context (-c 20480); A0: plain -m (-fit: 34k context, KV f16), no speculation; card at 170 W (the source gives GiB; shown as GB, the way the vendor labels the card memory)/; :170/; :169/; :187 (10313 MiB)/; :187 (9811 MiB)Tokens per step
1.00 2.22
↗ better
Step time
41.7 58.4 ms
↘ longer step, ↗ more tokens
Prefill 512
581 564 t/s
≈ no change
Prefill 4096
576 559 t/s
≈ no change
Memory used
10.1 9.6 GB
↗ better
Same model, same quality: measured
Honestly
- Saluki 27B
- KLD ours vs upstream 0.00065
- upstream noise 0.00061
- Bonsai 2 27B
- KLD ours vs upstream 0.00032
- upstream noise 0.00021
In plain mode our engine does not produce bit-identical text to upstream (patches 0001/0002, plus 0013 for Qwen). So we measure quality with KLD: on the RTX 3060 the difference stays within upstream’s own noise.



