EldanRing commited on
Commit
22c8d8b
·
verified ·
1 Parent(s): 7bd6326

Add evaluated step-438 BF16 GGUF

Browse files
.gitattributes CHANGED
@@ -34,3 +34,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
  gguf/Winnow-E4B-Q8_0.gguf filter=lfs diff=lfs merge=lfs -text
 
 
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
  gguf/Winnow-E4B-Q8_0.gguf filter=lfs diff=lfs merge=lfs -text
37
+ gguf/Winnow-E4B-BF16.gguf filter=lfs diff=lfs merge=lfs -text
README.md CHANGED
@@ -38,13 +38,22 @@ quality, vision and 64K context have not been qualified for this E4B artifact.
38
  | Download | Use | File size |
39
  |---|---|---:|
40
  | [Winnow-E4B-Q8_0.gguf](gguf/Winnow-E4B-Q8_0.gguf) | **Q8_0; selected and measured deployment artifact** | 8.01 GB / 7.46 GiB |
 
41
 
42
  The GGUF contains the merged language weights, tokenizer and chat template. It
43
- needs no separate LoRA adapter or conversion. This repository currently provides
44
- the selected **Q8_0 model only**. The original Gemma 4 E4B architecture includes
45
  multimodal components, but an E4B projector is not packaged here and this release
46
  does not claim tested image input. Verify downloads with [SHA256SUMS](SHA256SUMS).
47
 
 
 
 
 
 
 
 
 
48
  ## Decision quality
49
 
50
  All numbers below are Q8 GGUF results on the same frozen questions. The matched
@@ -91,9 +100,9 @@ generation speeds are not characterized by this table.
91
  ## GGUF packaging
92
 
93
  The selected step-438 language adapter was merged into the pinned Gemma 4 E4B IT
94
- base as `FP32(base) + FP32(B @ A) × alpha/rank`, then converted to Q8_0 with a
95
- pinned llama.cpp converter. This avoids rounding the learned update to BF16
96
- before quantization. The artifact is a complete merged model; the original
97
  adapter and private training checkpoint are not needed for inference.
98
 
99
  ## Training
@@ -109,7 +118,7 @@ released GGUF contains the merged weights.
109
  | LoRA rank / alpha | 32 / 64 |
110
  | Adapted weights | 294 language tensors; vision and audio modules frozen |
111
  | Targeted continuation | Selected step 438; effective batch 16; up to 8,192 input tokens |
112
- | Export | FP32 adapter merge, then Q8_0 GGUF |
113
 
114
  **The training dataset is private and is not released.** It combines synthetic
115
  contrastive decisions, verified labels, teacher distributions where appropriate,
@@ -129,7 +138,9 @@ correctness; calibration quality varies by task and length. On the combined
129
  already-opened reserved test panels, E4B's calibrated proper loss improved over
130
  the prior E4B checkpoint while labeled accuracy was unchanged.
131
 
132
- Only text decisions at 8K context were measured in the matched release suite.
 
 
133
  The model can be loaded by a chat-capable inference engine, but general chat
134
  quality and multimodal behavior have not been evaluated for this release.
135
 
 
38
  | Download | Use | File size |
39
  |---|---|---:|
40
  | [Winnow-E4B-Q8_0.gguf](gguf/Winnow-E4B-Q8_0.gguf) | **Q8_0; selected and measured deployment artifact** | 8.01 GB / 7.46 GiB |
41
+ | [Winnow-E4B-BF16.gguf](gguf/Winnow-E4B-BF16.gguf) | Optional higher-precision text model; Q8 remains recommended on 16 GB GPUs | 15.05 GB / 14.02 GiB |
42
 
43
  The GGUF contains the merged language weights, tokenizer and chat template. It
44
+ needs no separate LoRA adapter or conversion. Both files come from the same
45
+ selected step-438 merge. The original Gemma 4 E4B architecture includes
46
  multimodal components, but an E4B projector is not packaged here and this release
47
  does not claim tested image input. Verify downloads with [SHA256SUMS](SHA256SUMS).
48
 
49
+ The BF16 GGUF passed 8K text-decision serving on an RTX 5070 Ti. On 759 held-out
50
+ ordinary and 132 longer decisions, its top-choice accuracy was essentially the
51
+ same as Q8. Its separately calibrated probability loss was slightly worse and
52
+ it used about **15.0 GiB of GPU memory** versus **8.6 GiB** for Q8, with little
53
+ headroom on a 16 GB card. BF16 has **not** been run through the public suites
54
+ or long-context/vision profile reported for Q8. See the
55
+ [paired format check](docs/BENCHMARKS.md#selected-step-438-bf16-versus-q8).
56
+
57
  ## Decision quality
58
 
59
  All numbers below are Q8 GGUF results on the same frozen questions. The matched
 
100
  ## GGUF packaging
101
 
102
  The selected step-438 language adapter was merged into the pinned Gemma 4 E4B IT
103
+ base as `FP32(base) + FP32(B @ A) × alpha/rank`, then converted to Q8_0 or BF16
104
+ with a pinned llama.cpp converter. The FP32 merge avoids rounding the learned
105
+ update to BF16 before conversion. Each artifact is a complete merged model; the original
106
  adapter and private training checkpoint are not needed for inference.
107
 
108
  ## Training
 
118
  | LoRA rank / alpha | 32 / 64 |
119
  | Adapted weights | 294 language tensors; vision and audio modules frozen |
120
  | Targeted continuation | Selected step 438; effective batch 16; up to 8,192 input tokens |
121
+ | Export | FP32 adapter merge, then Q8_0 or BF16 GGUF |
122
 
123
  **The training dataset is private and is not released.** It combines synthetic
124
  contrastive decisions, verified labels, teacher distributions where appropriate,
 
138
  already-opened reserved test panels, E4B's calibrated proper loss improved over
139
  the prior E4B checkpoint while labeled accuracy was unchanged.
140
 
141
+ BF16's separately fitted decision temperature is **1.333155** on the same 778
142
+ reserved calibration decisions. The Q8 temperature above should not be applied
143
+ to BF16. Only text decisions at 8K context were measured in the matched release suite.
144
  The model can be loaded by a chat-capable inference engine, but general chat
145
  quality and multimodal behavior have not been evaluated for this release.
146
 
SHA256SUMS CHANGED
@@ -1 +1,2 @@
1
  840e3f50e5a9c218727f44e121d1b37cc9e2c3b318c8eb422ba6ef2e27b618a2 gguf/Winnow-E4B-Q8_0.gguf
 
 
1
  840e3f50e5a9c218727f44e121d1b37cc9e2c3b318c8eb422ba6ef2e27b618a2 gguf/Winnow-E4B-Q8_0.gguf
2
+ 53c3e504c061f6a7ce84cb6240d427ac6c630850a2cf93f3c2ee980c8136e7e7 gguf/Winnow-E4B-BF16.gguf
docs/BENCHMARKS.md CHANGED
@@ -1,6 +1,6 @@
1
- # Winnow-E4B Q8 evaluation
2
 
3
- The published artifact is the selected **targeted step-438 Q8_0 GGUF**, SHA-256
4
  `840e3f50e5a9c218727f44e121d1b37cc9e2c3b318c8eb422ba6ef2e27b618a2`.
5
  The reference is the released Winnow-12B Q8 GGUF. The four release suites ran
6
  sequentially through the same frozen HTTP runner on one RTX 5070 Ti. They used
@@ -81,10 +81,40 @@ the shared temperature; calibration should be checked on a user's own task.
81
 
82
  - No data or answers from these benchmark suites are distributed in this model
83
  repository. The private training dataset is not distributed either.
84
- - Native BF16 and GGUF Q8 probability outputs are close in aggregate but not
85
  exactly equal. The selected Q8 export was evaluated as its own artifact.
86
  - General chat quality, image input and populated 64K context were not tested
87
  for this E4B release. The reported GPU memory is an 8K text measurement.
88
  - Synthetic and public benchmark mixes do not establish real-world accuracy
89
  for every downstream application. The figures above should not be averaged
90
  into a single score.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Winnow-E4B evaluation
2
 
3
+ The primary deployment artifact is the selected **targeted step-438 Q8_0 GGUF**, SHA-256
4
  `840e3f50e5a9c218727f44e121d1b37cc9e2c3b318c8eb422ba6ef2e27b618a2`.
5
  The reference is the released Winnow-12B Q8 GGUF. The four release suites ran
6
  sequentially through the same frozen HTTP runner on one RTX 5070 Ti. They used
 
81
 
82
  - No data or answers from these benchmark suites are distributed in this model
83
  repository. The private training dataset is not distributed either.
84
+ - Native BF16 safetensors and GGUF Q8 probability outputs are close in aggregate but not
85
  exactly equal. The selected Q8 export was evaluated as its own artifact.
86
  - General chat quality, image input and populated 64K context were not tested
87
  for this E4B release. The reported GPU memory is an 8K text measurement.
88
  - Synthetic and public benchmark mixes do not establish real-world accuracy
89
  for every downstream application. The figures above should not be averaged
90
  into a single score.
91
+
92
+ ## Selected step-438 BF16 versus Q8
93
+
94
+ The optional BF16 GGUF was built from a regenerated FP32 merge whose 19 shard
95
+ hashes exactly matched the Q8 export's saved merge receipt. Both formats were
96
+ served on the RTX 5070 Ti using the same 8,192-token text-only profile, Q8 KV
97
+ cache, four decision branches and selected answer-token projection. BF16 passed
98
+ all 891 held-out test requests. A separate temperature was fitted for each
99
+ format on the same 778 reserved calibration questions before scoring tests.
100
+
101
+ | Held-out measure | Q8_0 | BF16 |
102
+ |---|---:|---:|
103
+ | Ordinary accuracy, 759 questions | 74.52% | 75.01% |
104
+ | Longer-question accuracy, 132 questions | 53.03% | 53.03% |
105
+ | Ordinary proper loss, calibrated | **0.4339** | 0.4386 |
106
+ | Longer-question proper loss, calibrated | **0.9485** | 0.9582 |
107
+ | Fitted temperature | 1.257417 | 1.333155 |
108
+ | Ordinary HTTP latency, median | **38.3 ms** | 41.4 ms |
109
+ | Longer-question HTTP latency, median | **597 ms** | 761 ms |
110
+ | GPU memory observed while serving | **8,769 MiB** | 15,346 MiB |
111
+
112
+ The 699 ordinary labeled questions had six BF16-only correct answers and four
113
+ Q8-only correct answers. The 132 longer labeled questions had four wins for
114
+ each format. These small differences do not establish BF16 as more accurate.
115
+ BF16's calibrated probability loss was slightly worse on both splits. The HTTP
116
+ latencies were collected in separate sequential runs, so they are indicative
117
+ for this profile rather than an isolated kernel-speed comparison. BF16 leaves
118
+ less than 1 GiB of measured VRAM headroom on the 16 GB card at 8K; Q8 remains
119
+ the recommended 5070 Ti format. BF16 was not evaluated on the public suites,
120
+ with an image projector, or at a populated 64K context.
docs/QUICKSTART.md CHANGED
@@ -1,6 +1,7 @@
1
  # Run Winnow-E4B Q8
2
 
3
- This private repository currently contains a **text-only** Q8 GGUF. The
 
4
  measured RTX 5070 Ti profile uses 8,192 context positions, Q8 KV cache and four
5
  decision branches. [Winnow's inference server](https://github.com/EldanRing/winnow-inference)
6
  provides the typed `/v1/systemone` API and regular chat.
@@ -26,7 +27,7 @@ Authenticate with Hugging Face while this model repository is private. From the
26
  hf download EldanRing/Winnow-E4B \
27
  gguf/Winnow-E4B-Q8_0.gguf SHA256SUMS \
28
  --local-dir models/Winnow-E4B
29
- (cd models/Winnow-E4B && sha256sum --check SHA256SUMS)
30
  ```
31
 
32
  The 8.01 GB model file is self-contained for text use; it needs no separate
@@ -75,3 +76,9 @@ set. Omit it to use raw candidate probabilities. For more request types and chat
75
  see the [API documentation](https://github.com/EldanRing/winnow-inference/blob/main/docs/API.md).
76
  Image input requires a matching projector and remains outside this release's
77
  validated E4B profile.
 
 
 
 
 
 
 
1
  # Run Winnow-E4B Q8
2
 
3
+ This private repository contains text-only-tested Q8 and BF16 GGUFs. Q8 is the
4
+ recommended format for a 16 GB GPU. The
5
  measured RTX 5070 Ti profile uses 8,192 context positions, Q8 KV cache and four
6
  decision branches. [Winnow's inference server](https://github.com/EldanRing/winnow-inference)
7
  provides the typed `/v1/systemone` API and regular chat.
 
27
  hf download EldanRing/Winnow-E4B \
28
  gguf/Winnow-E4B-Q8_0.gguf SHA256SUMS \
29
  --local-dir models/Winnow-E4B
30
+ (cd models/Winnow-E4B && sha256sum --check --ignore-missing SHA256SUMS)
31
  ```
32
 
33
  The 8.01 GB model file is self-contained for text use; it needs no separate
 
76
  see the [API documentation](https://github.com/EldanRing/winnow-inference/blob/main/docs/API.md).
77
  Image input requires a matching projector and remains outside this release's
78
  validated E4B profile.
79
+
80
+ To use BF16 on a GPU with sufficient memory, download
81
+ `gguf/Winnow-E4B-BF16.gguf` and substitute that path in the serve command.
82
+ Use `1.3331553765162731` as the decision temperature fitted for BF16, or omit
83
+ the temperature for raw probabilities. BF16 uses about 15.0 GiB on the tested
84
+ 8K text profile and has not shown a quality advantage over Q8.
gguf/Winnow-E4B-BF16.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:53c3e504c061f6a7ce84cb6240d427ac6c630850a2cf93f3c2ee980c8136e7e7
3
+ size 15053096992
release-manifest.json CHANGED
@@ -13,6 +13,11 @@
13
  "path": "gguf/Winnow-E4B-Q8_0.gguf",
14
  "bytes": 8005437472,
15
  "sha256": "840e3f50e5a9c218727f44e121d1b37cc9e2c3b318c8eb422ba6ef2e27b618a2"
 
 
 
 
 
16
  }
17
  },
18
  "decision_calibration": {
@@ -21,6 +26,12 @@
21
  "calibration_rows": 778,
22
  "scope": "text decisions; 8K-context deployment"
23
  },
 
 
 
 
 
 
24
  "measured_profile": {
25
  "gpu": "NVIDIA RTX 5070 Ti",
26
  "context": 8192,
 
13
  "path": "gguf/Winnow-E4B-Q8_0.gguf",
14
  "bytes": 8005437472,
15
  "sha256": "840e3f50e5a9c218727f44e121d1b37cc9e2c3b318c8eb422ba6ef2e27b618a2"
16
+ },
17
+ "bf16": {
18
+ "path": "gguf/Winnow-E4B-BF16.gguf",
19
+ "bytes": 15053096992,
20
+ "sha256": "53c3e504c061f6a7ce84cb6240d427ac6c630850a2cf93f3c2ee980c8136e7e7"
21
  }
22
  },
23
  "decision_calibration": {
 
26
  "calibration_rows": 778,
27
  "scope": "text decisions; 8K-context deployment"
28
  },
29
+ "bf16_decision_calibration": {
30
+ "artifact": "bf16",
31
+ "temperature": 1.3331553765162731,
32
+ "calibration_rows": 778,
33
+ "scope": "text decisions; 8K-context deployment"
34
+ },
35
  "measured_profile": {
36
  "gpu": "NVIDIA RTX 5070 Ti",
37
  "context": 8192,