English | ็ฎ€ไฝ“ไธญๆ–‡

Qev-450M-MLX โ€” LFM2.5-VL decision checkpoint for Apple Silicon

This repository publishes Qev v0.4.0's default model: the unchanged LiquidAI/LFM2.5-VL-450M foundation in backbone/, a switchable decision LoRA (decision_adapters.safetensors) and a candidate pointer head (pointer.safetensors) trained by the Qev project. Decision inference enables the LoRA; native text/image generation disables it and uses the unmodified foundation.

Qev scores supplied answer options through a Jev / TypeSafe-style API (POST /v1/systemone) with real probabilities, not generated JSON text. Compared with the earlier Qwen3.5-0.8B checkpoint (twainsk/qev-0.8b-mlx), this model is 3.4ร— smaller, answers Snake decisions 2.1ร— faster and generates chat text about 2ร— faster on the same Mac, at a measured cost of โˆ’2.8 points on the general text subset. The text-only companion is twainsk/qev-230m-mlx.

Use the Qev runtime. A generic Transformers pipeline or mlx_lm.generate does not load the pointer head and switchable adapters.

Quickstart on Apple Silicon

brew tap loadchange/qev https://github.com/loadchange/qev
brew install loadchange/qev/qev
qev pull                 # downloads and verifies this repository (~1.0 GB) into ~/.qev
qev decide "Card declined twice at checkout" -i "Which team should handle this?" \
  --choice "billing=Invoices and refunds" "technical=Bugs and outages" sales
qev decide --image receipt.jpg -i "Is this a restaurant receipt?" --noul
qev serve                # POST /v1/systemone, /v1/chat/completions, web lab at /

From a source checkout: uv sync --python 3.12 --extra mlx, then uv run hf download twainsk/qev-450m-mlx --local-dir models/qev-450m-mlx and pass --model models/qev-450m-mlx. Requirements: Apple Silicon, macOS 14+, Python 3.12+. Validated with MLX 0.32.2 and mlx-vlm 0.7.1; images use mlx-vlm's numpy LFM2-VL processor, so no PyTorch is needed.

Contents

  • qev_config.json โ€” Qev format version 3, family: lfm2, runtime: mlx, modalities ["text", "image"].
  • decision_adapters.safetensors โ€” LoRA (rank 64, alpha 128) over q/k/v/out_proj, in_proj and the MLP w1/w2/w3 of all language layers, kept separate from the foundation.
  • pointer.safetensors โ€” the 256-dim candidate scorer.
  • backbone/ โ€” LiquidAI/LFM2.5-VL-450M at revision fc6221caโ€ฆ34ba, byte-identical to upstream (bfloat16 safetensors, tokenizer, processor, chat template, license).
  • reports/ โ€” evaluation, provenance and MLX-parity summaries; release_manifest.json lists sizes and SHA-256 digests.

Training

Supervised imitation on the Qev decision suite: 17,892 / 1,120 / 1,380 training / calibration / development questions (12,000 Snake plus 5,892 general training rows; English plus four bilingual synthetic rule families). One NVIDIA A100 40 GB, 4 epochs, batch 8 ร— accumulation 2 (4,476 updates, ~18 min), learning rate 1e-4 cosine, BF16 autocast with FP32 master weights. Foundation parameters stayed frozen; 24.5 M parameters (LoRA + pointer) were trained. Temperature 4.59479341998814 was fitted on the held-out calibration split. A 6-epoch / lr 2e-4 variant scored far worse (59.1% general) and was rejected.

Evaluation

Development set (1,380 questions), PyTorch reference; MLX matches within 2 argmax flips (below).

Subset Accuracy
All 86.1%
Snake (500) 98.8%
General text (880) 78.9%
Chinese (50) 94.0%

Closed-loop Snake, 20 seeded games: mean 41.4 food, 0 collisions. Reversed-option probe: 85.1% (โˆ’1.0 pt), 7.2% of choices flip. Paired against the Qwen3.5-0.8B checkpoint on identical questions: general โˆ’2.8 pt (McNemar p=0.024), Snake parity (p=0.63); against the previous LFM2.5-VL recipe: general +3.2 pt (p=0.013).

Image decisions are zero-shot transfer from text-only decision training: on 500 A-OKVQA validation questions the decision head answered 69.4% with the image (37.2% without; chance 25%), the same as the Qwen3.5 checkpoint's 69.4%. Text calibration is not applied to image questions (temperature 1.0).

MLX vs PyTorch parity on all 1,380 development questions: adapter mode 2 argmax flips, max probability difference 0.051; bf16 2 flips, 0.038; net accuracy unchanged. Apple M4 16 GB: Snake decision p50 98 ms (adapter) / 71 ms (bf16, the Homebrew service default), peak MLX memory โ‰ค1.9 GiB, native chat โ‰ˆ100 tokens/s in bf16.

Limitations

  • The decision adapter was trained on text only; image decisions are measured zero-shot (69.4% A-OKVQA), and image probabilities are uncalibrated. Video input is accepted as ordered frames but was not evaluated for decisions.
  • Chinese training coverage is four synthetic rule families; the 50-question Chinese subset is small.
  • Option-order sensitivity (7.2% flips) is higher than the Qwen3.5 checkpoint (3.6%).
  • API compatibility does not imply matching Jev's model quality or confidence values.

License

The backbone and this Derivative Work are distributed under the LFM Open License v1.0 (LICENSE): commercial use by a Legal Entity with annual revenue of USD 10 million or more is not licensed. The decision adapter and pointer head are new files; the foundation weights were not modified (NOTICE).

Downloads last month

-

Downloads are not tracked for this model. How to track
MLX
Hardware compatibility
Log In to add your hardware

Quantized

Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for twainsk/qev-450m-mlx

Adapter
(23)
this model