its a 7b model

#1
by ethicalvats - opened

then why in readme it says

Parameters: ~60.2B ?

The Real Catch: The Weights Are Qwen-Image-1.0, Not 2.1
Inspection of transformer/model.safetensors.index.json in SirSahOl/Qwen-Image-2.1-mlx-4bit reveals:

It contains 60 transformer blocks (transformer_blocks.0 through transformer_blocks.59), per-block img_mod_linear, and txt_norm.
That is the old Qwen-Image-1.0 (Qwen/Qwen-Image-2512) architecture from last year, which mflux supports.
The new Qwen-Image-2.1 released today is completely different:
32 layers (not 60)
32 heads (not 24)
patch_size: 1 (not 2)
Unified shared modulation
Qwen3-VL prompt encoder
mflux does not yet support Qwen-Image-2.1

then why in readme it says

Parameters: ~60.2B ?

The Real Catch: The Weights Are Qwen-Image-1.0, Not 2.1
Inspection of transformer/model.safetensors.index.json in SirSahOl/Qwen-Image-2.1-mlx-4bit reveals:

It contains 60 transformer blocks (transformer_blocks.0 through transformer_blocks.59), per-block img_mod_linear, and txt_norm.
That is the old Qwen-Image-1.0 (Qwen/Qwen-Image-2512) architecture from last year, which mflux supports.
The new Qwen-Image-2.1 released today is completely different:
32 layers (not 60)
32 heads (not 24)
patch_size: 1 (not 2)
Unified shared modulation
Qwen3-VL prompt encoder
mflux does not yet support Qwen-Image-2.1

Hi @ethicalvats ,

Sharp eye, and thank you for taking the time to inspect transformer/model.safetensors.index.json and call this out. You are 100% correct on both counts.

Here is the exact breakdown of what happened and what has been updated:

1. The Architecture (60 Blocks vs. 32 Layers)

You are completely right: the weights in this repository follow the 60-block transformer topology (transformer_blocks.0 through transformer_blocks.59 with per-block modulation and txt_norm), which is the architecture supported by mflux (Qwen/Qwen-Image-2512 base).

The newly announced Qwen-Image-2.1 uses a redesigned 32-layer backbone with a unified modulation scheme and a Qwen3-VL prompt encoder, which mflux does not yet natively parse. We have updated the model card and repository description to explicitly document that these weights are compiled for the 60-block topology to prevent any community confusion. As soon as upstream mflux merges support for the new 32-layer 2.1 architecture, we will convert and release native 2.1 weights under a dedicated branch/repo.

2. The Parameter Count Correction (~7B vs. ~60.2B)

The ~60.2B figure in the initial automated card was an erroneous metric produced by an early card-generation script that calculated composite byte footprint across uncompressed sharded weights rather than counting active layer parameters.

The DiT transformer itself is ~7.0B parameters, with the complete end-to-end pipeline (DiT transformer + text encoder + VAE) totaling ~8.2B parameters. The README table and metadata have now been corrected to reflect the accurate parameter count.

Thank you again for the rigorous review—this kind of community diligence keeps open-source weights accurate and dependable. Please let us know if you run into any inference or generation issues on Apple Silicon.

SirSahOl changed discussion status to closed

Sign up or log in to comment