La génération locale d'images ralentit avec l'aperçu en direct, car les latents intermédiaires doivent être décodés, convertis, copiés et affichés alors que le débruitage est encore en cours.
Un modèle de diffusion conserve normalement les états intermédiaires dans une représentation latente compacte jusqu'à ce que l'image finale soit prête. L'aperçu en direct ajoute du travail entre les étapes d'échantillonnage : un décodeur reconstruit les pixels, l'environnement d'exécution synchronise les opérations de l'appareil, et un serveur peut encoder et transmettre l'image. Répéter ce processus à haute résolution peut mobiliser autant de ressources de calcul et de bande passante mémoire que la génération elle-même.
L'aperçu transforme un décodage final en de nombreux décodages intermédiaires
Sans aperçu, l'échantillonneur met à jour un tenseur latent pendant de nombreuses étapes, puis appelle le décodeur d'image une seule fois vers la fin. Un aperçu à chaque étape appelle de manière répétée un décodeur approximatif ou complet, multipliant un travail qui n'améliore pas la trajectoire finale de débruitage.
La documentation sur la surcharge liée au décodage des aperçus indique que les aperçus VAE complets peuvent ajouter un temps d'exécution considérable, tandis qu'un petit décodeur d'aperçu réduit ce coût sans le supprimer. La comparaison isole le choix du décodeur et la fréquence des aperçus comme variables de premier ordre.
Le ralentissement augmente avec le nombre de pixels, car les cartes de caractéristiques décodées et les images de sortie évoluent avec la résolution. Un aperçu toutes les cinq étapes à 512 pixels peut être suffisamment léger, tandis qu'un décodage en pleine résolution à chaque étape peut dominer une courte exécution d'échantillonnage accélérée.
La synchronisation de l'appareil et le trafic mémoire interrompent la boucle d'échantillonnage
Les noyaux d'accélération s'exécutent normalement de manière asynchrone, ce qui permet à l'environnement d'exécution de mettre efficacement le travail en file d'attente. La lecture d'un aperçu vers l'hôte peut forcer une synchronisation, allouer des tampons d'image, déplacer des octets via une mémoire partagée ou une liaison PCIe, puis attendre la conversion avant la reprise de l'échantillonnage.
L'architecture de diffusion latente explique pourquoi la diffusion latente effectue la synthèse d'images coûteuse dans un espace compressé et utilise un autoencodeur pour passer des pixels aux latents et inversement. Chaque aperçu franchit cette limite plus tôt et plus souvent que le processus qui ne produit que l'image finale.
Les systèmes à mémoire unifiée évitent une copie PCIe explicite, mais restent en concurrence pour la bande passante et la capacité du cache. Les GPU dédiés peuvent au contraire subir des coûts de transfert et de synchronisation. L'image d'aperçu visible représente donc à la fois le décodage neuronal et la surcharge du système.
L'encodage destiné à l'affichage peut devenir le goulot d'étranglement une fois le décodage optimisé
Une interface web locale peut redimensionner l'aperçu, convertir les couleurs, encoder l'image en JPEG ou PNG, la sérialiser, l'envoyer via une socket, puis demander au navigateur de la décoder et de l'afficher. De petites opérations répétées des dizaines de fois peuvent prendre plus de temps qu'un petit décodeur rapide.
Les recherches sur le pipeline de diffusion en temps réel réduisent la latence de la diffusion en continu grâce au traitement par lots et à l'optimisation du pipeline, démontrant que la sortie en temps réel dépend de l'ensemble du chemin d'exécution plutôt que d'un seul noyau du modèle. Le transport des aperçus reste extérieur au nombre théorique d'étapes du débruiteur.
Il faut éviter de supposer que chaque exécution plus lente est due au rendu de l'aperçu. Des graines différentes, la phase d'échauffement, les limites thermiques, le déchargement du modèle ou une autre charge GPU peuvent modifier la durée. Comparez des requêtes identiques avec l'aperçu désactivé et conservez tous les autres paramètres.
Mesurez le coût de l'aperçu selon l'étape et la fréquence
Exécutez le même prompt, avec la même graine, le même modèle, le même échantillonneur, le même nombre d'étapes, la même résolution et la même taille de lot, avec l'aperçu désactivé, toutes les dix étapes, toutes les cinq étapes et à chaque étape. Relevez le temps total, le temps de débruitage, le temps de décodage, l'encodage des images, le volume de données transférées, la fréquence d'affichage du navigateur, la mémoire maximale et l'utilisation de l'appareil.
Reliez les mesures de mémoire et de calcul aux tests de goulot d'étranglement des ressources, puis répétez avec un petit décodeur et un VAE complet. Gardez le décodage final de l'image activé lors de chaque exécution afin que la comparaison mesure uniquement les aperçus intermédiaires ajoutés.
Choisissez la fréquence d'aperçu la plus lente qui fournit encore des informations utiles. Si le décodage domine, utilisez un décodeur d'aperçu ou une résolution plus petits ; si l'encodage et le transfert dominent, regroupez les images ; si le temps de débruitage change, examinez la synchronisation et la pression sur la mémoire.
Centre Tech & IA
Plus à lire

Pourquoi les modifications de fichiers SMB parviennent-elles à un indexeur incrémentiel par à-coups ?
Découvrez comment la mise en cache des écritures SMB, les baux, CHANGE_NOTIFY, le dépassement de tampon, la reconnexion et le traitement par lots de...

Pourquoi l’OCR omet-il les textes pâles après la recompression d’un PDF ?
Découvrez comment la recompression des PDF modifie les pixels peu visibles, pourquoi les lecteurs peuvent masquer cette perte et comment tester la résolution, le...

Pourquoi la latence de l’IA locale oscille-t-elle avec la courbe de ventilation d’un serveur domestique ?
Découvrez comment la chaleur, le contrôle du ventilateur, les limites de fréquence, le retard des capteurs et la synchronisation de la charge de travail...

