kev vs MLX-LoRA-Studio
Open reproduction of TypeSafe's Jev: a LoRA + readout head on Qwen that answers many typed questions about one document in a single prefill pass, returning calibrated probabilities. — versus — Native Mac app for on-device LLM fine-tuning via mlx-lm-lora: pick a model, choose SFT/LoRA/DPO-family algorithms, watch loss fall live, push to Hugging Face. No cloud, no code.
Both get a LoRA trained on your own Mac; mlx-lora-studio is the general GUI over any model and SFT/DPO recipe, kev is one opinionated decision-model recipe (~1h45m for 0.5B on an M5) that ships its own server and eval suites.
| kev | MLX-LoRA-Studio | |
|---|---|---|
| Stars | 492 | 267 |
| Forks | 30 | 28 |
| Language | Python | Swift |
| License | Apache-2.0 | MIT |
| Last activity | today | 24 days ago |
| Topics | training, local | training, local |
| Curated connections | 8 | 5 |
kev — the curator's take
Reach for kev when the task is decisions, not prose: route this ticket, score this risk, answer 30 yes/no questions about one document — and you want a number you can threshold on rather than text you have to parse. The head is trained with cross-entropy on labelled outcomes, so the probabilities mean something (kev-8b: Brier 0.34, 8% confident errors out of domain), and a block-causal mask keeps questions from seeing each other, verified to 4e-6 against separate requests. It speaks TypeSafe's System One API, so their SDK works against localhost with a base_url change. Not a general chat or agent model - it never decodes, and it only answers the question types you define (noul/choice/score). Don't use it zero-shot on your own domain either: the value is in training the head on your labels, and the three 0.6B/4B/8B checkpoints are explicitly previews that failed the author's own release screen on held-out rule reasoning. Real Jev still wins out of domain (0.86 vs 0.77) - kev's pitch is that it runs on your laptop and you own the weights.
MLX-LoRA-Studio — the curator's take
The shortest path from base model to tuned adapter on a Mac: no Python env, no GPU rental — a native SwiftUI app driving mlx-lm-lora, with an algorithm menu unusually deep for a GUI (SFT through DPO-family preference methods, FTPO, Dynamic Fine-Tuning, memory-bounded Chunked NLL), live loss curves and direct HF upload. NOT for serious scale: your ceiling is unified memory on one machine — multi-GPU and large post-training runs belong in LLaMA-Factory/TRL territory. Young single-maintainer project (~250 stars) with a quarantine-xattr dance on first launch; Apple Silicon only, by design.