--- base_model: LiquidAI/LFM2.5-1.2B-Instruct base_model_relation: adapter library_name: mlx license: other license_name: lfm1.0 license_link: https://huggingface.co/LiquidAI/LFM2.5-1.2B-Instruct/blob/main/LICENSE language: - en pipeline_tag: text-generation tags: - system-one - lora - mlx - jev - peft - text-generation --- # jevons-lfm25-1.2b-systemone Seed **LoRA** for [jevons](https://github.com/gopalanj/jevons): a local System One server that scores allowed outcomes from logits and assembles `{choice, probabilities, confidence, noul, score, legend}` in code. **This is not official Jev.** Official Jev cannot be cloned. These weights only bias LFM2.5 toward the same option-key / yes-no / score-digit tokens jevons reads at serve time. ## Base model | Role | Hub id | | --- | --- | | Official checkpoint | [`LiquidAI/LFM2.5-1.2B-Instruct`](https://huggingface.co/LiquidAI/LFM2.5-1.2B-Instruct) | | Trained and served 8-bit MLX | [`mlx-community/LFM2.5-1.2B-Instruct-8bit`](https://huggingface.co/mlx-community/LFM2.5-1.2B-Instruct-8bit) | QLoRA on the MLX 8-bit checkpoint (rank 16, scale 2.0, 16 layers, attn q/k/v/o + MLP w1/w2/w3). Prompt tokens were masked. Completions are teacher-forced aliases that match serve-time scoring: option keys, `yes`/`no`, level digits. ## Serve with jevons Install jevons from [github.com/gopalanj/jevons](https://github.com/gopalanj/jevons), then download this adapter and the 8-bit base: ```sh cd jevons uv sync --extra mlx --extra dev uv run hf download mlx-community/LFM2.5-1.2B-Instruct-8bit \ --local-dir models/LFM2.5-1.2B-Instruct-8bit uv run hf download gopalanj/jevons-lfm25-1.2b-systemone \ --local-dir adapters/lfm25-1.2b-systemone ``` Serve at **T=1** with calibration off (do not apply a leftover `calibration.json` from the base model): ```sh JEVONS_ADAPTER=adapters/lfm25-1.2b-systemone \ JEVONS_TEMPERATURE=1 \ JEVONS_CALIBRATION=off \ JEVONS_MODEL=models/LFM2.5-1.2B-Instruct-8bit \ uv run jevons serve --host 127.0.0.1 --port 8000 ``` Or: ```sh uv run jevons serve \ --adapter adapters/lfm25-1.2b-systemone \ --temperature 1 \ --calibration off ``` `POST /v1/systemone` matches the [TypeSafe HTTP contract](https://docs.typesafe.ai/api.md). The adapter autoloads from `adapters/lfm25-1.2b-systemone` when `adapters.safetensors` is present. Disable with `--adapter off`. ## Honest metrics (T=1, no calibration) Seed-only official-Jev teacher aliases (78 train items / 126 examples; frozen holdout 17 items / 29 examples). Schema validity is 100% because jevons never asks the model to write JSON. | split | run | modal | choice / noul / score | ECE | Brier | acc@≥0.8 | schema | | --- | --- | --- | --- | --- | --- | --- | --- | | full n=155 | base | 69.7% | 78.6 / 68.2 / 56.1 | 0.107 | 0.387 | 92.1% (n=63) | 100% | | full n=155 | LoRA | **83.9%** | 85.7 / 95.5 / 68.3 | 0.077 | 0.193 | 95.9% (n=97) | **100%** | | holdout n=29 | base | 72.4% | 76.9 / 87.5 / 50.0 | 0.122 | 0.390 | 100% (n=11) | 100% | | holdout n=29 | LoRA | **72.4%** | 69.2 / 75.0 / 75.0 | 0.248 | 0.303 | 100% (n=14) | **100%** | Full-set modal **83.9% includes the 78 train items**. The honest ship metric is **holdout modal 72.4%**, unchanged vs base and below a 90% bar. Holdout ECE got worse (0.122 → 0.248). This is a ranking adapter, not calibrated System One / RLCD. ## Training - Data: seed teacher aliases only (not grown templates) - Iters: 64 (2 epochs), batch 4, AdamW 5e-5, ~131s on Apple Silicon - Failed grown run is **not** these weights: repetitive `grow.py` templates + LoRA scale 20 collapsed choice (holdout modal 38%). Do not serve that run. See `hyperparams.json` / `hyperparams.md` in this repo. ## License caveat - **Adapter + LFM weights:** [LFM 1.0](https://huggingface.co/LiquidAI/LFM2.5-1.2B-Instruct/blob/main/LICENSE) (`license: other` / `lfm1.0`). Obtain and accept a license from Liquid AI before downloading or using the base model or this derivative adapter. This repo does **not** ship LFM base weights. - **jevons server code:** MIT — [github.com/gopalanj/jevons](https://github.com/gopalanj/jevons) ## Files - `adapters.safetensors` — MLX LoRA weights - `adapter_config.json` — mlx-lm LoRA config - `hyperparams.json` / `hyperparams.md` — training report and eval numbers