Qwen-Image 2.1 sur deux T4 gratuites

la mesure. Qwen-Image 2.1 · 2026-09-24 · Kaggle 2 × T4 · 4 sessions · 0 €

Ce modèle ouvert peut-il fournir les images d'une chaîne de reconstitutions antiques, sur le seul GPU gratuit disponible ? Ici : le déploiement, la vitesse et la génération. L'édition et les styles sont à la page suivante.

run
essais 1 à 3 + tests
date
2026-09-24
machine
Kaggle 2 × T4 (15 Go)
durée
≈ 100 min de GPU
coût
0 €
journal
releve.json

Le modèle, tel que publié

Un DiT d'environ 7,1 milliards de paramètres (14,23 Go en bf16, 32 couches), un encodeur de consignes Qwen3-VL 8B (17,53 Go) et un VAE à 4 canaux, qui sort une vraie transparence RGBA. Réglages par défaut : 40 pas, sans guidage, 2048×2048 recommandé. Le pipeline n'était pas dans diffusers 0.40 : il s'installe depuis git.

huggingface.co · Qwen-Image-2.1 · diffusers PR #14804

1. Faire tenir 33 Go dans deux cartes de 15 Go

Rien ne tient en bf16 sur une carte, et le T4 n'a pas de bf16 matériel. La recette qui marche : encoder toutes les consignes, libérer l'encodeur, débruiter avec le DiT en fp16, le libérer, puis décoder. Le risque du fp16, c'est le débordement : le format plafonne à 65 504.

Un T4 fait 27,46 TFLOPS en fp16, 4,08 en fp32 et 2,31 en bf16 émulé : d'où le DiT en fp16. L'activation la plus forte monte à 9 128, avec 0 NaN et 0 bloc saturé sur 32.

diag/sortie/diag.json · sorties/essai-2/mesures.json (sondes)

Essai 1 : arrêt à l'import après 237,6 s. Le torchao 0.10 préinstallé sur Kaggle n'a pas FqnToConfig, que diffusers importe sans garde ; correctif : le désinstaller. Essai 2 : manque de mémoire au décodage, le VAE en fp32 posé à côté d'une moitié du DiT (14,50 Gio sur 14,56). Le repli — DiT entier sur une carte, VAE seul sur l'autre — a sorti les 3 images.

sorties/essai-1/journal.txt · sorties/essai-2/journal.txt

Essai 3, la recette rejouée : fin en 918,6 s, et 3 images identiques bit à bit à celles de l'essai 2 (sha256). Les 13,26 Gio du DiT tiennent sur un seul T4 avec 0,4 Gio de marge pendant le débruitage (14 487 Mio sur 14 909). Mise en route : 33,1 Go téléchargés en ≈ 2,6 min, mais 178 à 194 s d'installation pip ; ≈ 6 min par session avant la première image.

sorties/essai-2 et essai-3/mesures.json · sorties/essai-1 à 3/journal.txt · tests/journal.txt

Le premier rapport annonçait 0,7 Gio de marge, calculée sans le cache de l'allocateur ; nvidia-smi donne 0,4. Aussi : pas de flash-attention sur T4 (« mem_efficient » 13,9 ms contre 97,8 ms en « math ») ; une L4 demandée par la CLI ouvre une session sans GPU ; pendant la génération, le T4 tourne en moyenne à 619 MHz, jusqu'à 80 °C.

sorties/essai-3/mesures.json · diag/sortie/diag.json · diag-l4/sortie/sonde.json

2. La vitesse

tailles par pas40 pas20 pas
1024×10244,21 à 4,26≈ 170 s≈ 85 s
1344×13448,28331 à 340 s166 à 175 s
1664×928 (16:9)6,85274 à 282 s137 à 145 s
2048×2048non lancé——

DiT réparti 16 + 16 blocs sur les deux cartes, 7,3 et 8,4 Gio alloués ; décodage en plus (4,4 s en 1024, 8 s en 16:9). Source : tests/mesures.json.

Une image 1024², 20 pas, coûte ≈ 90 s en tout : 85,6 s de débruitage, 0,7 s d'encodage de la consigne, 4,4 s de décodage — soit ≈ 40 images par heure de GPU (calcul). La session de tests a sorti 15 images sur 16 en 59,6 min.

styles/sorties/essai-1/mesures.json · tests/journal.txt

La taille native annoncée, 2048², n'a pas été lancée : le garde-fou de budget estimait la fin de session à 67,7 min pour 67 permises. Les ≈ 24,5 s par pas qu'on pourrait citer sont une extrapolation, pas une mesure.

tests/journal.txt (16_forum_2048 sauté)

Sur la même machine, un tiers annonce 139 à 147 s par image 1024² en 40 pas, avec des poids et une attention INT8 sous ComfyUI. Ici, sans quantification, c'est ≈ 170 s.

huggingface.co · Comfy-Org/Qwen-Image-2.1 · discussion 8

3. Ce qu'il génère bien 9/10

Une affiche en français de trois lignes sort exacte au caractère près, un long titre anglais reste lisible en miniature, et les portraits atteignent le niveau d'une banque d'images, mains comprises. L'arabe, lui, gagne une ligne de pseudo-texte sans aucun sens (5/10). Les notes viennent de la relecture visuelle : ce sont des jugements, pas des mesures.

Enseigne néon « QWEN IMAGE 2.1 » sous la pluie, image générée

La consigne d'exemple officielle, première image du déploiement : 1024², 40 pas, ≈ 166 s. Image générée par Qwen-Image 2.1.

Portrait photoréaliste d'une personne fictive tenant une tablette

Personne fictive, 1024², 40 pas, 174 s : cinq doigts par main (9/10). Image générée par Qwen-Image 2.1.

Casque de légionnaire détouré, affiché sur un damier

Demandé « avec fond transparent », affiché ici sur un damier. Image générée par Qwen-Image 2.1.

Le casque sort en RGBA natif : 62,3 % de pixels transparents, alpha de 0 à 255. Deux pièges : sur une icône, 48,7 % des pixels ont un alpha de 1 à 9, au-dessus d'un violet caché — ramener les alpha sous 10 à 0 ; et des images demandées opaques sortent en RGBA avec 5 à 24 % de pixels sous 255 — les aplatir avant publication.

sorties/essai-2/journal.txt · rapport/donnees.json · tests/mesures.json

4. Ce qu'il rate : l'Antiquité 3 à 4/10

Demandé « au IIe siècle, achevé », le Forum romain sort six fois tel qu'aujourd'hui : ruines, façades baroques, ville moderne, drapeau italien, Colisée doublé en 16:9. Photoréalisme 8/10, histoire 1/10 : le modèle connaît les sites célèbres par leurs photos touristiques.

rapport/donnees.json (générations 04, 11 à 15) · relecture visuelle

Six images du Forum romain à trois tailles et deux nombres de pas, toutes en ruines

Même consigne, graine 42. En haut 40 pas, en bas 20 ; de gauche à droite 1024², 1344², 1664×928. Images générées par Qwen-Image 2.1.

Vignette « The Lost City of Carthage, Rebuilt » sur des ruines

Vignette 16:9, 282 s : titre exact (10/10), mais des ruines et des hangars de tôle sous le mot « Rebuilt » (histoire 3/10). Image générée par Qwen-Image 2.1.

Salle hypostyle de Karnak aux colonnes peintes

Karnak « neuve », 175 s : la meilleure scène historique (7/10). Au zoom : des tongs, un tabouret pliant, des murs érodés. Image générée par Qwen-Image 2.1.

La parade : interdire le moderne ≈ 8/10

En consigne courte, la rue de marché de Carthage punique sort avec balcons en fer forgé et voiliers de plaisance (5/10). La même rue, avec une consigne longue qui interdit explicitement le moderne — « no iron balconies, no modern boats, no tourists… » — monte à ≈ 8/10. Il reste un balcon.

Deux rues de Carthage : consigne courte à gauche, consigne longue à droite

À gauche, consigne courte (1024², 40 pas). À droite, consigne longue avec exclusions (1664×928, 20 pas) : maisons intactes, port circulaire au fond. Images générées par Qwen-Image 2.1.

Cette scène 1664×928 en 20 pas a pris 126,1 s (6,26 s par pas) ; 132,1 s avec la graine 7. La note de travail disait 130 s : c'est le journal brut qui est publié.

animation/assets/journal-kaggle/journal.txt

C'est cette scène qui sert ensuite de décor à l'animation dans Blender.