Qwen-Image 2.1 en 2 étapes : LoRA DMD2 à CFG 1

ComfyUI Wikinews

Un LoRA de distillation DMD2 fait tourner Qwen-Image 2.1 en texte vers image et édition multi-référence en 2 étapes à CFG 1, avec une démo Space en direct.

Qwen-Image-2.1-DMD2-2steps est un LoRA de distillation en 2 étapes pour Qwen-Image 2.1, publié par Linoy Tsaban le 23 octobre 2026. Il ramène l'échantillonnage enseignant en 20 étapes du modèle de base à deux passes avant, avec le guidage de l'enseignant intégré, si bien qu'aucune passe CFG n'est nécessaire, et il conserve l'édition par instruction ainsi que l'entrée multi-référence à ce nombre d'étapes.
LoRA en 2 étapes face au modèle de base, quatre cas d'édition

Croquis vers photo, coiffure, expression et restauration de photo, même entrée, même prompt et même graine. Chaque ligne présente l'entrée, le LoRA à 2 étapes, puis le modèle de base à 20 étapes.

Pourquoi 2 étapes constitue un autre palier

Qwen-Image 2.1 est livré à 40 étapes, et les accélérateurs publiés jusqu'ici descendent à 8 (le checkpoint Turbo d'Alibaba) et à 4 (le LoRA Lightning de LightX2V). Cet adaptateur vise le plancher de cette plage, et le planning est fixe plutôt que recommandé :

ParamètreValeur
Étapes2
Planning sigma[1.0, 0.5], fixe
CFG1 (true_cfg_scale=1.0)
Rang / alpha du LoRA32 / 32
Modules adaptésattention uniquement : to_q, to_k, to_v, to_out.0
Taille du fichier64 MB (256 tenseurs)

La carte est explicite : le LoRA a été entraîné sur cette paire exacte de sigmas, le scheduler doit donc être épinglé avec use_dynamic_shifting=False et shift=1.0. En laissant le décalage dynamique activé, les sigmas sont remis à l'échelle selon la résolution, et l'adaptateur n'échantillonne plus le chemin sur lequel il a été distillé.

N'adapter que l'attention est l'autre choix délibéré. La carte soutient que cela préserve l'image d'entrée plus fidèlement pour l'édition que d'adapter aussi les blocs feed-forward, là où les adaptateurs few-step antérieurs pour ce modèle dépensaient l'essentiel de leur budget.

Comment il a été entraîné

DMD2 (Distribution Matching Distillation) avec appariement de distribution on-policy et guidage CFG de l'enseignant, sans perte de régression ni perte GAN dans l'objectif. L'entraînement a duré 2 000 étapes sur un seul H100, sur des recadrages multi-aspects d'environ 1 MP, ce qui correspond à la plage de résolutions utilisée par les démos. L'enseignant à 20 étapes est la référence à laquelle la carte se compare, et non le réglage par défaut du modèle à 40 étapes.

Ce qui survit à 2 étapes

L'édition et la composition multi-référence continuent de fonctionner. Qwen-Image 2.1 prend une liste d'images de condition et le prompt s'y réfère par leur position, donc une exécution en deux étapes résout encore des prompts comme « place le chat de l'image 1 sur la plage de l'image 2 » sans s'effondrer sur une seule référence :

image = pipe(
    prompt="Place the cat from Picture 1 on the beach from Picture 2.",
    image=[cat, beach],
    num_inference_steps=2,
    sigmas=[1.0, 0.5],
    true_cfg_scale=1.0,
).images[0]

Le texte vers image est le même appel avec l'argument image retiré. La sortie RGBA reste inchangée, puisque le canal alpha provient du modèle de base et non de l'adaptateur.

Le Space de démo de l'auteur, Qwen Image 2.1 Realtime, place le même planning derrière une interface en direct : le mode temps réel diffuse un résultat en 512 px qui se met à jour à mesure que le prompt change, et le mode pleine qualité passe à 1024 et 1536.

Exécutions de la communauté

Dans le canal #qwen-image de Banodoco, les testeurs ont exécuté l'adaptateur dans ComfyUI au-dessus des nœuds natifs Qwen-Image 2.1 et publié des comparaisons d'étapes. RuneX a rapporté qu'un échange de tête en 2 étapes fonctionne et qu'une étape supplémentaire était légèrement meilleure, avec les échantillonneurs Euler, ER-SDE et LCM. patientx a mesuré 2, 3 et 4 étapes d'affilée et a trouvé que 3 étapes étaient « très proches du vrai résultat », 4 utilisables et 8 une régression, le temps total d'exécution ne bougeant presque pas entre 2 et 4 étapes car le chargement du modèle domine.

Le seul accroc pour ComfyUI est le nommage. Le safetensors est enregistré au format diffusers/PEFT, transformer.transformer_blocks.N.attn.to_q.lora.down.weight et les tenseurs .lora.up correspondants, tandis que le loader de ComfyUI se base sur les noms de paramètres propres au modèle, commençant à transformer_blocks.N. Le préfixe transformer. doit être retiré avant que le loader ne mappe quoi que ce soit, sinon il signale les clés comme non mappées et le LoRA ne fait rien.

Disponibilité

Poids du LoRA : linoyts/Qwen-Image-2.1-DMD2-2steps sur Hugging Face. Modèle de base : Qwen/Qwen-Image-2.1. Démo : Qwen Image 2.1 Realtime.

Commentaires

Connectez-vous avec GitHub pour rejoindre la discussion.

Chargement des commentaires…
Qwen-Image 2.1 en 2 étapes : LoRA DMD2 à CFG 1 | ComfyUI Wiki