Qwen-Image-2.1-GGUF / BENCHMARKS.md
off-grid-ai's picture
Rename base-q4_K.gguf to Qwen-Image-2.1-Q4_K_S.gguf, base-q8_0.gguf to Qwen-Image-2.1-Q8_0.gguf so Hugging Face lists every quantization. Remove Qwen3VL-8B-Instruct-Q4_K_M.gguf and qwen_image_2.1_vae_bf16.safetensors, which now live unchanged in off-grid-ai/Qwen-Image-2.1-Companions-GGUF, so Hugging Face no longer reads a text encoder as this model. Update the model card and file references to the new names and point links at off-grid-ai.
6ff6516 verified
|
Raw History Blame Contribute Delete
3.68 kB

Examples, measurements, and settings

Downloads and presets

Option Generator Complete text-to-image files Runtime flags
Original reference (upstream) 14.230 GB 19.934 GB --diffusion-fa
Q8 7.592 GB 13.295 GB --diffusion-fa
Q4 4.051 GB 9.754 GB --diffusion-fa
Q4 optimized same Q4 file 9.754 GB --fa --vae-conv-direct

Q4 generator weights are 71.5% smaller than the original. The complete Q4 text-to-image stack is 51.1% smaller than the original-generator stack with the same companions. Sizes are decimal GB and are not RAM requirements. Q4 optimized is a tested runtime preset, not a separate model or a new distillation. No calibrated weights, approximate VAE, or explicit cache quantization was used.

Download Qwen-Image-2.1-Q4_K_S.gguf or Qwen-Image-2.1-Q8_0.gguf, plus Qwen3VL-8B-Instruct-Q4_K_M.gguf (5.028 GB) and qwen_image_2.1_vae_bf16.safetensors (0.676 GB) from off-grid-ai/Qwen-Image-2.1-Companions-GGUF. Original generator weights are linked in provenance, not duplicated here. The separate encoder retains Apache-2.0; it does not change the generator's research license.

Matched image comparisons

1024×1024, seed 42, Euler, CPU RNG, VAE tiling. All variants share the same Q4 text encoder and original BF16 VAE. Thus the original control is not an entirely full-precision pipeline. Base uses 40 steps and CFG 6 with the engine default resolution-dependent schedule.

Tabletop comparison

Portrait comparison

Full-resolution PNGs are in examples/; these comparison sheets are resized previews. Prompts and exact command arrays are included.

Measurements

Single runs on a shared GPU with other training jobs active. Elapsed times are observations under shared load, not controlled speed comparisons or estimates of idle-GPU performance. No speed ranking is established. Times cover process launch, loading, inference, VAE decoding, and PNG output. GPU peaks were sampled once per second. These two synthetic prompts are examples, not a standardized benchmark suite. No mobile or laptop performance was measured.

Scene Variant Time (s) Peak GPU (GiB) Host process high-water mark (GiB)
tabletop Q4 optimized 115.110 9.77 1.54
tabletop Original 96.797 19.31 2.32
tabletop Q8 78.670 13.07 1.61
tabletop Q4 80.455 9.77 1.51
portrait Original 73.444 19.24 2.31
portrait Q4 optimized 91.698 9.69 1.41

Hardware: RTX PRO 6000 Blackwell Server Edition. Engine binary SHA-256: e6661c1908a586a1352a07f7c2ffe9516e7c6bf1927bd6c50e5bc63a4280be77; commit unavailable. Numerical and visible differences are expected after quantization. No lossless-quality, SOTA-parity, or universal speed claim is made. These tests cover text-to-image only; editing and transparent output are not validated in this release.

Run

Use a stable-diffusion.cpp build with Qwen Image 2.1 support. GGUF format alone does not ensure compatibility. This preset was tested on CUDA; other backends may need different runtime flags. See the engine guide.

python run_example.py --scene tabletop --variant q4_optimized --engine /path/to/sd-cli

Choose q8 or q4 for the tabletop controls. portrait is available with q4_optimized. Full command arrays for the original controls are included for comparison with the upstream weights.