ZEROLABS1 commited on
Commit
e6b76e4
·
verified ·
1 Parent(s): ff9f179

ZERO LOOP benchmarks table

Browse files
Files changed (6) hide show
  1. .gitattributes +1 -0
  2. README.md +22 -1
  3. bench_results.json +55 -0
  4. benchmarks.md +18 -0
  5. benchmarks.png +3 -0
  6. zero_logo.png +0 -0
.gitattributes CHANGED
@@ -39,3 +39,4 @@ zero-loop-Q6_K.gguf filter=lfs diff=lfs merge=lfs -text
39
  zero-loop-Q5_K_M.gguf filter=lfs diff=lfs merge=lfs -text
40
  zero-loop-Q4_K_M.gguf filter=lfs diff=lfs merge=lfs -text
41
  zero-loop-Q3_K_M.gguf filter=lfs diff=lfs merge=lfs -text
 
 
39
  zero-loop-Q5_K_M.gguf filter=lfs diff=lfs merge=lfs -text
40
  zero-loop-Q4_K_M.gguf filter=lfs diff=lfs merge=lfs -text
41
  zero-loop-Q3_K_M.gguf filter=lfs diff=lfs merge=lfs -text
42
+ benchmarks.png filter=lfs diff=lfs merge=lfs -text
README.md CHANGED
@@ -17,6 +17,8 @@ tags:
17
  - llama.cpp
18
  ---
19
 
 
 
20
  # ZERO LOOP
21
 
22
  **ZERO LOOP is a tiny foundation language model from Zero Labs, trained from scratch.**
@@ -167,7 +169,26 @@ The best checkpoint on a held-out validation set was kept, and it was published
167
  ## Evaluation
168
 
169
  <!--BENCH_START-->
170
- _The benchmark table is added by the evaluation step that runs right after this release (last cell of the notebook)._
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
171
  <!--BENCH_END-->
172
 
173
  Held-out web-text perplexity of the base model: 25.0 (cross-entropy 3.217 nats per token on this model's own vocabulary, so not comparable across tokenizers). We recommend evaluating on your own task before relying on it.
 
17
  - llama.cpp
18
  ---
19
 
20
+ <p align="center"><img src="zero_logo.png" width="380" alt="ZERO LOOP"></p>
21
+
22
  # ZERO LOOP
23
 
24
  **ZERO LOOP is a tiny foundation language model from Zero Labs, trained from scratch.**
 
169
  ## Evaluation
170
 
171
  <!--BENCH_START-->
172
+ | | ZERO LOOP | ZERO LOOP Q4_K_M | SmolLM2-135M-Instruct | SmolLM-135M-Instruct |
173
+ |---|---|---|---|---|
174
+ | **Size And Speed** | | | | |
175
+ | Parameters | **19.9M** | **19.9M** | 134.5M | 134.5M |
176
+ | Download size | 40 MB | **14 MB** | 269 MB | 269 MB |
177
+ | CPU speed (tokens/s, 4 threads) | **40** | 464 | 18 | 18 |
178
+ | **Tool Use** | | | | |
179
+ | ZL-Calc: calculator tool | 0 | 0 | **6** | 0 |
180
+ | ZL-Calc-Noisy: typos, lower-case, × | **0** | **0** | **0** | **0** |
181
+ | ZL-Word: GSM8K problems + calculator | 0 | **3** | 1 | 0 |
182
+ | ZL-Search: TriviaQA + Wikipedia tool | 3 | 5 | 16 | **20** |
183
+ | Valid tool call on the first try | 0 | 0 | **16** | 4 |
184
+ | **Assistant Behaviour** | | | | |
185
+ | ZL-Identity: name and creator | **92** | 85 | 46 | 31 |
186
+
187
+ ![ZERO LOOP benchmarks](benchmarks.png)
188
+
189
+ ZERO LOOP is ahead of every 134M-class baseline on 1 of 6 benchmarks and tied on 1.
190
+
191
+ <sub>Same machine, greedy decoding and the same tool protocol for every model. The baselines were not trained on the protocol, so they get it in the system prompt plus two worked examples; ZERO LOOP uses its built-in prompt. Identity: baselines are told their name and creator in the system prompt. ZL-Calc / ZL-Calc-Noisy: 100 arithmetic questions with unseen numbers (the noisy set is lower-cased, with a typo and a multiplication sign). ZL-Word: 100 GSM8K test word problems, the model may call the calculator. ZL-Search: 100 TriviaQA validation questions, live Wikipedia search, correct if the final answer contains a gold alias. Valid tool call: the first reply to an arithmetic question is a parseable call. These are our own small tests of the skills ZERO LOOP is built for (100 questions each: differences under ~10 points are noise). They say nothing about general ability: on MMLU, HellaSwag or ARC the larger models trained on far more data score higher. The Q4_K_M column runs the shipped GGUF in llama.cpp; its speed comes from llama.cpp, the other columns from Transformers fp32, so speed is shown for it but not compared.</sub>
192
  <!--BENCH_END-->
193
 
194
  Held-out web-text perplexity of the base model: 25.0 (cross-entropy 3.217 nats per token on this model's own vocabulary, so not comparable across tokenizers). We recommend evaluating on your own task before relying on it.
bench_results.json ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "fingerprint": "bef531c0036c80f8efb5f24d6cbf4f3f0b6a343a8f10db36095c61c98070d2d2",
3
+ "meta": {
4
+ "fingerprint": "bef531c0036c80f8efb5f24d6cbf4f3f0b6a343a8f10db36095c61c98070d2d2",
5
+ "runtime": "version: 0.5.0-dev (build 11382, commit 11fe02151)",
6
+ "date": "2026-10-04",
7
+ "n_per_benchmark": 100
8
+ },
9
+ "results": {
10
+ "ZERO LOOP": {
11
+ "params": 19.93344,
12
+ "size": 39.86688,
13
+ "calc": 0.0,
14
+ "noisy": 0.0,
15
+ "word": 0.0,
16
+ "search": 3.0,
17
+ "format": 0.0,
18
+ "ident": 92.3076923076923,
19
+ "tps": 40.341010237508634
20
+ },
21
+ "ZERO LOOP Q4_K_M": {
22
+ "params": 19.93344,
23
+ "size": 13.527904,
24
+ "tps": 463.86628870154254,
25
+ "calc": 0.0,
26
+ "noisy": 0.0,
27
+ "word": 3.0,
28
+ "search": 5.0,
29
+ "format": 0.0,
30
+ "ident": 84.61538461538461
31
+ },
32
+ "SmolLM2-135M-Instruct": {
33
+ "params": 134.515008,
34
+ "size": 269.030016,
35
+ "calc": 6.0,
36
+ "noisy": 0.0,
37
+ "word": 1.0,
38
+ "search": 16.0,
39
+ "format": 16.0,
40
+ "ident": 46.15384615384615,
41
+ "tps": 17.846736330218345
42
+ },
43
+ "SmolLM-135M-Instruct": {
44
+ "params": 134.515008,
45
+ "size": 269.030016,
46
+ "calc": 0.0,
47
+ "noisy": 0.0,
48
+ "word": 0.0,
49
+ "search": 20.0,
50
+ "format": 4.0,
51
+ "ident": 30.76923076923077,
52
+ "tps": 17.60086497742974
53
+ }
54
+ }
55
+ }
benchmarks.md ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ | | ZERO LOOP | ZERO LOOP Q4_K_M | SmolLM2-135M-Instruct | SmolLM-135M-Instruct |
2
+ |---|---|---|---|---|
3
+ | **Size And Speed** | | | | |
4
+ | Parameters | **19.9M** | **19.9M** | 134.5M | 134.5M |
5
+ | Download size | 40 MB | **14 MB** | 269 MB | 269 MB |
6
+ | CPU speed (tokens/s, 4 threads) | **40** | 464 | 18 | 18 |
7
+ | **Tool Use** | | | | |
8
+ | ZL-Calc: calculator tool | 0 | 0 | **6** | 0 |
9
+ | ZL-Calc-Noisy: typos, lower-case, × | **0** | **0** | **0** | **0** |
10
+ | ZL-Word: GSM8K problems + calculator | 0 | **3** | 1 | 0 |
11
+ | ZL-Search: TriviaQA + Wikipedia tool | 3 | 5 | 16 | **20** |
12
+ | Valid tool call on the first try | 0 | 0 | **16** | 4 |
13
+ | **Assistant Behaviour** | | | | |
14
+ | ZL-Identity: name and creator | **92** | 85 | 46 | 31 |
15
+
16
+ ZERO LOOP is ahead of every 134M-class baseline on 1 of 6 benchmarks and tied on 1.
17
+
18
+ <sub>Same machine, greedy decoding and the same tool protocol for every model. The baselines were not trained on the protocol, so they get it in the system prompt plus two worked examples; ZERO LOOP uses its built-in prompt. Identity: baselines are told their name and creator in the system prompt. ZL-Calc / ZL-Calc-Noisy: 100 arithmetic questions with unseen numbers (the noisy set is lower-cased, with a typo and a multiplication sign). ZL-Word: 100 GSM8K test word problems, the model may call the calculator. ZL-Search: 100 TriviaQA validation questions, live Wikipedia search, correct if the final answer contains a gold alias. Valid tool call: the first reply to an arithmetic question is a parseable call. These are our own small tests of the skills ZERO LOOP is built for (100 questions each: differences under ~10 points are noise). They say nothing about general ability: on MMLU, HellaSwag or ARC the larger models trained on far more data score higher. The Q4_K_M column runs the shipped GGUF in llama.cpp; its speed comes from llama.cpp, the other columns from Transformers fp32, so speed is shown for it but not compared.</sub>
benchmarks.png ADDED

Git LFS Details

  • SHA256: a6b0e448e5cba542749cf10460664e985bb3e36e252b3bc451657562257c44f9
  • Pointer size: 131 Bytes
  • Size of remote file: 358 kB
zero_logo.png ADDED