What uli is
uli fine-tunes a small model on your own labelled data, inside a running inference engine on a Mac. It trains a LoRA adapter on the base model the engine already holds in memory, using the idle time between requests, and then serves that adapter from the same machine.
What it unlocks
- A model that knows your labels. On a 77-intent banking task, the trained adapter answered 90 of 100 held-out questions from the question alone. The same base model, given every label, answered 69.
- Work for smaller Macs. The whole loop, from training to serving, runs on a 16 GB M1 Pro.
- Training that stays out of the way. In the serving test, training added at most 0.134 s to a waiting request (p99, at 0.2 requests per second).
- A job that survives a crash. Killed mid-job, it resumed from its last checkpoint and finished with an identical adapter. The training data is deleted from the Mac when the job ends.
Work beyond inference
Serving a generic model is a race on price and speed, and large data centers win it. A model trained on one customer's labels is a different kind of work. Its value comes from that customer's data, not from scale, so it suits a Mac that already holds the base model and has time to spare.
Built on Darkbloom's engine
uli runs inside EngineV2, the open-source inference engine for Apple Silicon that Darkbloom runs on its providers' Macs, published under the MIT license in Layr-Labs/mlx-swift-lm. uli adds an idle hook and the training loop. It is an independent research project, not an official Darkbloom product, and it uses no code from Darkbloom's provider app.
The private alpha
The first cohort is free and starts with the Darkbloom community. Testers train a model on their own data and use it, on a Mac uli runs. Getting started shows every step, and how your data is handled says what is stored and when it is deleted. Sign up here; sign-ups close 20 November.
Where it stands
An ongoing research project, measured so far on one Mac and one base model, Qwen3.5-9B in 4-bit. The paper gives every number with its source and its limits.
Read the paper