SceneWorks's picture
Illustrious-XL v2.0 tiered MLX turnkey (q4/q8/bf16) — sc-10612
7c5c8b2 verified
|
Raw
History Blame Contribute Delete
2.75 kB
metadata
license: creativeml-openrail-m
tags:
  - mlx
  - apple-silicon
  - diffusion
  - stable-diffusion-xl
  - sdxl
  - anime
  - text-to-image
base_model: OnomaAIResearch/Illustrious-XL-v2.0
library_name: mlx-gen
pipeline_tag: text-to-image

Illustrious-XL v2.0 — MLX pre-quantized tiers

Pre-quantized, packed-load tiers of OnomaAIResearch/Illustrious-XL-v2.0 for on-device Apple-Silicon inference with SceneWorks / mlx-gen (the sdxl generator). Each tier is a self-contained diffusers turnkey snapshot (U-Net + both CLIP text encoders + VAE + tokenizers + scheduler + model_index.json) that loads directly.

Illustrious-XL v2.0 is the v2.0-STABLE snapshot — the last-annealing-phase checkpoint of a cosine-annealing run, behaviourally distinct from (and more stable than) v1.0. It is architecturally vanilla SDXL: dual CLIP-L + OpenCLIP-bigG, real CFG + negative prompt, eps prediction, VAE scaling factor 0.13025, full sdxl-family LoRA support. Danbooru-tag prompting, ~30 steps at guidance 7.0.

Resolution note

Unlike v1.0, v2.0 tends to duplicate the subject in wide frames — a 1girl, solo prompt can render two characters once the frame gets wide (measured: it duplicates at 1344×768 and 1536×1536, while tall and square frames stay clean). Prefer square or tall framing; the SceneWorks catalog omits the widest aspect buckets for this model.

Provenance

Upstream ships a single-file LDM checkpoint (Illustrious-XL-v2.0.safetensors) that the MLX sdxl loader cannot read. These tiers were produced offline with scripts/build_sdxl_turnkey.py. The conversion also normalizes two v2.0 quirks: a stray position_ids buffer (dropped) and a BF16 VAE (kept dense at F32/F16 per tier). Component configs are the canonical SDXL descriptors.

Tiers

dir precision what's quantized
q4/ (default) group-wise affine Q4, group size 64 U-Net Linears + both CLIP encoders
q8/ group-wise affine Q8, group size 64 U-Net Linears + both CLIP encoders
bf16/ dense (f16 source mirror) nothing

The VAE stays dense in every tier. Convolutions, GroupNorms, and the CLIP token/position embeddings also stay dense; only the true Linear projections are packed. Quantization is byte-identical to mlx-gen's load-time nn.quantize (bf16 cast, group 64).

License

CreativeML OpenRAIL-M, per the upstream model card. Commercial use OK, ungated; behavioral-use restrictions apply. NOTE this differs from v1.0's SDXL (OpenRAIL++) license.