Stable Diffusion um bis zu 211,2 % beschleunigt: Aitemplate, TensorRT, OneFlow und Xformers Beschleunigungstest

Stable Diffusion um bis zu 211,2 % beschleunigt: Aitemplate, TensorRT, OneFlow und Xformers Beschleunigungstest

1. Einleitung

Stable Diffusion ist eine auf dem Diffusionsmodell basierende Bildgenerierungstechnologie, die aus Text hochwertige Bilder erzeugen kann – geeignet für CG, Illustrationen und hochauflösende Hintergrundbilder sowie andere Bereiche.

Aufgrund des komplexen Berechnungsprozesses kann die Bildgenerierungsgeschwindigkeit von Stable Diffusion jedoch oft zu einem Engpass werden. Um dieses Problem anzugehen, hat novita.ai eine Reihe vergleichender Tests zu Beschleunigungsmethoden durchgeführt, darunter Xformers, Aitemplate, TensorRT und OneFlow.

In diesem Artikel stellen wir die Prinzipien und Leistungstestergebnisse dieser Beschleunigungsmethoden vor und geben Überlegungen zur Wirtschaftlichkeit für verschiedene Grafikkarten, um bei der Bereitstellung fundierte Entscheidungen zu ermöglichen.

Die Testergebnisse zeigen, dass OneFlow im Vergleich zu Xformers auf der RTX 3090 eine Beschleunigung von 211,2 % und auf der RTX 4090 eine Beschleunigung von 205,6 % erreicht. Daher ist die bevorzugte GPU-Wahl beim Bereitstellen von Stable Diffusion die RTX 3090.

2. Vergleich der Prinzipien und Eigenschaften der Beschleunigungsverfahren

Zunächst haben wir verschiedene Verfahren zusammengestellt, die zur Beschleunigung von Stable Diffusion verwendet werden können.

Wir haben Xformers, Aitemplate, TensorRT und OneFlow als unsere Beschleunigungsverfahren ausgewählt. NvFuser ähnelt im Prinzip Xformers – beide nutzen die FlashAttention-Technologie. DeepSpeed und ColossalAI sind hauptsächlich für die Trainingsbeschleunigung ausgelegt, während OpenAI Triton als Modellbereitstellungs-Engine dient, die sich für die Batch-Größen-Beschleunigung eignet, nicht jedoch für Szenarien zur Optimierung der Modelllatenz. Daher werden diese von unserem Vergleich ausgeschlossen.

Derzeit testen wir die Leistung des WebUI-Basisschemas und der vier Beschleunigungsverfahren (Xformers, Aitemplate, TensorRT und OneFlow) auf verschiedenen GPUs.

Wir verwenden VoltaML, um die Beschleunigungswirkung von Aitemplate zu bewerten, Stable Diffusion WebUI für Xformers, das offizielle TensorRT-Beispiel für die TensorRT-Leistung und integrieren OneFlow in Diffusions, um seine Beschleunigung zu testen.

3. Tests der Beschleunigungsverfahren

Im Folgenden präsentieren wir die relevanten Testkonfigurationen und teilen die tatsächlichen Testergebnisse mit Ihnen.

3.1 Testaufbau

Für diese Testrunde ist unsere Leistungskennzahl Iterationen pro Sekunde (its/s).

Bildeinstellungen: 512*512, Schritte 100

Prompts: Ein schönes Mädchen, beste Qualität, ultra-detailliert, extrem detailliertes CG Unity 8k Wallpaper, beste Illustration, eine äußerst zarte und schöne, schwebende, hohe Auflösung.

Negativ: Niedrige Auflösung, schlechte Anatomie, schlechte Hände, Textfehler, fehlende Finger, zusätzliche Ziffer, weniger Ziffern, beschnitten, schlechteste Qualität, niedrige Qualität, normale Qualität, JPEG-Artefakte, Unterschrift, Wasserzeichen, Benutzername, unscharf, schlechte Füße, verschmolzener Körper.

Sampler: Euler a

Modell: Stable Diffusion 1.5

3.2 Testergebnisse

Nach einer Reihe von Tests haben wir die Leistungsergebnisse auf verschiedenen GPUs erhalten, wie unten dargestellt:

Aus der obigen Tabelle können wir ersehen, dass der Beschleunigungsvergleich wie folgt ist: OneFlow > TensorRT > Aitemplate > Xformers.

OneFlow erreicht eine relative Beschleunigung von 211,2 % im Vergleich zu Xformers auf der RTX 3090 und eine Beschleunigung von 205,6 % auf der RTX 4090.

4. Vergleich der GPU-Leistung und Wirtschaftlichkeit

Wir haben eine Wirtschaftlichkeitsanalyse für verschiedene GPUs durchgeführt. Hier sind die Schlussfolgerungen:

Schlussfolgerung 1: Aus wirtschaftlicher Sicht bietet die RTX 4090 den höchsten Wert.

Schlussfolgerung 2: Extrem günstige GPUs können die Gesamtkosten erhöhen. Die RTX 2080Ti könnte einen guten Kompromiss zwischen anfänglichen hohen Investitionen und Gesamtkosten darstellen.

Schlussfolgerung 3: Am schlechtesten abschneidende GPUs

In diesem Test haben wir einige leistungsschwächere GPUs mit einem Speicher von mehr als 6 GB ausgewählt, darunter M60, 1660s und 1080.

1. GPUs wie 1660s und 1080 unterstützen keine Beschleunigungsverfahren wie TensorRT, Aitemplate und OneFlow, möglicherweise aufgrund unzureichenden Speichers oder Inkompatibilität der GPU.

2. Von diesen erreichten die 1660s (1080) 2,61 it/s (2,64 it/s) bei der Generierung von 512*512-Bildern mit 20 Schritten, was 7,66 s (7,57 s) dauerte – ein Hinweis auf eine gewisse Nutzbarkeit.

3. Andererseits erreichte die M60 1,27 it/s, was 15,74 s für die Generierung eines 512*512-Bildes mit 20 Schritten bedeutete – eine deutlich schlechtere Nutzbarkeit.

5. Auswahlempfehlungen

5.1 Die RTX 4090 bietet die höchste Wirtschaftlichkeit, aber wir empfehlen die Bereitstellung der RTX 3090.

Beispielsweise können wir die „Iterationen pro Dollar“ für jede GPU mit dem Runpod-Test berechnen, was die Wirtschaftlichkeit der GPU darstellt.

Es ist offensichtlich, dass die RTX 4090 bei ähnlichen Auslastungsraten eine höhere Wirtschaftlichkeit als die RTX 3090 aufweist. Darüber hinaus übertrifft die RTX 3090 andere GPUs der gleichen Klasse wie A5000 und A4000.

Die Wahl der RTX 4090 für Stable-Diffusion-Modelle hängt von den spezifischen Umständen ab:

  1. Die tatsächliche Wirtschaftlichkeit wird bestimmt durch die Auslastung (Betriebsstunden pro Stunde/60 min) * its/$. Abhängig vom Servicemodell und der geschätzten Auslastung: Wenn die Auslastung der RTX 4090 ähnlich der doppelten Nutzung einer RTX 3090 ist, ist die Wirtschaftlichkeit der RTX 4090 höher. Wenn jedoch die Bereitstellung von zwei RTX-3090-Instanzen zu einer höheren Auslastung führt (durch erhöhte gleichzeitige Unterstützung und Anfrageabwicklung), könnte die RTX 3090 vorzuziehen sein. Die Auslastung muss je nach Szenario analysiert werden.
  2. its/$ stellt die Inferenzleistung dar, während ein größerer VRAM das Caching von mehr Modellen ermöglicht, die Modellladezeit verkürzt und den Bildgenerierungsprozess erheblich beschleunigt. Sowohl RTX 3090 als auch RTX 4090 haben 24 GB VRAM. Wenn Stable Diffusion WebUI basierend auf der VRAM-Nutzung optimiert ist, könnte die RTX 3090 hinsichtlich der VRAM-Kosten einen Vorteil haben.
  3. Wenn die Inferenzgeschwindigkeit priorisiert wird, ist die RTX 4090 die beste Wahl, da ihre Inferenzzeit etwa halb so lang ist wie die der RTX 3090.

Dies deckt sich mit den Erkenntnissen unter https://timdettmers.com/2023/01/30/which-gpu-for-deep-learning/. Weitere GPU-Daten finden Sie in der folgenden Grafik.

Wenn die GPU-Zeit nur einen geringen Anteil an der Gesamtzeit in der Verarbeitungskette ausmacht, können GPUs mit etwas geringerer Leistung als Ersatz für die RTX 3090 gewählt werden. Dazu gehören Optionen wie A5000, A10G, RTX 3080, RTX 3080Ti und RTX 2080Ti.

Wenn Sie Fragen haben oder weitere Beschleunigungsoptionen für Stable Diffusion erkunden möchten, kontaktieren Sie uns gerne auf unserem Discord.

Wir laden Sie ein, gemeinsam mit novita.ai die Fähigkeiten von Stable Diffusion zu erkunden!

novita.ai bietet die Stable Diffusion API und hunderte schnelle und kostengünstigste KI-Bildgenerierungs-APIs für 10.000 Modelle. 🎯 Schnellste Generierung in nur 2 s, Pay-as-you-go, mindestens 0,0015 $ pro Standardbild, Sie können eigene Modelle hinzufügen und vermeiden GPU-Wartung. Kostenlose Weitergabe von Open-Source-Erweiterungen.

Empfohlene Lektüre

  1. So installieren Sie Stable Diffusion 2.1 ganz einfach
  2. Lora KI-generierte Bilder – Die Zukunft der Kunst
  3. Stable Diffusion GTX 1650: Der ultimative Leitfaden