Technical report · October 2026
Flare-1 couples a Qwen3.5-derived gated DeltaNet/GQA hybrid backbone (“Starlight”) with a second, smaller transformer trunk (“Fiber”) that shares the backbone’s embedding table and reads its hidden states through a learned bridge. AgentRegisters add persistent memory slots whose state survives across inference calls; DeltaMemory layers give the Fiber trunk delta-rule associative memory. A linear router head gates a retrieval-and-tool pipeline, and Era provides lossless state snapshots, rollback, and prefix checkpoints for speculative decoding. Each tier ships as one 8-bit safetensors artifact runnable on a 16 GB Mac Mini. We report measured results — including a 1M-parameter controlled experiment whose outcome is negative — rather than claim unproven superiority.
Small open models are fluent but unreliable: stale knowledge, hallucinated facts, no tools. The premise of Flare-1 is that much of this unreliability is systemic, not parametric — a small model wrapped in correct routing, retrieval, and verification can answer grounded questions far above its raw weight class, while remaining cheap enough to run on a laptop.
Flare-1 merges two prior North ML lines: Starlight, a Qwen3.5-style hybrid backbone (gated DeltaNet linear attention plus periodic full GQA attention), distilled and light-pruned from a larger teacher; and Fiber, a 158M-parameter trunk originally built as a router/draft model and extended with delta-rule associative memory. The goal: keep the backbone’s trained behavior intact — all additions are zero-init or side-path — while adding persistence, associative recall, and decision-making as separable, measurable components.
24 layers in a repeating 3× linear-attention + 1× full-attention pattern (interval 4); GQA with 8 query and 2 KV heads, head dimension 256; vocabulary 65,536.
| Ink-1 | Fiber-1 / Pro | |
|---|---|---|
| Hidden size | 1024 | 2048 |
| MLP intermediate | 3584 | scaled SwiGLU |
| Backbone parameters | 565,222,208 | 1,413,111,616 |
Linear layers are gated DeltaNet blocks keeping a per-head recurrent state updated by the delta rule with a learned per-step gate:
After each full-attention layer, register slots update recurrently and persist across inference calls — a session-level memory that survives generation boundaries, snapshots, and rollbacks. Their output projection is zero-initialized, so registers are invisible to the backbone until trained. Cost: 295,008 parameters (Ink-1) / 589,920 (Fiber-1).
A complete 24-layer transformer (hidden 768, 12 heads, 158,143,524 params) sharing the backbone’s embedding table. Three layers are DeltaMemory — delta-rule associative memory maintaining an S[H,D,D] matrix state for key→value association. Fiber serves three roles: router input, draft model for speculative decoding against Starlight verification, and persistent associative memory.
A learned linear bridge (1,572,864 params on Ink-1; 3,145,728 on Fiber-1) projects Starlight hidden states into Fiber’s width. A 1,538-parameter linear probe over the pooled representation emits psearch and pthink gating retrieval. The router is deliberately simple — contextual rewriting upstream turns follow-ups into standalone questions, and raw-message overrides keep small talk from ever triggering search.
Era snapshots and restores the complete runtime state — KV cache, DeltaNet recurrent states, AgentRegister memory, DeltaMemory matrices, and Fiber state — enabling rollback to any prior checkpoint, prefix checkpoints (disabled by default pending parity verification), and exact rollback for speculative decoding.
Each tier is one model.safetensors (~755 MB / ~1.76 GB) containing all 1,368 tensors plus JSON metadata: backbone and trunk configs, router thresholds, search config, generation defaults, prompt templates, chat template, and tokenizer. Weight matrices use block-quantized 8-bit storage ([64,8] scheme, packed as U32); support tensors remain BF16/F32. GGUF container builds carry identical tensors (not llama.cpp-compatible).
At inference, the Kestrel runtime executes: last user message → contextual rewrite (history-aware standalone question) → raw-message chat overrides → router → tools (weather, geocoding, time, math, Python execution) → retrieval (model-written query → Wikipedia + live web → BM25 + embedding-similarity rerank with recency and disambiguation weighting) → grounded generation with citations → optional verification pass (Pro) → streamed pipeline stages to the client (routing, searching, reading, thinking, writing, verifying).
| Benchmark | Ink-1 (725M) | Fiber-1 (1.63B) |
|---|---|---|
| ARC-Challenge (1165q) | 63.6% | 73.5% |
| MMLU (280q subset) | 39.3% | 48.9% |
| HumanEval (164) | 18.3% | 37.2% |
| GSM8K (300q) | 40.3% | unstable † |
| Baseline runtime | Candidate runtime | |
|---|---|---|
| Ink-1 | 15/20 | 17/20 |
| Fiber-1 | 14/20 | 17/20 |
| Fiber-1 Pro | 15/20 | 19/20 |
| Metric | Flare-1M (965,908) | GPT baseline (981,312) |
|---|---|---|
| Held-out CE | 0.0004 | 0.0003 |
| Passkey @ depth .1/.5/.9 | 0 / .083 / .083 | 0 / 0 / .083 |
| Associative recall | .146 | .104 |
| Train time | 576 s | 36 s |
Weights: Ink-1, Fiber, Fiber-pro (safetensors); GGUF container builds (Ink-1-GGUF, Fiber-1-GGUF, Fiber-1-Pro-GGUF); Flare-Preview carries the architecture card plus the 1M proof-of-concept code and results. Runtime: Kestrel (MLX). All artifacts Apache-2.0.