Was ist Stable Diffusion?
Stable Diffusion ist ein quelloffenes generatives KI-Modell, das Textaufforderungen verwendet, um neue Bilder zu erzeugen oder bestehende Bilder zu verändern.
Technisch gesehen handelt es sich bei Stable Diffusion um ein latentes Diffusionsmodell (LDM) für maschinelles Lernen. Diese Art von spezialisiertem tiefem Lernen verwendet Wahrscheinlichkeitsverteilungen, um Ausgaben zu erzeugen, die den Daten, auf denen das Modell trainiert wurde, statistisch ähnlich sind.
Neben der Erzeugung neuer Bilder kann Stable Diffusion auch zum Übermalen oder Ausmalen von Elementen innerhalb eines bestehenden Bildes sowie zur Bild-zu-Bild-Übersetzung verwendet werden.
- Inpainting ist der Prozess des Auffüllens fehlender oder beschädigter Teile eines Bildes. Es ist eine häufige Aufgabe bei der Bildrestaurierung und -bearbeitung und kann verwendet werden, um Objekte aus Bildern zu entfernen, beschädigte Fotos zu reparieren oder unvollständige Bilder zu vervollständigen.
- Outpainting ist der Prozess der Erweiterung eines Bildes über seine ursprünglichen Grenzen hinaus. Es kann verwendet werden, um größere Bilder zu erstellen, neue Elemente zu einem Bild hinzuzufügen oder das Seitenverhältnis eines Bildes zu ändern.
- Bild-zu-Bild-Übersetzung ist der Prozess der Abbildung eines Eingangsbildes auf ein Ausgangsbild. Sie kann verwendet werden, um den künstlerischen Stil eines Bildes zu ändern, das Aussehen eines Objekts in einem Bild zu verändern oder die Qualität eines Bildes durch Erhöhung des Kontrasts oder der Farbdichte zu verbessern.
Wie funktioniert Stable Diffusion?
Stable Diffusion wurde zunächst mit von Menschen beschrifteten Bildern trainiert, die aus dem Internet gescraped wurden. Das Modell lernte, seine Ergebnisse mit Hilfe einer Technik namens “Reinforcement Learning with Human Feedback” (RLHF) zu verbessern.
In der anfänglichen Trainingsphase hatte das Grundlagenmodell die Aufgabe, die Wahrscheinlichkeitsverteilung latenter Variablen in markierten Trainingsdaten zu analysieren. Die latenten Variablen erfassen die zugrunde liegende Struktur und die Details eines Trainingsbildes und ermöglichen es dem Modell zu lernen, wie wahrscheinlich es ist, dass ein bestimmtes Bild mit der von einem Menschen erstellten Textbeschriftung übereinstimmt.
Stabile Diffusion funktioniert durch Anwendung eines Diffusionsfilters auf ein Bild mit zufälligen Pixeln, der die Werte benachbarter Pixel mittelt. Bei jeder Iteration des Deep-Learning-Prozesses entfernt der Filter mehr Rauschen aus dem Bild, bis die verbleibenden Pixel statistisch mit der vorgegebenen Textbeschreibung übereinstimmen.
Die neueste Version des Grundlagenmodells, SDXL 1.0, wurde im August 2023 veröffentlicht. Es soll mit 3,5 Milliarden Parametern und Tausenden von Hyperparametern trainiert worden sein. Laut der Website von Stability AI funktioniert das Modell deshalb so gut, weil es vor der Veröffentlichung mit über 10.000 Betatestern, die durchschnittlich 1,7 Millionen Bilder pro Tag erstellten, in großem Maßstab getestet wurde.
Hier ist ein Beispiel für ein Stable Diffusion-Bild, das mit der Textaufforderung “Graues Eichhörnchen schnuppert an gelber Blume” erstellt wurde.
Hier ist ein Beispiel für ein Stable Diffusion-Bild, das mit der Textaufforderung “Origami graues Eichhörnchen schnüffelt an einer gelben Blume” erstellt wurde.
Stabile Diffusion vs. DALL-E, Midjourney
Stable Diffusion wird oft mit DALL-E verglichen, einer proprietären generativen KI-Bild-App, die von Open AI, dem Erfinder von ChatGPT, entwickelt wurde.
Während beide KI-Modelle auf riesigen Mengen von Bilddaten trainiert wurden und beide in der Lage sind, nützliche Bilder zu erzeugen, ist DALL-E ein konditioniertes Diffusionsmodell, das externe Informationen zur Steuerung des Bilderzeugungsprozesses verwendet. Die Eingabeaufforderungen des Benutzers geben dem Modell spezifische Hinweise darauf, wie das erzeugte Bild aussehen oder aussehen sollte.
Im Gegensatz dazu ist Stable Diffusion ein quelloffenes latentes Diffusionsmodell, das Text- oder Bildaufforderungen verwendet, um eine latente Darstellung des gewünschten Bildes zu kodieren. Die latente Repräsentation steuert den Diffusionsprozess, um sicherzustellen, dass das generierte Bild statistisch gesehen der Eingabeaufforderung des Benutzers ähnlich ist.
Midjourney ist ein proprietäres latentes Diffusionsmodell zur Erzeugung von Bildern. Es ist nur über ein kostenpflichtiges Abonnement erhältlich. Es gibt keine kostenlosen oder Freemium-Versionen für den persönlichen Gebrauch.
Geschichte
Stable Diffusion wurde erstmals im Jahr 2022 veröffentlicht und wird von einem relativ neuen Forschungs- und Entwicklungsunternehmen namens Stability AI finanziert.
Die Partnerschaft des Unternehmens mit Amazon Web Services (AWS) verschaffte den Entwicklern Zugang zum Supercomputer Ezra-1 UltraCluster und versorgte Stability AI mit der Rechenleistung, die das Startup benötigte, um komplexe künstliche Intelligenz (KI)-Modelle für Bilder, Musik und Codegenerierung zu entwickeln.
Die erklärte Mission von Stability AI ist es, “KI zugänglicher und inklusiver zu machen”. Im September 2023 berichteten jedoch einige Medien, dass es Nutzern verboten wurde, Stable Diffusion auf der Google Cloud Platform (GCP) auszuführen.
Chris Perry, ein Group Product Manager bei Google, reagierte mit einem Tweet darauf, dass das Unternehmen die generative KI-App nicht verboten habe, aber Einschränkungen für kostenlose Konten vorgenommen habe, weil Stable Diffusion so beliebt geworden sei. Der Gründer von Stability AI, Mohammad Emad Mostaque, twitterte, er halte diese Entscheidung für fair.
Wie verwendet man Stable Diffusion
Stable Diffusion kann auf der Stability AI-Website oder über DreamStudio oder Clipdrop aufgerufen und kostenlos ausprobiert werden. DreamStudio ist die Webanwendung von Stability AI zur Erzeugung und Bearbeitung von Bildern, und Clipdrop ist das Ökosystem von generativen Anwendungen, Plugins und Ressourcen.
Das Modell ist auch auf einer Freemium-Basis von einer großen Anzahl von Drittanbieter-Websites verfügbar, die die Anwendungsprogrammierschnittstelle (API) von Stable Diffusion nutzen.
Gehen Sie folgendermaßen vor, um Stable Diffusion zu verwenden:
- Öffnen Sie die Stable Diffusion-Benutzeroberfläche.
- Geben Sie eine Textaufforderung ein, die ein Bild beschreibt – oder laden Sie ein Bild hoch und geben Sie eine Textaufforderung ein, wie das Bild verändert werden soll.
- Klicken Sie auf die Schaltfläche “Generieren”, um eine kleine Anzahl von Bildern basierend auf der Textaufforderung zu generieren.
- Wenn gewünscht, können Sie die Textaufforderungen und die latenten Variablen des Modells anpassen, um verschiedene Aspekte der Ausgabe zu steuern, z. B. Stil, Inhalt oder Thema.
- Wenn das Modell ein gewünschtes Ergebnis generiert, speichern Sie es lokal zur späteren Verwendung.
3 Tipps zur Verwendung von Stable Diffusion
- Geben Sie bei der Erstellung von Textaufforderungen genau vor. Dies ist wohl der schwierigste Aspekt bei der Verwendung von Stable Diffusion. Je spezifischer die Textaufforderung ist, desto besser wird die Ausgabe sein. Wenn die anfänglichen Ergebnisse des Modells suboptimal sind, sollten Sie erwägen, den Prozess mit spezifischeren Aufforderungen erneut zu beginnen.
- Verwenden Sie negative Eingabeaufforderungen, um bestimmte Elemente von der Ausgabe des Modells auszuschließen. Um beispielsweise ein Bild eines Cowboys ohne Hut zu erzeugen, verwenden Sie die negative Eingabeaufforderung “kein Hut”.
- Wenn das Modell lokal ausgeführt wird, sollten Sie eine Feinabstimmung mit einem kleineren Datensatz in Betracht ziehen, um bestimmte kreative Anforderungen zu erfüllen.
Lokale Ausführung von Stable Diffusion
Um die Kosten für die Nutzung von Stable Diffusion im großen Maßstab zu vermeiden, können technisch versierte Benutzer, die der Richtlinie zur akzeptablen Nutzung von Stability AI (AUP) zustimmen, das LDM-Modell lokal auf handelsüblichen Desktop-Computern installieren, die über eine Grafikkarte mit mindestens 7 GB Video Random Access Memory (VRAM) verfügen.
Stability AI erwartet in naher Zukunft die Veröffentlichung optimierter Versionen ihres LDM-Modells, die sowohl die Modellleistung als auch die Ausgabequalität verbessern werden. Außerdem sind Versionen geplant, mit denen Stable Diffusion auf AMD-, Macbook M1/M2- und anderen Chipsätzen funktionieren wird. (Derzeit werden NVIDIA-Chips empfohlen.)
Die lokale Ausführung von Stable Diffusion ist eine gute Option für Benutzer, die freie Bilder in großem Umfang generieren, Bilder offline generieren, Bilder privat halten oder die Stable Diffusion-Ausgaben für einen bestimmten Anwendungsfall feinabstimmen möchten.
Zum Beispiel könnte ein Entwickler Stable Diffusion lokal ausführen, um Texturen und Bilder für ein Spiel zu generieren, das er entwickelt.
Wie wird Stable Diffusion installiert
Nachdem der Benutzer die Stability.ai-Website besucht und sichergestellt hat, dass sein Computer die aktuellen Mindestanforderungen erfüllt, muss er sowohl Python als auch Git herunterladen und installieren. Sie müssen außerdem ein kostenloses Konto bei Hugging Face erstellen, um die Modellgewichte zu erhalten, und dann die folgenden Schritte ausführen:
Schritt 1: Um die Stable Diffusion Projektdateien zu erhalten, besuchen Sie die GitHub Seite für dieses Projekt. Suchen Sie in der oberen rechten Ecke die grüne Schaltfläche “Code” und klicken Sie darauf. Wählen Sie aus dem Dropdown-Menü “ZIP herunterladen”. Extrahieren Sie nach dem Herunterladen den Inhalt der ZIP-Datei. Dabei wird ein Ordner mit dem Namen “stable-diffusion-webui-master” erstellt. Um die Installation zu vereinfachen, kopieren Sie den gesamten Ordner (zusammen mit allen extrahierten Dateien) in das Stammverzeichnis des Laufwerks C: des Host-Computers.
Schritt 2: Besuchen Sie die Hugging Face Website und suchen Sie nach dem Download-Link für die Datei “768-v-ema.ckpt”. Diese Datei ist recht groß, so dass Sie während des Downloads mit einer längeren Wartezeit rechnen müssen. Nachdem der Download abgeschlossen ist, navigieren Sie zu folgendem Speicherort “C:\stable-diffusion-webui-master\models\Stable-diffusion”. Suchen Sie in diesem Ordner eine Datei namens “Put Stable Diffusion checkpoints here.txt” und fügen Sie die Datei “768-v-ema.ckpt” ein.
Schritt 3: Suchen Sie die config YAML-Datei in der heruntergeladenen ZIP-Datei von GitHub. Navigieren Sie zum Ordner “C:\stable-diffusion-webui-master\models\Stable-diffusion” und speichern Sie die YAML-Datei dort. Ändern Sie den Dateinamen in “768-v-ema.yaml” und behalten Sie die Erweiterung “.yaml” bei.
Schritt 4: Wechseln Sie in den Ordner “stable-diffusion-webui-master” und führen Sie die Datei “webui-user.bat” aus. Warten Sie ein paar Minuten. Im Befehlsfenster sollte schließlich eine Meldung erscheinen, die wie folgt lautet “Running on local URL”, gefolgt von einer URL, die die IP-Adresse des lokalen Rechners und eine Portnummer enthält. Kopieren Sie die gesamte URL (einschließlich der Portnummer) und fügen Sie sie in einen Webbrowser ein. Auf diese Weise wird die Anwendung Stable Diffusion geöffnet.
Schritt 5: Geben Sie eine Beschreibung für das gewünschte Bild ein, wenn Sie dazu aufgefordert werden. Geben Sie optional einen auszuschließenden Text in das Feld “Negativ” ein. Passen Sie die Parameter an, ändern Sie die Anzahl und Größe der Stapel wie gewünscht und klicken Sie auf die Schaltfläche “Generieren”. Die Anwendung zeigt dann die gewünschte Anzahl von Bildern auf der Grundlage der eingegebenen Daten an.
Lizenzierung
Stable Diffusion ist unter der CreativeML Open RAIL-M Lizenz lizenziert, die sowohl die kommerzielle als auch die nicht-kommerzielle Nutzung des Modells und seiner Ergebnisse erlaubt.
Es ist wichtig zu beachten, dass die Lizenz nicht das Urheberrecht für die zugrunde liegenden Materialien abdeckt, die zur Erzeugung von Bildern mit Stable Diffusion verwendet werden können.
Das bedeutet, dass, wenn ein urheberrechtlich geschütztes Foto durch Hinzufügen oder Ersetzen von Elementen innerhalb des Bildes (inpainted), durch Vergrößerung des Bildes (outpainted) oder durch Angleichung an ein Van Gogh-Gemälde (Bild-zu-Bild-Übersetzung) verändert wird, das Urheberrecht für das neu erzeugte Bild immer noch bei dem Urheberrechtsinhaber des Originalfotos liegt.