huggingface / huggingface/diffusers

MiniMax H3 unnecessarily swapped w1 in VAE

Aperta
#14,410 3 commenti 1 reazione 0 assegnatari Vedi su GitHub
Lingua principale
Python
Stelle
34.5k
Fork
7.3k
Merge medio
3g 3h
PR unite (30g)
91

Descrizione

The MiniMax H3 model is very popular, congratulations to the MiniMax team.

However, there's currently an issue caused by the Diffusers' team once again modifying the layout of the model for seemingly no reason.

The video VAE's weights are reorganised from `[gate, up]` to `[up, gate]`.

why? why does this keep happening? what is the actual reason for the swap?

It's caused an enormous amount of time waste to try and make the two weight setups both loadable and function correctly during training and inference.

This isn't the first time it's happened, but it's the first time it's been done in a way that is **extremely difficult to track down the issue**. Usually, the unnecessary change arises from qkv projections being split when the upstream model release had them fused (and oftentimes their paper eg. Flux.1 and others have mentioned qkv fusion as ultimately required to achieve high levels of hardware utilisation)

Look at the result:

https://github.com/user-attachments/assets/766ea4b9-49dc-40f0-bdf4-af43b4cd9265

It's probably too late to fix it now, just like every other time the Diffusers pipeline has been released without enough time to absorb community feedback. Now we're stuck with two, incompatible sets of weights being distributed for H3 probably forever.

I understand that the tone of this post is going to upset people, but I'm not really worried about it. The time wasted through debugging this issue is worse. It's going to keep affecting people until either the weights are recalled and replaced or another model comes along to replace H3.

Can you simply stop making these changes, especially ones that don't cause obvious errors?

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

The report names no Diffusers file, test, or entry point. Begin by reproducing the MiniMax H3 VAE weight-layout mismatch and tracing where `[gate, up]` becomes `[up, gate]`; done would require an agreed compatibility or correction path that preserves training and inference behavior.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python, pytorch
Ambito
machine-learning
Tipo di issue
Bug
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Tranquilla
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.