Lattice Spark 1.5B
A fine-tune of Qwen2.5-1.5B-Instruct with genuine Lattice identity ownership. Trained with MLX LoRA on Apple Silicon (Mac M4), fused into a standalone model.
What makes this different
Unlike a system prompt only rebrand, Spark genuinely knows it's Lattice Spark. The identity was baked into the weights via SFT — it says "Lattice Systems" with no system prompt (the base model says "Alibaba" / "Anthropic" when asked who made it).
Benchmark: Spark vs base (no system prompt)
| Category | Base Qwen 1.5B | Spark 1.5B | Delta |
|---|---|---|---|
| Identity (/8) | 0 | 7 | +7 |
| Factual (/8) | 8 | 7 | -1 |
| Total (/16) | 8 | 14 | +6 |
Identity improved dramatically without breaking knowledge — the 1.5B base is big enough to absorb identity training without forgetting what it knows.
Training details
- Base:
mlx-community/Qwen2.5-1.5B-Instruct-4bit(dequantized for release) - Method: MLX LoRA (rank 8, alpha 16, dropout 0.05)
- Data: 27 Lattice identity examples (3× weight) + 30 general Q&A = 111 total
- Training: 50 iterations, LR 5e-5, ~35 seconds on M4
- Trained parameters: 0.34% (5.3M / 1.54B)
- Hardware: MacBook Air M4, 32GB
Usage
from mlx_lm import load, generate
model, tokenizer = load("oli-mebberson/lattice-spark-1.5b")
response = generate(model, tokenizer, prompt="Who are you?", max_tokens=80)
print(response)
Honest limitations
- Small model (1.5B) — fluent but not deeply knowledgeable
- Trained on 111 examples — identity is solid, general knowledge comes from the base model
- No multi-turn optimisation
- Occasionally generates trailing artifacts on some prompts
License
Apache 2.0. Base model (Qwen2.5-1.5B-Instruct) retains its own license.
Part of the Lattice Systems product line.