tcclaviger commited on
Commit
c348f52
·
0 Parent(s):

Initialize repo: README, gitignore, LFS tracking

Browse files
Files changed (3) hide show
  1. .gitattributes +1 -0
  2. .gitignore +4 -0
  3. README.md +128 -0
.gitattributes ADDED
@@ -0,0 +1 @@
 
 
1
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
.gitignore ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ docker-compose.yml
2
+ profiles/
3
+ tunableop/
4
+ openai-infqps-*.json
README.md ADDED
@@ -0,0 +1,128 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ library_name: transformers
4
+ pipeline_tag: image-text-to-text
5
+ language:
6
+ - en
7
+ tags:
8
+ - quantized
9
+ - rfi
10
+ - mixed-precision
11
+ base_model:
12
+ - migtissera/Tess-4-27B
13
+ base_model_relation: quantized
14
+ ---
15
+
16
+ > [!IMPORTANT]
17
+ > ## RFI/RFA hybrid quant of [migtissera/Tess-4-27B](https://huggingface.co/migtissera/Tess-4-27B)
18
+ >
19
+ > **Runtime:** requires [`tcclaviger/vllm:latest`](https://hub.docker.com/r/tcclaviger/vllm) — an **RDNA 4 (gfx12xx)** vLLM image and the only build with the RFI/RFA kernels; no other vLLM build loads these weights. **Not validated on any other hardware at this time.**
20
+
21
+ # Tess-27B-RFI
22
+
23
+ Mixed-precision (RFI/RFA hybrid) quantization of **Tess-4-27B** by Migel Tissera —
24
+ an agentic, thinking-native finetune of Qwen3.6-27B. All credit for the model to its
25
+ author; this repo only changes the numerics.
26
+
27
+ ## Quantization by component
28
+
29
+ - **Attention and all other linear layers** — 8-bit integer weights (RFI): group size 32, symmetric, Hadamard-32 rotation, block-float scales stored as int8 mantissa + int8 exponent, int8 activation compute path.
30
+ - **MLP layers** — 4-bit float weights (RFA): IQ4_NL non-linear grid, group size 16, asymmetric, Hadamard-16 rotation, the same block-float int8 scale encoding.
31
+ - **Kept in bf16 (not quantized)** — vision encoder, linear-attention (GDN) blocks, MTP speculative-decode layers, embeddings, and the lm_head.
32
+
33
+ ## Evaluation results
34
+
35
+ Four builds measured with identical methodology, each against its own live vLLM endpoint (July 2026):
36
+ **Qwen3.6-27B** (bf16 base) → **Tess-4-27B** (the tune, bf16) → **Tess-27B-RFI** (this quant),
37
+ with **Qwen3.6-35B-A3B** (MoE, bf16) as a comparative reference point.
38
+
39
+ ### Tune impact — Qwen3.6-27B → Tess-4-27B
40
+
41
+ | Metric | Change |
42
+ |---|---|
43
+ | WikiText-2 perplexity | 7.060 → 6.669 (**−5.5%**) |
44
+ | Codeneedle overall recall | 92.0% → 97.7% (**+5.8 pp**) |
45
+ | MC accuracy (4 tasks) | ≈ flat (−0.1 to +1.8 pp) |
46
+ | Tool-eval (full 69, TC-61 excl) | 89 → 85 (−4) |
47
+ | GSM8K / MMLU (50q each) | 98→94% / 74→76% |
48
+ | Decode @ conc 1 (ISL 128) | 63.7 → 59.9 tok/s (−6%) |
49
+ | Decode @ conc 50 (ISL 128) | 541 → 528 tok/s (−2%) |
50
+
51
+ ### Quantization cost (RFI/RFA hybrid) — Tess-4-27B → Tess-27B-RFI
52
+
53
+ | Metric | Change |
54
+ |---|---|
55
+ | WikiText-2 perplexity | 6.669 → 6.663 (≈ flat) |
56
+ | Codeneedle overall recall | 97.7% → 98.0% (≈ flat) |
57
+ | MC accuracy (4 tasks) | ≈ flat (−0.4 to +0.1 pp) |
58
+ | Tool-eval (full 69, TC-61 excl) | 85 → 87 (**+2**) |
59
+ | GSM8K / MMLU (50q each) | 94→98% / 76→82% (**both up**) |
60
+ | Decode @ conc 1 (ISL 128) | 59.9 → 75.3 tok/s (**+26%**) |
61
+ | Decode @ conc 50 (ISL 128) | 528 → 453 tok/s (−14%) |
62
+
63
+ ### Quality
64
+
65
+ | Metric | Qwen3.6-27B (base) | Tess-4-27B | **Tess-27B-RFI** | Qwen3.6-35B-A3B |
66
+ |---|---|---|---|---|
67
+ | WikiText-2 PPL (n_ctx 2048, lower is better) | 7.0597 | 6.6691 | **6.6632** | 6.5092 |
68
+ | ARC-Challenge (acc_norm) | 59.13% | 60.84% | **60.41%** | 55.20% |
69
+ | ARC-Easy (acc_norm) | 75.76% | 77.53% | **77.40%** | 71.13% |
70
+ | Winogrande (acc) | 76.87% | 77.43% | **77.51%** | 73.40% |
71
+ | HellaSwag (acc_norm) | 84.04% | 84.21% | **84.27%** | 82.95% |
72
+
73
+ Multiple-choice accuracy is lm-eval loglikelihood scoring, 0-shot.
74
+
75
+ ### Long-context positional recall (codeneedle)
76
+
77
+ Verbatim function recall under 10K–80K-token contexts.
78
+
79
+ | Corpus | Qwen3.6-27B (base) | Tess-4-27B | **Tess-27B-RFI** | Qwen3.6-35B-A3B |
80
+ |---|---|---|---|---|
81
+ | Python | 92.73% | 100% | **100%** | 99.09% |
82
+ | C++ | 92.81% | 98.12% | **98.44%** | 98.44% |
83
+ | Rust | 95.00% | 99.69% | **99.69%** | 99.38% |
84
+ | JS (~80K tokens) | 87.50% | 93.13% | **93.75%** | 92.19% |
85
+ | Tools | 96.52% | 99.57% | **99.57%** | 93.48% |
86
+ | **Overall recall** | 91.95% | 97.73% | **97.97%** | 97.28% |
87
+
88
+ ### Tool calling & accuracy benches
89
+
90
+ | Bench | Qwen3.6-27B (base) | Tess-4-27B | **Tess-27B-RFI** | Qwen3.6-35B-A3B |
91
+ |---|---|---|---|---|
92
+ | tool-eval final (full 69, TC-61 excl) | 89 | 85 | **87** | 90 |
93
+ | GSM8K (50q) | 98.0% | 94.0% | **98.0%** | 96.0% |
94
+ | MMLU (50q) | 74.0% | 76.0% | **82.0%** | 64.0% |
95
+ | IFEval (20 prompts, prompt-level) | 90.0% | 90.0% | **90.0%** | 90.0% |
96
+
97
+ ### Decode throughput — tok/s output (ISL 128 / ISL 512)
98
+
99
+ `vllm bench serve`, random dataset, OSL 128, saturation, 4× R9700 (gfx1201), TP 4.
100
+
101
+ | Concurrency | Qwen3.6-27B (base) | Tess-4-27B | **Tess-27B-RFI** | Qwen3.6-35B-A3B |
102
+ |---|---|---|---|---|
103
+ | 1 | 63.7 / 65.2 | 59.9 / 63.8 | **75.3 / 69.3** | 91.9 / 114.4 |
104
+ | 10 | 251.1 / 246.6 | 289.6 / 227.8 | **281.5 / 219.2** | 434.9 / 440.3 |
105
+ | 25 | 390.3 / 336.8 | 492.0 / 341.1 | **429.1 / 284.0** | 688.9 / 563.7 |
106
+ | 50 | 541.2 / 363.0 | 527.9 / 345.6 | **452.8 / 295.0** | 889.8 / 702.9 |
107
+
108
+ ## Notes
109
+
110
+ All builds serve on the [tcclaviger/vllm:latest](https://hub.docker.com/r/tcclaviger/vllm) image, which has kernel tunes baked in.
111
+ TunableOp is untuned — GEMMs run on default heuristic-determined values.
112
+
113
+ ## Credits
114
+
115
+ - **Tess-4-27B** by Migel Tissera ([migtissera/Tess-4-27B](https://huggingface.co/migtissera/Tess-4-27B)) — the model quantized here:
116
+
117
+ ```bibtex
118
+ @misc{tissera2026tess4,
119
+ title = {Tess-4-27B},
120
+ author = {Migel Tissera},
121
+ year = {2026},
122
+ howpublished = {\url{https://huggingface.co/migtissera/Tess-4-27B}}
123
+ }
124
+ ```
125
+
126
+ - codeneedle (positional recall) originally by Alexander Ziskind, expanded test suite by tcclaviger (Rob Smith).
127
+ - Tool-calling scenarios (incl. TC-61) run on tool-eval-bench by SeraphimSerapis (Tim Messerschmidt), scenario methodology adapted from ToolCall-15 by stevibe.
128
+ - 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.