MOSS-Image-SFT Turbo for Apple Silicon (MLX)
A few-step sampler for OpenMOSS-Team/MOSS-Image-SFT on Macs: 15 network passes instead of 100, about 2 minutes per ~1 MP image on an M4 Pro instead of about 12½. It stays close to what the full model draws for the same seed, including its textures and lettering. Runs with moss-image-mlx --turbo.
This repository holds the trained student: a rank-64 LoRA on the SFT transformer (252 projections, fp32, 595 MB).

Held-out prompts never used in training, seed 101. Most compositions stay close to the full model's; some drift (middle).
Quickstart
pip install moss-image-mlx
moss-mlx "A highway LED sign at sunset that reads \"HELLO MLX\"" --turbo -o sign.png
The first run downloads an 8-bit MOSS-Image tier, this student and the destripe adapter, and caches them.
How it works
- Student, 6 steps, no CFG. It covers the first half of the original model's own 50-step trajectory (σ 1 → .671). It was trained by regression onto that trajectory, with no distribution matching:
- teacher data from about 2,000 prompts at ~1 MP in 9 aspect ratios (English and Chinese text, JSON layouts, people, products, places, materials);
- targets relabelled from the teacher's own continuation of the student's states.
- One guided original-model step replaces the student's second step (σ .957 → .919). That is where lettering is decided.
- The original model finishes with 4 DPM-Solver++(2M) evaluations (σ .671 → 0).
- Destripe throughout: nynxz's destripe LoRA at 1.5. The teacher data was destriped too.
Passes: 5 student + 2 guided + 8 finish = 15.
Evaluation
The comparison is against the destriped 50-step model (CFG 3, layer-22 skip) on 32 held-out prompts, seed 101:
| This turbo | Earlier distilled turbo (DMD adapter) | |
|---|---|---|
| Repeated "stamped" texture (DINOv2 recurrence, excess over the full model) | −0.006 (none) | +0.063 |
| Fine detail (high-frequency energy vs the full model) | −0.004 | −0.022 |
| Mean pixel difference from the full model | 0.090 | 0.124 |
| Brightness difference | +0.011 | −0.049 (darker) |
| English text (OCR character recall; full model 0.934) | 0.947 | 0.951 |
Speed and memory, M4 Pro, 8bit tier, ~1 MP: 117 s sampling + 2 s decode; peak memory 9.4 GB (a short prompt; the full model peaks at 9.3 GB).
Design rationale, per-decision evidence and open questions: technical write-up. How each number is computed: the metrics write-up. The full study is at felix-ab/moss-image-turbo-research: where earlier turbos' stamped textures came from, the training design, and every decision.
Limitations
- Small, dense text slips more often than with the full model.
- Regular geometry can come out more organic than it should: a chain-link fence shadow, rows of machines.
- Compositions usually follow the full model for the same seed, but not always.
- Resolution: trained for ~1 MP in 9 aspect ratios; other sizes are untested.
- Checkpoint: SFT only.
License and credits
Apache-2.0.
- Base model: MOSS-Image SFT, © OpenMOSS, Apache-2.0.
- Destripe adapter: by nynxz, Apache-2.0.
- This work is independent and not affiliated with OpenMOSS.