tcclaviger commited on
Commit
1d1f6eb
·
verified ·
1 Parent(s): 29d1385

README: full PPL matrix (A8/A16 x fp8/bf16 KV), styling, prose cleanup

Browse files
Files changed (1) hide show
  1. README.md +13 -15
README.md CHANGED
@@ -4,7 +4,7 @@ license: apache-2.0
4
  pipeline_tag: image-text-to-text
5
  ---
6
 
7
- <div style="background: linear-gradient(135deg, #6a1b9a, #8e24aa); border: 2px solid #4a148c; border-radius: 12px; padding: 20px; color: #ffffff; margin-bottom: 24px;">
8
 
9
  ## RFI8 Activation-Aware Quant — read this first
10
 
@@ -12,7 +12,7 @@ This is an **RFI8 activation-aware quantization** of Qwen3.8-27B (8-bit weights,
12
  Hadamard-32 rotation, group-32 block-float scales).
13
 
14
  This checkpoint includes **calibrated KV-cache scales for both the main model and
15
- the MTP speculative-decoding draft model**. Serving with `--kv-cache-dtype fp8`
16
  is nearly lossless for quality, and brings long-context speed uplifts and KV
17
  cache space savings (roughly double the context in the same VRAM).
18
 
@@ -30,24 +30,22 @@ falls back to Triton reference kernels and runs substantially slower.
30
  | checkpoint | PPL |
31
  |---|---|
32
  | BF16 original | 6.9224 |
33
- | **this quant, W8A16 mode** (fp16 activations, `--kv-cache-dtype fp8`, MTP spec decode) | **6.9369** |
34
- | **this quant, W8A8 mode** (as shipped: int8 activations, `--kv-cache-dtype fp8`, MTP spec decode) | **6.9392** |
 
 
35
 
36
- Both quant rows were measured on the served model **with `--kv-cache-dtype fp8`
37
- active** the perplexity computation is teacher-forced prefill, and prefill
38
- attention reads K/V back through the fp8 cache, so these numbers INCLUDE the
39
- fp8 KV quantization (with this checkpoint's calibrated scales) on the
40
- full-attention layers. This is the as-shipped serving configuration, not an
41
- idealized one. (bf16-KV numbers for A8 and A16, isolating pure weight/activation
42
- error, coming soon.)
43
 
44
  ### W8A8 vs W8A16
45
 
46
  The checkpoint ships in **W8A8** mode (int8 activations). A8 vs A16 is a
47
  quality/throughput tradeoff: **W8A16 (fp16 activations) is nearly
48
  indistinguishable from the BF16 checkpoint** in quality, at lower throughput
49
- than A8. To switch to W8A16, edit `config.json` and change the activation dtype
50
- from `int8` to `fp16`:
51
 
52
  ```json
53
  "quantization_config": {
@@ -61,8 +59,8 @@ from `int8` to `fp16`:
61
  }
62
  ```
63
 
64
- (That is the single `"act_dtype": "int8"` value under
65
- `quantization_config.config_groups.group_0.weights` — nothing else changes.)
66
 
67
  </div>
68
 
 
4
  pipeline_tag: image-text-to-text
5
  ---
6
 
7
+ <div style="background: rgba(45, 10, 70, 0.5); border: 2px solid #4a148c; border-radius: 12px; padding: 20px; margin-bottom: 24px;">
8
 
9
  ## RFI8 Activation-Aware Quant — read this first
10
 
 
12
  Hadamard-32 rotation, group-32 block-float scales).
13
 
14
  This checkpoint includes **calibrated KV-cache scales for both the main model and
15
+ the MTP speculative-decoding draft model**. Serving with --kv-cache-dtype fp8
16
  is nearly lossless for quality, and brings long-context speed uplifts and KV
17
  cache space savings (roughly double the context in the same VRAM).
18
 
 
30
  | checkpoint | PPL |
31
  |---|---|
32
  | BF16 original | 6.9224 |
33
+ | this quant, W8A16, bf16 KV cache | 6.8978 |
34
+ | this quant, W8A8, bf16 KV cache | 6.9034 |
35
+ | this quant, W8A16, fp8 KV cache | 6.9369 |
36
+ | **this quant, W8A8, fp8 KV cache (as shipped)** | **6.9392** |
37
 
38
+ The fp8 KV rows include the KV-cache quantization, not just weight/activation
39
+ error. All rows measured on the served model; the PPL tool is included in the
40
+ docker image.
 
 
 
 
41
 
42
  ### W8A8 vs W8A16
43
 
44
  The checkpoint ships in **W8A8** mode (int8 activations). A8 vs A16 is a
45
  quality/throughput tradeoff: **W8A16 (fp16 activations) is nearly
46
  indistinguishable from the BF16 checkpoint** in quality, at lower throughput
47
+ than A8. To switch to W8A16, edit config.json and change the activation dtype
48
+ from int8 to fp16:
49
 
50
  ```json
51
  "quantization_config": {
 
59
  }
60
  ```
61
 
62
+ (That is the single "act_dtype": "int8" value under
63
+ quantization_config.config_groups.group_0.weights — nothing else changes.)
64
 
65
  </div>
66