Instructions to use EldanRing/Winnow-E4B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use EldanRing/Winnow-E4B with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf EldanRing/Winnow-E4B:BF16 # Run inference directly in the terminal: llama cli -hf EldanRing/Winnow-E4B:BF16
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf EldanRing/Winnow-E4B:BF16 # Run inference directly in the terminal: llama cli -hf EldanRing/Winnow-E4B:BF16
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf EldanRing/Winnow-E4B:BF16 # Run inference directly in the terminal: ./llama-cli -hf EldanRing/Winnow-E4B:BF16
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf EldanRing/Winnow-E4B:BF16 # Run inference directly in the terminal: ./build/bin/llama-cli -hf EldanRing/Winnow-E4B:BF16
Use Docker
docker model run hf.co/EldanRing/Winnow-E4B:BF16
- LM Studio
- Jan
- vLLM
How to use EldanRing/Winnow-E4B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "EldanRing/Winnow-E4B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "EldanRing/Winnow-E4B", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/EldanRing/Winnow-E4B:BF16
- Ollama
How to use EldanRing/Winnow-E4B with Ollama:
ollama run hf.co/EldanRing/Winnow-E4B:BF16
- Unsloth Desktop
- Docker Model Runner
How to use EldanRing/Winnow-E4B with Docker Model Runner:
docker model run hf.co/EldanRing/Winnow-E4B:BF16
- Lemonade
How to use EldanRing/Winnow-E4B with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull EldanRing/Winnow-E4B:BF16
Run and chat with the model
lemonade run user.Winnow-E4B-BF16
List all available models
lemonade list
- Atomic Chat
Add evaluated step-438 BF16 GGUF
Browse files- .gitattributes +1 -0
- README.md +18 -7
- SHA256SUMS +1 -0
- docs/BENCHMARKS.md +33 -3
- docs/QUICKSTART.md +9 -2
- gguf/Winnow-E4B-BF16.gguf +3 -0
- release-manifest.json +11 -0
.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.
|
| 44 |
-
|
| 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
|
| 95 |
-
pinned llama.cpp converter.
|
| 96 |
-
before
|
| 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 |
-
|
|
|
|
|
|
|
| 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
|
| 2 |
|
| 3 |
-
The
|
| 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
|
|
|
|
| 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,
|