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.