ConorWang commited on
Commit
8e40c47
·
verified ·
1 Parent(s): 1b3e4e8

Upload Q8_QUALITY_CARD.md

Browse files
Files changed (1) hide show
  1. Q8_QUALITY_CARD.md +238 -0
Q8_QUALITY_CARD.md ADDED
@@ -0,0 +1,238 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # VeriLoop E2 — Q8_0 Quality Card
2
+
3
+ **Release type:** high-fidelity Q8_0 GGUF
4
+ **Baseline:** canonical VeriLoop E2 BF16 GGUF
5
+ **Purpose:** quantify BF16 → Q8_0 distortion under a fixed llama.cpp protocol
6
+ **Formal parent-model benchmark re-run:** no
7
+ **Release status:** **PASS**
8
+
9
+ **Positioning:** **High-fidelity / near-reference Q8_0 tier**. This card evaluates quantization fidelity directly against BF16; it does not re-label the parent model's downstream benchmark scores as Q8-specific results.
10
+
11
+ ---
12
+
13
+ ## 1. Artifact Identity
14
+
15
+ | Property | Q8_0 main | Optional MTP draft |
16
+ |---|---|---|
17
+ | Filename | `VeriLoop-E2-Q8_0.gguf` | `mtp-VeriLoop-E2-Q8_0.gguf` |
18
+ | Exact bytes | 28595765600 | 3287070240 |
19
+ | Binary size | 26.632 GiB | 3.061 GiB |
20
+ | Decimal size | 28.596 GB | 3.287 GB |
21
+ | SHA256 | `see `Q8_RELEASE_MANIFEST.json`` | `see `Q8_RELEASE_MANIFEST.json`` |
22
+ | Status | **Verified** | **Verified** |
23
+
24
+ BF16 reference SHA256:
25
+
26
+ ```text
27
+ 11bf5defde1a256b7582bc34fd2c4a85a61615ed88e7a422dcd24d814ea6d35d
28
+ ```
29
+
30
+ Release finalized:
31
+
32
+ ```text
33
+ see `Q8_RELEASE_MANIFEST.json`
34
+ ```
35
+
36
+ ---
37
+
38
+ ## 2. Quantization Build
39
+
40
+ | Item | Value |
41
+ |---|---|
42
+ | Parent model | VeriLoop E2 |
43
+ | Base family | Qwen3.8-27B |
44
+ | HF architecture | `Qwen3_5ForConditionalGeneration` |
45
+ | Quant type | `Q8_0` |
46
+ | Main tensors | 851 |
47
+ | Q8_0 tensors | 498 |
48
+ | Retained F32 tensors | 353 |
49
+ | Source model size reported by quantizer | 51,305.09 MiB |
50
+ | Quantized model size reported by quantizer | 27,260.56 MiB |
51
+ | Effective density reported by quantizer | **8.50 BPW** |
52
+ | Size reduction vs BF16 GGUF | **46.86%** |
53
+ | Quantization threads | 25 |
54
+ | Quantization time | **38.315 s** |
55
+ | Quantization return code | **0** |
56
+ | Main build gate | **PASS** |
57
+ | llama.cpp quantization/QC revision | `42916d83f4a225e56709f873aa8050ac11f5b6a4` |
58
+
59
+ The 353 F32 tensors are intentionally retained by the llama.cpp quantized layout; the release does not claim every tensor is stored as Q8_0.
60
+
61
+ ---
62
+
63
+ ## 3. Fixed BF16 → Q8_0 Comparison Protocol
64
+
65
+ | Item | Value |
66
+ |---|---|
67
+ | Reference model | VeriLoop E2 BF16 GGUF |
68
+ | Candidate | VeriLoop E2 Q8_0 GGUF |
69
+ | Corpus | WikiText-2 raw test |
70
+ | Context length | 2,048 |
71
+ | Chunks | 8 |
72
+ | Seed | 42 |
73
+ | GPU layers | 40 |
74
+ | Flash Attention | Off |
75
+ | KV cache | F16 / F16 |
76
+ | Batch size | 512 |
77
+ | Micro-batch size | 512 |
78
+ | Evaluation executable | `llama-perplexity` |
79
+ | Reference-logit method | BF16 logits persisted with `--kl-divergence-base` |
80
+ | Candidate comparison | Q8_0 evaluated with `--kl-divergence` against the frozen BF16 logit file |
81
+
82
+ This protocol is a **paired quantization-fidelity test**. It is not a new leaderboard campaign.
83
+
84
+ ---
85
+
86
+ ## 4. Quantization Fidelity
87
+
88
+ ### Perplexity
89
+
90
+ | Metric | Value |
91
+ |---|---:|
92
+ | BF16 mean PPL | **4.840423 ± 0.119931** |
93
+ | Q8_0 mean PPL | **4.843536 ± 0.120062** |
94
+ | Absolute ΔPPL | **+0.003113 ± 0.003651** |
95
+ | PPL ratio | **1.000643 ± 0.000754** |
96
+ | Relative PPL increase | **+0.0643%** |
97
+ | Cor(ln PPL(Q8), ln PPL(BF16)) | **99.95%** |
98
+
99
+ ### KL divergence
100
+
101
+ | Metric | Value |
102
+ |---|---:|
103
+ | Mean KLD | **0.002176 ± 0.000668** |
104
+ | Median KLD | **0.000276** |
105
+ | 90th percentile | **0.001548** |
106
+ | 95th percentile | **0.002856** |
107
+ | 99th percentile | **0.009561** |
108
+ | 99.9th percentile | **0.201704** |
109
+ | Maximum | **4.066900** |
110
+
111
+ ### Token-probability stability
112
+
113
+ | Metric | Value |
114
+ |---|---:|
115
+ | Mean Δp | **−0.007 ± 0.014%** |
116
+ | RMS Δp | **1.251 ± 0.137%** |
117
+ | Same top-p | **98.815 ± 0.120%** |
118
+
119
+ ### Interpretation
120
+
121
+ The measured Q8_0 distortion is small under the fixed protocol:
122
+
123
+ - predictive loss rises by **0.0643% relative to BF16**;
124
+ - average distributional divergence is **0.002176 KLD**;
125
+ - the top-probability token remains the same **98.815%** of the time;
126
+ - mean probability shift is close to zero, while RMS Δp quantifies the remaining quantization noise.
127
+
128
+ **Important:** the +0.0643% figure is a relative perplexity increase, not a universal downstream benchmark or capability-loss percentage.
129
+
130
+ ---
131
+
132
+ ## 5. Release Gates
133
+
134
+ | Gate | Predeclared release threshold | Measured | Result |
135
+ |---|---:|---:|---|
136
+ | PPL ratio | ≤ 1.005 | **1.000643** | **PASS** |
137
+ | Mean KLD | ≤ 0.005 | **0.002176** | **PASS** |
138
+ | Same top-p | ≥ 97.0% | **98.815%** | **PASS** |
139
+ | Main tensor count | 851 | **851** | **PASS** |
140
+ | Non-zero / structural audit | required | **PASS** | **PASS** |
141
+ | llama.cpp model load | required | **PASS** | **PASS** |
142
+ | OpenAI-compatible generation | required | **PASS** | **PASS** |
143
+ | Optional MTP loader compatibility | required for MTP artifact | **PASS** | **PASS** |
144
+ | Optional MTP speculative draft smoke | required for MTP artifact | **PASS** | **PASS** |
145
+
146
+ These thresholds are VeriLoop internal release-QA criteria and are not presented as universal quantization standards.
147
+
148
+ ---
149
+
150
+ ## 6. Runtime Compatibility
151
+
152
+ Validated llama.cpp revision:
153
+
154
+ ```text
155
+ 42916d83f4a225e56709f873aa8050ac11f5b6a4
156
+ ```
157
+
158
+ Validated MTP compatibility smoke:
159
+
160
+ | Item | Value |
161
+ |---|---|
162
+ | Main model | `VeriLoop-E2-Q8_0.gguf` |
163
+ | Draft model | `mtp-VeriLoop-E2-Q8_0.gguf` |
164
+ | Context | 8,192 |
165
+ | Main GPU offload | enabled |
166
+ | Draft GPU layers | 0 |
167
+ | Model load | **PASS** |
168
+ | Generation | **PASS** |
169
+ | Draft tokens proposed | 3 |
170
+ | Draft tokens accepted | 3 |
171
+
172
+ An earlier 32K all-GPU main+draft attempt exhausted available CUDA memory while allocating the draft runtime buffer. It did **not** produce a tensor-layout or GGUF-loader error. The resource-conservative 8K main-GPU/draft-CPU configuration loaded and generated successfully.
173
+
174
+ This card therefore distinguishes **format/runtime compatibility** from **hardware-specific memory fit**.
175
+
176
+ ---
177
+
178
+ ## 7. Size Efficiency
179
+
180
+ | Artifact | Size |
181
+ |---|---:|
182
+ | BF16 reference GGUF | **50.113 GiB** |
183
+ | Q8_0 GGUF | **26.632 GiB** |
184
+ | Reduction | **46.86%** |
185
+
186
+ The final exact Q8_0 byte count is 28595765600 bytes.
187
+
188
+ ---
189
+
190
+ ## 8. Throughput Note
191
+
192
+ A standalone Q8_0 `llama-bench` run produced:
193
+
194
+ | Workload | Q8_0 |
195
+ |---|---:|
196
+ | Prompt processing (`pp512`) | **3102.722776 tok/s** |
197
+ | Token generation (`tg128`) | **41.999677 tok/s** |
198
+
199
+ The paired BF16 speed run did not complete under the original full-offload benchmark configuration, so **no BF16→Q8 speedup factor is claimed**. These Q8_0 throughput numbers are descriptive only and are not part of the quality gate.
200
+
201
+ ---
202
+
203
+ ## 9. Parent-Model Scores
204
+
205
+ The public VeriLoop E2 benchmark record belongs to the parent release. Q8_0 was not re-scored across the full benchmark suite for this quantization card.
206
+
207
+ That separation is intentional:
208
+
209
+ ```text
210
+ Parent-model evaluation
211
+ → establishes model capability
212
+
213
+ BF16 vs Q8_0 paired PPL/KLD/token analysis
214
+ → establishes quantization fidelity
215
+ ```
216
+
217
+ This prevents format conversion and model capability from being conflated.
218
+
219
+ ---
220
+
221
+ ## 10. Final Decision
222
+
223
+ ```text
224
+ MAIN_Q8_BUILD=PASS
225
+ Q8_STRUCTURE_GATE=PASS
226
+ Q8_QUANTITATIVE_QUALITY_GATE=PASS
227
+ Q8_STOCK_LLAMA_CPP_COMPATIBILITY=PASS
228
+ MTP_RUNTIME_GATE=PASS
229
+ Q8_RELEASE_QUALITY_GATE=PASS
230
+ ```
231
+
232
+ **Release conclusion:** Q8_0 is accepted as the high-fidelity local-deployment quantization of VeriLoop E2 under the frozen release protocol.
233
+
234
+ The strongest numerical statement supported by the evidence is:
235
+
236
+ > **Compared with the canonical BF16 GGUF under the identical fixed protocol, Q8_0 reduces file size by 46.86%, increases mean perplexity by 0.0643%, yields mean KLD 0.002176, and preserves the same top-probability token 98.815% of the time.**
237
+
238
+ No broader capability-loss percentage is inferred from these statistics.