MOSS-Image-SFT-Turbo-MLX

0 downloads 0 likes on Hugging Face updated

Model card

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).

The original model at 50 steps (top) and --turbo (bottom), same prompts and seeds

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

  1. 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.
  2. One guided original-model step replaces the student's second step (σ .957 → .919). That is where lettering is decided.
  3. The original model finishes with 4 DPM-Solver++(2M) evaluations (σ .671 → 0).
  4. 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.