MOSS-Image Gets LoRA Training, 4GB Packs, 8-Step LoRA

Introduction
MOSS-Image just got the piece every open model needs to really take off: a proper training kit. On October 20, ModelScope's DiffSynth-Studio (Apache-2.0, the ModelScope training framework that already covers Wan and Qwen-Image) shipped full MOSS-Image support for inference, full fine-tuning, and LoRA training on both MOSS-Image-Base and MOSS-Image-SFT. It came with two extras: EntroPack pre-quantized packages that run the 5B model in as little as 4 GB of VRAM, and an Apache-2.0 MOSS-Image-SFT-TurboLoRA that cuts 50 sampling steps down to 8. Everything runs locally today through DiffSynth-Studio, with a ComfyUI route through DiffSynth-ComfyUI.
If you've been watching the MOSS community LoRAs pile up and wondering how to make your own, this is your on-ramp ✨
What shipped
DiffSynth-Studio's README news entry for October 20 lists three things:
- MOSS-Image pipeline: a
MOSSImagePipelinewith standard and low-VRAM inference scripts for Base and SFT. It handles natural-language prompts, tag lists, and the JSON layout prompts MOSS is known for. - Training: one shared
train.pywith ready-made shell scripts for full fine-tuning and LoRA on Base and SFT, plus validation scripts for each. - Speed and memory: the EntroPack low-bit packages and the 8-step TurboLoRA, both on ModelScope under the DiffSynth-Studio org.
Patch releases v2.1.10 and v2.1.11 landed the same day, with fixes for low-VRAM compile, a MOSS VAE error, and an updated default scheduler config. If you cloned early, pull again.
LoRA training in a few lines
The LoRA recipe trains the DiT only, at rank 32 and learning rate 1e-4 for 5 epochs, with gradient checkpointing on. Images are capped at about one megapixel (--max_pixels 1048576), and dynamic resolution is on by default. DiffSynth also hosts a small example dataset so you can smoke-test the loop before you point it at your own images.
git clone https://github.com/modelscope/DiffSynth-Studio.git
cd DiffSynth-Studio && pip install -e .
modelscope download --dataset DiffSynth-Studio/diffsynth_example_dataset --include "moss_image/MOSS-Image-Base/*" --local_dir ./data/diffsynth_example_dataset
bash examples/moss_image/model_training/lora/MOSS-Image-Base.shTo train on your own set, change --dataset_base_path and --dataset_metadata_path to your folder and its metadata.csv. You can also tune --lora_rank, --num_epochs, and --learning_rate. Train on Base if you want a flexible style or character LoRA. DiffSynth's docs call Base the foundation model suited to community LoRA fine-tuning, while SFT is the polished version tuned for cleaner text grouping and layouts.
There's also a LoRA script that trains on top of the EntroPack quantized SFT weights, which is the low-memory route for smaller cards.
EntroPack: MOSS in 4 GB
EntroPack is ModelScope's entropy-coding quantizer. The MOSS packages are encoded straight from the original BF16 weights, and the model card puts the floor at 4 GB of VRAM. DiT options:
- 3.5-bit mixed (SFT only, lowest VRAM): about 2.24 GB. Sensitive layers stay at 5.0 bits per weight, the rest drop to about 3.25.
- 4.5-bit mixed (balanced, the default in the example scripts): about 2.89 GB.
- 6-bit: about 3.85 GB, highest precision.
- INT8 at 6-bit: about 3.85 GB, stored at 6 bits but run with INT8 matrix math for the fastest inference of the set.
The Qwen3.5 text encoder comes as shared 4.5-bit (about 5.97 GB), 6-bit, and INT8 packages, and you can mix any DiT level with any encoder level. Install EntroPack with the CUDA extra that matches your setup (cuda12 or cuda13).
TurboLoRA: 8 steps instead of 50
MOSS-Image-SFT-TurboLoRA was trained with on-policy distillation (OPD) in DiffSynth-Studio for 6,000 steps on the ImagePulseV2 dataset. It distills the 50-step SFT sampling path into 8 steps. Run it at cfg_scale=1.0 and num_inference_steps=8. The card shows side-by-sides for complex composition, English text, and Chinese text, which are exactly where MOSS shines. The distillation training code is public too, so you can turbo-charge your own fine-tune later.
Here's a quick poster-style prompt to test the 8-step LoRA's text rendering:
A moody travel poster of a lantern-lit night market on a rainy hillside street, steam rising from food stalls, warm amber lanterns reflected in wet cobblestones, deep indigo sky with a thin crescent moon. Bold clean sans-serif headline at the top reading "NIGHT MARKET", small subtitle at the bottom reading "Open Until Dawn". Cinematic lighting, crisp typography, high detail.Prefer another trainer?
You've got options. KohakuMossTrainer from KohakuBlueleaf (released October 18 and highlighted in the official MOSS-Image README) does full fine-tuning and LyCORIS or LoRA training on Base and SFT. It supports BF16, FP16, FP8, MXFP8, and INT8 mixed precision, multi-GPU, and CPU offload, and it can train adapters in as little as 6 GB of VRAM on Windows, Linux, NVIDIA cards, and Intel Arc.
The rule of thumb: DiffSynth-Studio for an all-in-one train, quantize, and accelerate stack, and KohakuMossTrainer for LyCORIS flavors and lots of optimizer knobs.
Original Source
- DiffSynth-Studio MOSS-Image docs: https://github.com/modelscope/DiffSynth-Studio/blob/main/docs/en/Model_Details/MOSS-Image.md
- MOSS-Image training scripts: https://github.com/modelscope/DiffSynth-Studio/tree/main/examples/moss_image/model_training
- EntroPack packages: https://www.modelscope.cn/models/DiffSynth-Studio/MOSS-Image-EntroPack
- MOSS-Image-SFT-TurboLoRA: https://www.modelscope.cn/models/DiffSynth-Studio/MOSS-Image-SFT-TurboLoRA
- DiffSynth-ComfyUI: https://github.com/modelscope/DiffSynth-ComfyUI
- MOSS-Image official repo: https://github.com/OpenMOSS/MOSS-Image
Conclusion
A week ago MOSS-Image was a shiny new 5B layout model. Now it has two trainers, a 4 GB path, and an 8-step shortcut, and that's usually when the really fun community fine-tunes start showing up. Grab your favorite 30 images, train a little style LoRA tonight, and let your posters speak for themselves.
—Aurelia ♡
