Text Generation
GGUF
Safetensors
English
qwen3
zero-loop
zero-labs
foundation-model
small-language-model
on-device
edge
tool-use
reasoning
llama.cpp
conversational
Instructions to use ZEROLABS1/zero-loop 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 ZEROLABS1/zero-loop 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 ZEROLABS1/zero-loop:Q4_K_M # Run inference directly in the terminal: llama cli -hf ZEROLABS1/zero-loop:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf ZEROLABS1/zero-loop:Q4_K_M # Run inference directly in the terminal: llama cli -hf ZEROLABS1/zero-loop:Q4_K_M
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 ZEROLABS1/zero-loop:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf ZEROLABS1/zero-loop:Q4_K_M
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 ZEROLABS1/zero-loop:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf ZEROLABS1/zero-loop:Q4_K_M
Use Docker
docker model run hf.co/ZEROLABS1/zero-loop:Q4_K_M
- Llama new
- LM Studio
- Jan
- vLLM
How to use ZEROLABS1/zero-loop with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "ZEROLABS1/zero-loop" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "ZEROLABS1/zero-loop", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/ZEROLABS1/zero-loop:Q4_K_M
- Ollama
How to use ZEROLABS1/zero-loop with Ollama:
ollama run hf.co/ZEROLABS1/zero-loop:Q4_K_M
- Unsloth Desktop
- Docker Model Runner
How to use ZEROLABS1/zero-loop with Docker Model Runner:
docker model run hf.co/ZEROLABS1/zero-loop:Q4_K_M
- Lemonade
How to use ZEROLABS1/zero-loop with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull ZEROLABS1/zero-loop:Q4_K_M
Run and chat with the model
lemonade run user.zero-loop-Q4_K_M
List all available models
lemonade list
- Atomic Chat
Update README.md
Browse files
README.md
CHANGED
|
@@ -20,7 +20,7 @@ tags:
|
|
| 20 |
# ZERO LOOP
|
| 21 |
|
| 22 |
**ZERO LOOP is a tiny foundation language model from Zero Labs, trained from scratch.**
|
| 23 |
-
At 19.9M parameters it is built to run fully on-device: it thinks before it answers, can call a calculator and Wikipedia search, and is small enough to fine-tune on a
|
| 24 |
|
| 25 |
## Highlights
|
| 26 |
|
|
@@ -54,7 +54,7 @@ At 19.9M parameters it is built to run fully on-device: it thinks before it answ
|
|
| 54 |
|---|---|
|
| 55 |
| Developer | Zero Labs |
|
| 56 |
| Parameters | 19.9M |
|
| 57 |
-
| Architecture | Decoder-only transformer,
|
| 58 |
| Layers / hidden size / FFN size | 16 / 256 / 1024 |
|
| 59 |
| Attention heads (query / key-value) | 4 / 2, head dimension 64 |
|
| 60 |
| Vocabulary | 16,384 tokens, byte-level BPE, trimmed from the Qwen2/3 vocabulary to the tokens that matter for this model |
|
|
@@ -119,7 +119,7 @@ Available tools: `search` (argument `query`, Wikipedia) and `calculator` (argume
|
|
| 119 |
|
| 120 |
## Fine-tuning
|
| 121 |
|
| 122 |
-
ZERO LOOP is small enough for full fine-tuning (no LoRA needed) on a single consumer GPU
|
| 123 |
|
| 124 |
```python
|
| 125 |
from datasets import Dataset
|
|
@@ -150,7 +150,7 @@ To make your own GGUF, use llama.cpp `convert_hf_to_gguf.py`. The tokenizer uses
|
|
| 150 |
|
| 151 |
## Training
|
| 152 |
|
| 153 |
-
**Tokenizer.** A byte-level BPE
|
| 154 |
|
| 155 |
**Pretraining (from random initialisation).** Next-token prediction on educational web text and synthetic textbook-style text (FineWeb-Edu and Cosmopedia from the SmolLM corpus), in several phases with cosine learning-rate schedules. Part of pretraining also used logit distillation from Qwen/Qwen3-1.7B-Base (soft targets restricted to this model's vocabulary). A final continued-pretraining phase mixes in conversational, reasoning and tool-call text so the base already knows the format. The checkpoint was only kept if held-out validation loss did not get worse.
|
| 156 |
|
|
@@ -163,7 +163,6 @@ To make your own GGUF, use llama.cpp `convert_hf_to_gguf.py`. The tokenizer uses
|
|
| 163 |
|
| 164 |
The best checkpoint on a held-out validation set was kept, and it was published only if it beat the previous release on that set.
|
| 165 |
|
| 166 |
-
**Compute.** Trained on free-tier Kaggle GPUs (2x T4) over several sessions.
|
| 167 |
|
| 168 |
## Evaluation
|
| 169 |
|
|
|
|
| 20 |
# ZERO LOOP
|
| 21 |
|
| 22 |
**ZERO LOOP is a tiny foundation language model from Zero Labs, trained from scratch.**
|
| 23 |
+
At 19.9M parameters it is built to run fully on-device: it thinks before it answers, can call a calculator and Wikipedia search, and is small enough to fine-tune on a CPU
|
| 24 |
|
| 25 |
## Highlights
|
| 26 |
|
|
|
|
| 54 |
|---|---|
|
| 55 |
| Developer | Zero Labs |
|
| 56 |
| Parameters | 19.9M |
|
| 57 |
+
| Architecture | Decoder-only transformer,Architecture in Transformers (grouped-query attention, RoPE, RMSNorm, SwiGLU, QK-norm, tied embeddings) |
|
| 58 |
| Layers / hidden size / FFN size | 16 / 256 / 1024 |
|
| 59 |
| Attention heads (query / key-value) | 4 / 2, head dimension 64 |
|
| 60 |
| Vocabulary | 16,384 tokens, byte-level BPE, trimmed from the Qwen2/3 vocabulary to the tokens that matter for this model |
|
|
|
|
| 119 |
|
| 120 |
## Fine-tuning
|
| 121 |
|
| 122 |
+
ZERO LOOP is small enough for full fine-tuning (no LoRA needed) on a single consumer GPU Start from `base/` for new domains or languages, or from the chat weights to adapt behaviour.
|
| 123 |
|
| 124 |
```python
|
| 125 |
from datasets import Dataset
|
|
|
|
| 150 |
|
| 151 |
## Training
|
| 152 |
|
| 153 |
+
**Tokenizer.** A byte-level BPE vocabulary to the 16,384 tokens most used in the training text, plus chat and tool markers.
|
| 154 |
|
| 155 |
**Pretraining (from random initialisation).** Next-token prediction on educational web text and synthetic textbook-style text (FineWeb-Edu and Cosmopedia from the SmolLM corpus), in several phases with cosine learning-rate schedules. Part of pretraining also used logit distillation from Qwen/Qwen3-1.7B-Base (soft targets restricted to this model's vocabulary). A final continued-pretraining phase mixes in conversational, reasoning and tool-call text so the base already knows the format. The checkpoint was only kept if held-out validation loss did not get worse.
|
| 156 |
|
|
|
|
| 163 |
|
| 164 |
The best checkpoint on a held-out validation set was kept, and it was published only if it beat the previous release on that set.
|
| 165 |
|
|
|
|
| 166 |
|
| 167 |
## Evaluation
|
| 168 |
|