Warum wird die lokale Bildgenerierung langsamer, wenn die Live-Vorschau aktiviert ist?

Eva Wong ist die Technische Redakteurin und und leidenschaftliche Tüftlerin bei ZimaSpace. Eine lebenslange Geek mit einer Leidenschaft für Homelabs und Open-Source-Software, sie spezialisiert sich darauf, komplexe technische Konzepte in zugängliche, praktische Anleitungenzu übersetzen. Eva ist der Meinung, dass Self-Hosting Spaß machen und nicht einschüchternd sein sollte. Durch ihre Tutorials befähigt sie die Community, Hardware-Setups zu entmystifizieren, vom Bau ihres ersten NAS bis hin zur Beherrschung von Docker-Containern.

Die lokale Bildgenerierung wird durch die Live-Vorschau langsamer, weil Zwischen-Latents dekodiert, konvertiert, kopiert und angezeigt werden müssen, während die Entrauschung noch läuft.

Ein Diffusionsmodell hält Zwischenzustände normalerweise in einer kompakten latenten Darstellung, bis das endgültige Bild fertig ist. Eine Live-Vorschau fügt zwischen den Sampling-Schritten zusätzliche Arbeit ein: Ein Decoder rekonstruiert Pixel, die Laufzeit synchronisiert Geräteoperationen, und ein Server kann das Bild kodieren und übertragen. Wird dieser Ablauf bei hoher Auflösung wiederholt, kann er mit der eigentlichen Generierung um Rechenleistung und Speicherbandbreite konkurrieren.

Die Vorschau macht aus einer endgültigen Dekodierung viele Zwischendekodierungen

Ohne Vorschau aktualisiert der Sampler einen latenten Tensor über viele Schritte und ruft den Bilddecoder erst kurz vor Abschluss einmal auf. Eine Vorschau bei jedem Schritt ruft wiederholt einen approximativen oder vollständigen Decoder auf und vervielfacht damit Arbeit, die den endgültigen Entrauschungsverlauf nicht verbessert.

Die Dokumentation zum Overhead der Vorschau-Dekodierung berichtet, dass vollständige VAE-Vorschauen die Gesamtdauer erheblich verlängern können, während ein kleiner Vorschau-Decoder die Kosten reduziert, aber nicht vollständig beseitigt. Der Vergleich isoliert die Wahl des Decoders und die Vorschau-Frequenz als entscheidende Variablen.

Die Verlangsamung nimmt mit der Pixelanzahl zu, da dekodierte Feature-Maps und Ausgabebilder mit der Auflösung skalieren. Eine Vorschau bei jedem fünften Schritt mit 512 Pixeln kann günstig genug sein, während eine vollständige Dekodierung in voller Auflösung bei jedem Schritt einen kurzen, beschleunigten Sampling-Lauf dominieren kann.

Gerätesynchronisierung und Speicherverkehr unterbrechen die Sampling-Schleife

Beschleuniger-Kernels laufen normalerweise asynchron, sodass die Laufzeit Arbeit effizient in die Warteschlange einreihen kann. Das Zurücklesen einer Vorschau auf den Host kann eine Synchronisierung erzwingen, Bildpuffer zuweisen, Bytes über einen gemeinsam genutzten Speicherpfad oder PCIe übertragen und vor der Fortsetzung des Samplings auf die Konvertierung warten.

Die latente Diffusionsarchitektur erklärt, warum latente Diffusion eine aufwendige Bildsynthese in einem komprimierten Raum durchführt und einen Autoencoder verwendet, um zwischen Pixeln und Latents zu wechseln. Jede Vorschau überschreitet diese Grenze früher und häufiger als der Pfad, bei dem nur die endgültige Ausgabe erzeugt wird.

Systeme mit gemeinsamem Speicher vermeiden zwar eine explizite PCIe-Kopie, konkurrieren aber weiterhin um Bandbreite und Cache-Kapazität. Dedizierte GPUs müssen stattdessen möglicherweise Übertragungs- und Synchronisierungskosten tragen. Das sichtbare Vorschaubild steht daher sowohl für die neuronale Dekodierung als auch für den System-Overhead.

Die Anzeige-Kodierung kann zum Engpass werden, nachdem die Dekodierung optimiert wurde

Eine lokale Weboberfläche kann die Vorschau skalieren, Farben konvertieren, JPEG oder PNG kodieren, sie serialisieren, über einen Socket senden und den Browser auffordern, sie zu dekodieren und darzustellen. Kleine, dutzendfach wiederholte Vorgänge können länger dauern als ein schneller kleiner Decoder.

Die Forschung zur Diffusionspipeline in Echtzeit reduziert die Latenz beim Streaming von Diffusion durch Batching und Pipeline-Optimierungen und zeigt damit, dass die Echtzeitausgabe vom gesamten Ausführungspfad und nicht von einem einzelnen Modell-Kernel abhängt. Der Transport der Vorschau bleibt außerhalb der theoretischen Schrittanzahl des Entrauners.

Die Annahme, dass jeder langsamere Lauf durch die Darstellung der Vorschau verursacht wird, ist der falsche Ansatzpunkt. Unterschiedliche Seeds, Aufwärmphasen, thermische Begrenzungen, Model-Offloading oder eine andere GPU-Auslastung können die Dauer verändern. Vergleiche identische Anfragen mit deaktivierter Vorschau und behalte alle anderen Einstellungen bei.

-15% OFF

Miss die Kosten der Vorschau nach Phase und Frequenz

Führe denselben Prompt mit identischem Seed, Modell, Sampler, identischer Schrittanzahl, Auflösung und Batch-Größe mit deaktivierter Vorschau, einer Vorschau bei jedem zehnten Schritt, jedem fünften Schritt und jedem Schritt aus. Erfasse die Gesamtdauer, die Entrauschungszeit, die Dekodierungszeit, die Bildkodierung, die übertragenen Bytes, die Darstellungsrate im Browser, den Spitzenverbrauch an Speicher und die Gerätenutzung.

Setze die Speicher- und Messwerte zur Prüfung von Ressourcenengpässen in Beziehung und wiederhole den Test anschließend mit einem kleinen Decoder und einem vollständigen VAE. Lass die endgültige Bilddekodierung in jedem Lauf aktiviert, damit der Vergleich nur die zusätzlich entstehenden Zwischenvorschauen misst.

Wähle die langsamste Vorschau-Frequenz, die noch nützliches Feedback liefert. Wenn die Dekodierung dominiert, verwende einen kleineren Vorschau-Decoder oder eine geringere Auflösung; wenn Kodierung und Übertragung dominieren, fasse Bilder zusammen; wenn sich die Entrauschungszeit verändert, untersuche Synchronisierung und Speicherdruck.

Tech- & KI-Zentrum

Mehr zum Lesen

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.