Qwen-Image 2.1 Turbo, FP8 β€” radiance container

Qwen/Qwen-Image-2.1-Turbo β€” the 8-step distillation of Qwen-Image 2.1, text to image and image editing β€” as a single .rad container for the radiance inference engine (AMD RDNA4, ROCm).

File qwen-image-2.1-turbo-fp8.rad β€” 16.08 GiB
Weights the conditioning network's (Qwen3-VL-8B) and the diffusion transformer's linears FP8 E4M3 per 128Γ—128 block (bf16 scales); the vision tower, the small linears, the norms and the VAE bf16
Steps 8, fixed by the model (a request's num_inference_steps is refused)
Needs radiance built from main after 1.5.0 β€” Qwen-Image support is not in 1.5.0 and comes with the next release

Serve

# one card
radiance --model qwen-image-2.1-turbo-fp8.rad --host 0.0.0.0 --port 8000
# two cards; --tp-wire wht6 sends the all-reduces as 6-bit (about 9% faster, within a dB of exact)
radiance --model qwen-image-2.1-turbo-fp8.rad --tp 2 --tp-wire wht6 --host 0.0.0.0 --port 8000

The server speaks OpenAI's Images API: POST /v1/images/generations and POST /v1/images/edits (JSON, or multipart with image / image[] and mask, as OpenAI's SDKs send them). Pictures come back as b64_json (png, jpeg or webp; response_format: url is refused). Also: n, size (WxH or auto = 2048x2048), seed, streaming with partial_images, background: transparent; edits take 1 to 10 reference pictures and a mask. /v1/models lists the model.

Seconds a picture on Radeon AI PRO R9700 (gfx1201):

2048x2048 1024x1024 1024x1024 edit
one card 22.0 4.0 5.4
two cards 12.9 2.6 3.5
two cards, --tp-wire wht6 11.9 2.2 3.1

Against diffusers' own bf16 pipeline from the same noise (1024x1024), PSNR 36.8 dB on a prompt and 39.0 dB on an edit.

How this file was made

rad-convert Qwen/Qwen-Image-2.1-Turbo --recipe qwen-image-2.1-fp8.recipe -o qwen-image-2.1-turbo-fp8.rad

Qwen/Qwen-Image-2.1-Turbo is the diffusers download of that repository with text_encoder/ taken from Qwen/Qwen-Image-2.1 (the two releases share it byte for byte).

The recipe (qwen-image-2.1-fp8.recipe in this repository) names what is quantised; everything it does not name is the checkpoint's own dtype:

te.blk.*.attn_qkv.weight             rtn  codes=fp8_e4m3 block=128x128 scale=bf16
te.blk.*.attn_output.weight          rtn  codes=fp8_e4m3 block=128x128 scale=bf16
te.blk.*.ffn_gate_up.weight          rtn  codes=fp8_e4m3 block=128x128 scale=bf16
te.blk.*.ffn_down.weight             rtn  codes=fp8_e4m3 block=128x128 scale=bf16
dit.blk.*.attn_qkv.weight            rtn  codes=fp8_e4m3 block=128x128 scale=bf16
dit.blk.*.attn_output.weight         rtn  codes=fp8_e4m3 block=128x128 scale=bf16
dit.blk.*.ffn_gate_up.weight         rtn  codes=fp8_e4m3 block=128x128 scale=bf16
dit.blk.*.ffn_down.weight            rtn  codes=fp8_e4m3 block=128x128 scale=bf16
vae.*                                cast dtype=bf16

License

Built with Qwen. Qwen-Image 2.1 is licensed under the Qwen RESEARCH LICENSE AGREEMENT (non-commercial; LICENSE in this repository), and NOTICE carries its attribution. This container is a modified copy: its linear weights are re-encoded as FP8 (see above).

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for StillDeadcode/radiance-qwen-image-2.1-turbo-fp8

Finetuned
(20)
this model