[!IMPORTANT]
W8A8 block-128 FP8 quant of migtissera/Tess-4-27B
Runtime: standard vLLM
fp8quant_method (e4m3,weight_block_size [128, 128], dynamic activations). All evaluation below was run ontcclaviger/vllm:lateston RDNA 4 (gfx12xx). Not validated on any other hardware at this time.
Tess-FP8
Block-wise W8A8 FP8 (e4m3fn) quantization of Tess-4-27B by Migel Tissera — an agentic, thinking-native finetune of Qwen3.6-27B. Sibling quants: Tess-27B-RFI (int8+4-bit hybrid) and Tess-27B-RFA (all-attention 4-bit). All credit for the model to its author; this repo only changes the numerics.
Quantization by component
- All attention and MLP linear weights (self_attn q/k/v/o, MLP gate/up/down, GDN linear-attention in_proj_qkv / in_proj_z / out_proj) — FP8 e4m3fn, block-wise 128×128, per-block bf16 dequant scales (
weight_scale_inv), dynamic activation scheme (W8A8). - MTP speculative-decode head — its MLP and attention projections are FP8 by the same scheme; its fc and norms stay bf16.
- Kept in bf16 (not quantized) — vision encoder, GDN
A_log/conv1d/dt_bias/in_proj_a/in_proj_b, embeddings, norms, and the lm_head.
Tensor layout and naming match the Qwen3.6-27B-FP8 production reference exactly.
Serving context — 512K via YaRN
All evaluation below was run while serving at --max-model-len 524288 (512K tokens),
extended from the native 256K window with YaRN via --hf-overrides:
{"text_config": {"rope_parameters": {"rope_type": "yarn", "factor": 2.0,
"original_max_position_embeddings": 262144, "mrope_interleaved": true,
"mrope_section": [11, 11, 10], "partial_rotary_factor": 0.25,
"rope_theta": 10000000}}}
Evaluation results
Six builds measured with identical methodology, each against its own live vLLM endpoint (July 2026): Qwen3.6-27B (bf16 base) → Tess-4-27B (the tune, bf16) → Tess-27B-RFI (int8+4-bit hybrid) → Tess-27B-RFA (all-4-bit) → Tess-FP8 (this build, W8A8 block-128 FP8), with Qwen3.6-35B-A3B (MoE, bf16) as a comparative reference. Bold marks the best score in each row (ties all bolded).
Quantization cost (W8A8 FP8 block-128) — Tess-4-27B → Tess-FP8
| Metric | Change |
|---|---|
| Checkpoint size | 55.6 → 29.0 GB (−48%) |
| WikiText-2 perplexity | 6.669 → 6.663 (≈ flat) |
| Codeneedle overall recall | 97.7% → 97.9% (≈ flat) |
| MC accuracy (4 tasks) | ≈ flat (−0.4 to +0.3 pp) |
| Tool-eval / GSM8K / MMLU / IFEval | 87 / 98% / 76% / 90% |
| Decode @ conc 1 (ISL 128) | 59.9 → 86.0 tok/s (+44%) |
| Decode @ conc 50 (ISL 128) | 528 → 560 tok/s (+6%) |
Quality
| Metric | Qwen3.6-27B (base) | Tess-4-27B | Tess-27B-RFI | Tess-27B-RFA | Tess-FP8 | Qwen3.6-35B-A3B |
|---|---|---|---|---|---|---|
| WikiText-2 PPL (n_ctx 2048, lower is better) | 7.0559 | 6.6691 | 6.6632 | 6.6292 | 6.6627 | 6.5092 |
| ARC-Challenge (acc_norm) | 59.30% | 60.84% | 60.41% | 60.32% | 60.49% | 55.20% |
| ARC-Easy (acc_norm) | 75.93% | 77.53% | 77.40% | 78.87% | 77.82% | 71.13% |
| Winogrande (acc) | 77.51% | 77.43% | 77.51% | 76.80% | 77.66% | 73.40% |
| HellaSwag (acc_norm) | 84.12% | 84.21% | 84.27% | 84.05% | 84.13% | 82.95% |
Multiple-choice accuracy is lm-eval loglikelihood scoring, 0-shot.
Long-context positional recall (codeneedle)
Verbatim function recall under 10K–80K-token contexts.
| Corpus | Qwen3.6-27B (base) | Tess-4-27B | Tess-27B-RFI | Tess-27B-RFA | Tess-FP8 | Qwen3.6-35B-A3B |
|---|---|---|---|---|---|---|
| Python | 100% | 100% | 100% | 100% | 99.55% | 99.09% |
| C++ | 98.12% | 98.12% | 98.44% | 98.75% | 98.75% | 98.44% |
| Rust | 99.69% | 99.69% | 99.69% | 99.69% | 99.69% | 99.38% |
| JS (~80K tokens) | 93.44% | 93.13% | 93.75% | 93.75% | 93.44% | 92.19% |
| Tools | 98.26% | 99.57% | 99.57% | 99.57% | 99.57% | 93.48% |
| Overall recall | 97.81% | 97.73% | 97.97% | 98.05% | 97.86% | 97.28% |
Tool calling & accuracy benches
| Bench | Qwen3.6-27B (base) | Tess-4-27B | Tess-27B-RFI | Tess-27B-RFA | Tess-FP8 | Qwen3.6-35B-A3B |
|---|---|---|---|---|---|---|
| tool-eval final (full 69, TC-61 excl) | 86 | 85 | 87 | 86 | 87 | 90 |
| GSM8K (50q) | 98.0% | 94.0% | 98.0% | 98.0% | 98.0% | 96.0% |
| MMLU (50q) | 74.0% | 76.0% | 82.0% | 80.0% | 76.0% | 64.0% |
| IFEval (20 prompts, prompt-level) | 90.0% | 90.0% | 90.0% | 95.0% | 90.0% | 90.0% |
Decode throughput — tok/s output (ISL 128 / ISL 512)
vllm bench serve, random dataset, OSL 128, saturation, 4× R9700 (gfx1201), TP 4.
| Concurrency | Qwen3.6-27B (base) | Tess-4-27B | Tess-27B-RFI | Tess-27B-RFA | Tess-FP8 | Qwen3.6-35B-A3B |
|---|---|---|---|---|---|---|
| 1 | 57.0 / 61.4 | 59.9 / 63.8 | 75.3 / 69.3 | 67.9 / 58.2 | 86.0 / 85.1 | 91.9 / 114.4 |
| 10 | 304.5 / 233.6 | 289.6 / 227.8 | 281.5 / 219.2 | 292.2 / 194.8 | 280.6 / 269.2 | 434.9 / 440.3 |
| 25 | 424.4 / 321.7 | 492.0 / 341.1 | 429.1 / 284.0 | 369.0 / 260.3 | 533.2 / 355.4 | 688.9 / 563.7 |
| 50 | 556.0 / 349.8 | 527.9 / 345.6 | 452.8 / 295.0 | 422.6 / 278.4 | 560.3 / 394.1 | 889.8 / 702.9 |
MTP draft acceptance by work category
Measured from live serving logs, k=5 draft tokens, drafted-token-weighted aggregation.
| Work category | Overall acceptance | Pos 1 | Pos 2 | Pos 3 | Pos 4 | Pos 5 |
|---|---|---|---|---|---|---|
| JSON generation | 96.7% | 99.4% | 98.8% | 98.0% | 94.9% | 92.5% |
| Math | 79.9% | 96.2% | 88.5% | 79.9% | 70.9% | 64.2% |
| Code | 63.8% | 89.5% | 74.4% | 62.0% | 51.2% | 42.0% |
| Creative English | 62.1% | 88.7% | 72.9% | 59.8% | 48.5% | 40.7% |
Notes
All builds serve on the tcclaviger/vllm:latest image, which has kernel tunes baked in. TunableOp is untuned — GEMMs run on default heuristic-determined values. Base Qwen3.6-27B figures are the 2026-07-12 re-measurement on the same tcclaviger/vllm:latest image and thinking-OFF methodology as every other build, replacing an earlier non-comparable run.
Credits
Tess-4-27B by Migel Tissera (migtissera/Tess-4-27B) — the model quantized here:
@misc{tissera2026tess4, title = {Tess-4-27B}, author = {Migel Tissera}, year = {2026}, howpublished = {\url{https://huggingface.co/migtissera/Tess-4-27B}} }codeneedle (positional recall) originally by Alexander Ziskind, expanded test suite by tcclaviger (Rob Smith).
Tool-calling scenarios (incl. TC-61) run on tool-eval-bench by SeraphimSerapis (Tim Messerschmidt), scenario methodology adapted from ToolCall-15 by stevibe.
GSM8K, MMLU, and IFEval run via tool-eval-bench's built-in accuracy benchmarks at their defaults: GSM8K 8-shot CoT, MMLU 5-shot, IFEval zero-shot.
Model discussions
Share what you know. Help others. Build trust.
Loading comments...
Keep it about the model. No spam, scams or personal attacks. Links are not allowed in comments or replies. Comment policy