Downloads · 30 days
492
53% of all-time downloads
itsZyn/ZynDwarf-1.0
ZynDwarf-1.0 is a text generation model from itsZyn. Use it when you need the model to write or continue text. It is set up for transformers. The card lists the license as other.
Downloads · 30 days
492
53% of all-time downloads
All-time downloads
926
Public
Parameters
354M
3.1 GB on disk
Likes
1
Public
Click a slice to open those files.
.safetensors1.4 GB · 60%
From the Hugging Face model README
Hugging Face • Ollama • Base model
</div>Zyn Dwarf 1.0 is a compact ~354M-parameter text model adapted by Zyn Models from LiquidAI/LFM2.5-350M.
The release is aimed at practical local inference, especially on machines with limited CPU, RAM, and storage. The model was post-trained with a mixed supervised dataset covering:
The final release is available as Transformers/Safetensors, F16 GGUF, and Q4_K_M GGUF.
Important: This model is small by design. It can be surprisingly useful for its size, but it should not be treated as a substitute for larger frontier models on difficult reasoning, long-form debugging, broad factual recall, or complex multi-step tasks.
| Property | Zyn Dwarf 1.0 |
|---|---|
| Organization | Zyn Models |
| Model name | Zyn Dwarf 1.0 |
| Parameters | ~354M |
| Architecture | LFM2 / LFM2.5 family |
| Base model | LiquidAI/LFM2.5-350M |
| Main languages | Spanish, English |
| Primary strengths | Conversation, instruction following, small code tasks |
| Native weight format | Transformers / Safetensors |
| Local formats | GGUF F16, GGUF Q4_K_M |
| Q4_K_M size | 216.41 MiB |
| F16 size | 676.25 MiB |
| Q4 size reduction | ~68.0% |
| F16 → Q4 ratio | ~3.12× smaller |
| Recommended CPU context | 8192 tokens |
| GGUF context metadata | 128K (runtime recommendation remains 8192 for this release) |
| Inference engines tested | llama.cpp, Ollama packaging |
The upstream LFM2.5-350M model card describes a 350M-parameter general-purpose model, 16 layers, 65,536-token vocabulary, 32,768-token context, and support for nine languages. This project inherits its LFM2.5 lineage but focuses its post-training on a smaller practical assistant profile with an explicit Zyn identity. See the upstream card for the original architecture and licensing details: LiquidAI/LFM2.5-350M.
The objective of Zyn Dwarf 1.0 is not to win against billion-parameter models on every benchmark. The objective is to maximize useful behavior per byte and per CPU cycle.
That makes the model appropriate for:
Humanity spent decades making computers smaller, then immediately asked them to run a language model. Naturally.
config.json
generation_config.json
model.safetensors
tokenizer.json
tokenizer_config.json
chat_template.jinja
Zyn-Dwarf-1.0-general-final-f16.gguf
Zyn-Dwarf-1.0-Q4_K_M.gguf
The Q4_K_M build is the recommended local release when storage and RAM matter most. The F16 build is the higher-fidelity option when additional memory is available.
The results below were produced from actual local inference runs of the final model rather than estimated benchmark scores.
Primary benchmark backend: llama.cpp
Test environment:
420 to 0.2This is a smoke-test / capability evaluation, not an official standardized leaderboard benchmark. Results therefore should not be compared numerically with published MMLU, GSM8K, HumanEval, or other benchmark numbers unless the same benchmark harness, prompts, scoring rules, and model variants are used.
Eight representative tasks were checked against the released Q4_K_M model using local inference.
| Test | Result | Notes |
|---|---|---|
| Identity | PASS | Correctly identifies itself as Zyn Dwarf 1.0 |
| Capital of Peru | PASS | Returned Lima |
| Arithmetic | PASS | 27 × 14 + 8 = 386 in validated llama.cpp runs |
Python max() generation | PASS | Generated a correct return max(lista) implementation |
Python len() generation | PASS | Generated a correct return len(lista) implementation |
| Variable definition | PASS | Gave an acceptable programming explanation |
| Basic loop generation | PASS | Generated a correct 1–5 loop |
| Python syntax debugging | FAIL / WEAK | Correct fix diagnosis was inconsistent; the missing : was not reliably identified |
7 / 8 passed = 87.5% on this manually designed capability suite.
The release is strongest at short, well-scoped instructions and common programming primitives. The most obvious weakness discovered in testing is debugging and error diagnosis, especially when the input code is syntactically malformed.
That result is useful because it tells future training work where to spend data budget: targeted debugging examples are likely to produce more value than endlessly adding generic conversation samples.
A shared subset of four identical tasks was previously used to compare the new general-final checkpoint against the protected checkpoint that existed before the final general training stage.
| Shared task | Previous checkpoint | Zyn Dwarf 1.0 General Final |
|---|---|---|
| Identity | PASS | PASS |
| Capital of Peru | PASS | PASS |
| Arithmetic | PASS | PASS |
Python max() task | WEAKER / truncated | PASS |
| Shared subset | 3 / 4 | 4 / 4 |
This comparison is intentionally limited to the same four previously tested tasks. It is not a claim that the model is globally 33% better; small hand-built test sets cannot justify that conclusion.
The same final model is released in two useful GGUF precision levels:
| Format | Size | Relative size |
|---|---|---|
| F16 | 676.25 MiB | 100% |
| Q4_K_M | 216.41 MiB | ~32.0% |
That makes Q4_K_M roughly 3.12× smaller than the F16 artifact, while retaining the same model architecture and weights in quantized form.
Performance is highly dependent on CPU, thread count, memory bandwidth, context length, thermals, and system contention.
During earlier clean local runs on the 2-vCPU test host, the final Q4_K_M build showed approximately:
| Metric | Observed range |
|---|---|
| Prompt processing | ~115–141 tok/s |
| Generation | ~22–29 tok/s |
A later retest while the host was under heavy background load dropped as low as ~2.6 tok/s generation, demonstrating why a single instantaneous speed number would be misleading for this project.
The upstream LiquidAI card reports much higher performance on specialized CPU/SoC setups, but those numbers were measured on different hardware and should not be transplanted into this README as Zyn Dwarf performance. See the upstream model card for its own hardware results: LiquidAI/LFM2.5-350M.
cd ~/ZynDwarf-1.0
/home/ubuntu/gemma4-350m/llama.cpp/build/bin/llama-cli \
-m output/Zyn-Dwarf-1.0-general-final-Q4_K_M.gguf \
-c 8192 \
-t 2 \
-tb 2 \
--temp 0.55 \
--top-p 0.9 \
--top-k 40 \
--min-p 0.05 \
--repeat-penalty 1.05 \
--seed 42 \
-i
For the most faithful local weights, use the F16 artifact instead:
/home/ubuntu/gemma4-350m/llama.cpp/build/bin/llama-cli \
-m output/Zyn-Dwarf-1.0-general-final-f16.gguf \
-c 8192 \
-t 2 \
-tb 2 \
--temp 0.55 \
--top-p 0.9 \
--top-k 40 \
--min-p 0.05 \
--repeat-penalty 1.05 \
--seed 42 \
-i
Use the embedded conversation template through interactive/chat mode. Raw
-pprompts can bypass the intended chat formatting on some llama.cpp builds.
from transformers import AutoTokenizer, AutoModelForCausalLM
model_id = "itsZyn/ZynDwarf-1.0"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)
messages = [
{"role": "user", "content": "Escribe una función Python para obtener el mayor número de una lista."}
]
inputs = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
tokenize=True,
return_tensors="pt",
)
outputs = model.generate(inputs, max_new_tokens=96)
print(tokenizer.decode(outputs[0][inputs.shape[-1]:], skip_special_tokens=True))
For production inference, configure the device and dtype according to the hardware available.
The release was also published under:
itsZyn/ZynDwarf-1.0:latest
itsZyn/ZynDwarf-1.0:q4_k_m
itsZyn/ZynDwarf-1.0:f16
Example pull:
ollama pull itsZyn/ZynDwarf-1.0:q4_k_m
The GGUF itself is valid and was successfully imported into Ollama. During validation, however, the current Ollama Modelfile/template path did not reproduce the same conversational formatting as the validated llama.cpp path. For example, an Ollama smoke test returned an incorrect arithmetic answer (378) where the validated llama.cpp path returned 386.
Therefore:
This distinction is deliberate. A README should be a map, not an advertisement brochure written by a very optimistic intern.
The final general model was trained from the official LiquidAI/LFM2.5-350M base rather than continuing from a weaker intermediate checkpoint.
| Source | Amount |
|---|---|
HuggingFaceTB/smol-smoltalk | 1,800 |
| Spanish Tulu instruction examples | 900 |
| Code replay examples | 1,200 |
| Identity examples | 50 |
| Total | 3,921 |
| Setting | Value |
|---|---|
| LoRA rank | 4 |
| LoRA alpha | 8 |
| LoRA dropout | 0.05 |
| Target modules | q_proj, v_proj |
| Learning rate | 5e-6 |
| Epochs | 1 |
| Max sequence length | 512 |
| Batch size | 1 |
| Gradient accumulation | 8 |
| Optimizer steps | 491 |
| Warmup | 25 steps |
| Weight decay | 0.01 |
| Gradient clip | 1.0 |
| Torch threads | 2 |
The training stage completed all 491 / 491 optimizer steps and the merged final checkpoint was exported to F16 GGUF and Q4_K_M GGUF.
The project uses data from multiple sources, each with its own license and terms. The base model is LiquidAI/LFM2.5-350M, whose Hugging Face card identifies its license as lfm1.0.
Before redistributing, fine-tuning, or commercially deploying this model, review:
The repository intentionally uses Hugging Face metadata license: other plus license_name: lfm1.0 rather than claiming Apache-2.0 for the entire resulting model.
Zyn Dwarf 1.0 is a compact model and inherits the usual limitations of small language models.
Use Zyn Dwarf 1.0 for:
For difficult software debugging, long mathematical proofs, broad factual research, or demanding agentic workflows, use a larger model or pair Zyn Dwarf with external tools and verification.
The next logical improvement is targeted debugging training, not simply adding more generic chat examples.
Planned directions:
Liquid AI. LFM2.5-350M. 2026.
https://huggingface.co/LiquidAI/LFM2.5-350M
Technical report:
Liquid AI, LFM2 Technical Report, arXiv:2511.23404.
Zyn Models. Zyn Dwarf 1.0.
Hugging Face: itsZyn/ZynDwarf-1.0
Ollama: itsZyn/ZynDwarf-1.0
Zyn Dwarf 1.0 is a practical ~354M-parameter lightweight model with a strong small-task profile, especially for short code generation and instruction following.
Current evidence supports the following positioning:
| Area | Assessment |
|---|---|
| Small footprint | Excellent |
| Local CPU suitability | Strong |
| Basic programming | Strong for size |
| Spanish conversation | Good |
| Identity consistency | Good with intended chat formatting |
| Debugging | Needs improvement |
| Long complex reasoning | Limited by model scale |
| Ollama chat formatting | Experimental |
Zyn Dwarf 1.0
Created and trained by Zyn Models
Model family: Zyn Dwarf