Text-zu-Bild: Stable Diffusion 1.5 mit verbesserten Autoencodern erschienen

Version 1.5 von Stable Diffusion ist da. Der Rollout ruckelte zunächst, was Fans des frei verfügbaren KI-Systems verwirrte. Mittlerweile wirkt alles stabil.

In Pocket speichern vorlesen Druckansicht 4 Kommentare lesen

Text prompt: "A beautiful harmonic Release number 1.5 of Stable Diffusion, expected by many, in glorious mild autumnal sunshine. Oil painting 19th century, German romanticism." – created with Stable Diffusion

(Bild: Chelys Galactica)

Lesezeit: 9 Min.
Von
  • Silke Hahn
  • Robin Rombach
Inhaltsverzeichnis

Zwei Tage nach der erfolgreichen Finanzierungsrunde von Stability AI kam Stable Diffusion 1.5 heraus, die neueste Version des latenten Text-zu-Bild-Diffusionsmodells – "oder auch nicht", wie Fans und Nutzer des Open-Source-KI-Systems zunächst rätselten. Vorübergehend kursierte der Hashtag #StableConfusion, denn die Umstände des Release hatten bei einigen Stabilisten für Verwirrung gesorgt. Herausgeber ist diesmal die in New York ansässige KI-Firma Runway ML. Version 1.0 war im CompVis-Repository der Heidelberger (später nach München übersiedelten) ComputerVision Group erschienen. Zudem scheint die Freigabe etwas unkoordiniert erfolgt zu sein, sodass das Release zunächst ohne Ankündigung im Repository stand, dann zurückgezogen oder gesperrt wurde und vorübergehend mit einem Hinweis auf laufende Prüfung versehen war.

Unterdessen hatten einige User sich die Weights schon heruntergeladen, während andere ratlos um das gesperrte Repository tigerten. Als die heise-Developer-Redaktion bei Hugging Face vorbeischaute, war bereits alles im Lot. Im Netz sprechen sich manche Nutzer dafür aus, dass man Stable Diffusion (SD) lieber so schnell wie möglich herunterladen solle. Man wisse ja nie, wann die Keule der Legislatoren zuschlage und der freien Verfügbarkeit den Garaus mache, argumentiert ein Hackernews-Autor namens machina_ex_deus am 21. Oktober 2022, dem Release-Tag, in dem Thread "Why we chose not to release Stable Diffusion 1.5 as quickly".

Die Redaktion möchte den Betroffenen mit Douglas Adams "Don't Panic" zurufen, denn es besteht wohl kein Grund zur Panik. Runway und einige weitere Partner hatten gemeinsam das Projekt auf die Beine gestellt, wie in den Blogeinträgen von Stability AI zum Forschungs- und Public Release der Version 1.0 im August zu lesen war (heise online hatte berichtet). Aufgrund der Namensverwandtschaft des Gesamtprojekts mit der Firma Stability scheint aus dem Blick geraten zu sein, dass es sich um ein Gemeinschaftsprojekt mit mehreren Partnern handelt. Der Forschungskern war in der Heidelberger ComputerVision Group verankert.

Stability AI ist der Hauptgeldgeber für die bei AWS gemieteten Hardware-Ressourcen und das wirtschaftliche Rückgrat des Open-Source-Projekts. Stability-CEO Emad Mostaque hat zurzeit die höchste Bühnenpräsenz derer, die hinter Stable Diffusion stehen. Tatsache ist, dass es sich um ein Gemeinschaftsprojekt handelt und dass die vorwiegend deutschen Forscher, die die wissenschaftliche Vorarbeit für Stable Diffusion und Latent Diffusion leisteten, nicht unbedingt das Rampenlicht suchen. Wenig hilfreich war in dem Zusammenhang, dass im Titel der öffentlichen Aufzeichnung des Events zur Finanzierungsrunde von Stability AI kurz vor dem Release von "Stability Diffusion" die Rede war, offenbar irrtümlich. In der Forschung ist es üblich, dass über Fach-, Instituts- und Firmengrenzen hinweg Zusammenarbeit in Teams stattfindet. Kein Grund zur Panik.

Version 1.5 soll das Guidance-Sampling verbessert haben, das ohne Klassifikator auskommt. Dafür hatte das Forschungsteam des Projekts um Robin Rombach und Patrick Esser den Checkpoint mit den Gewichten der Version 1.2 initialisiert und ein Feintuning durchgeführt. Grundsätzlich war die Technik schon in Version 1.4 enthalten, 1.5 wurde lediglich länger trainiert: In 595.000 Schritten stimmte das Team das Modell bei einer Auflösung von 512 x 512 Pixeln auf den 5 Milliarden Bild-Text-Paare verzeichnenden Datensatz LAION-Aesthetics (Version 2) ab. Bei der Feinabstimmung reduzierten die Forscher die Textkonditionierung um zehn Prozent.

Wie der Autor des Modells Robin Rombach auf Nachfrage mitteilte, bedeutet "reduzierte Textkonditionierung" Folgendes: Man könnte damit ein Modell trainieren, das keinen Textinput mehr braucht, um schöne Bilder zu erzeugen. "Das hat allerdings ein paar Nachteile: Erstens hat man keine Kontrolle über den Prozess, und zweitens hat sich herausgestellt, dass ein Konditionierungssignal wie hier Text essenziell ist, um überhaupt schöne Ergebnisse zu bekommen. Ohne ein solches Signal könnte man nämlich Classifier-free Guidance nicht verwenden", so Rombach im Wortlaut.

Beim Sampling gibt es zwei Ansätze: Classifier Guidance (was man im Deutschen grob als "klassifikatorgeführt" wiedergeben kann) und Classifier-free Guidance. Der Vorteil bei Letzterem ist, dass es keinen expliziten Classifier braucht, nur einen "Drop-out" auf die Text-Captions. Klassifikatorgeführtes Sampling ist eine neuere Methode, um bei Diffusionsmodellen nach Abschluss des Trainings einen Kompromiss zwischen Diversität und Qualität des Samples zu erreichen (Sample Fidelity, zu Deutsch: "Stichprobentreue"). Das Vorgehen ähnelt dem Sampling bei niedriger Temperature oder der Truncation-Methode bei anderen Diffusionsmodellen. Die Klassifikatorführung kombiniert die Score-Schätzung eines Diffusionsmodells mit dem Gradienten eines Bildklassifikators, sodass ein vom Diffusionsmodell getrennter Bildklassifikator zu trainieren ist. Das Vorgehen hatten Jonathan Ho und Tim Salimans von Google Brain in einem Forschungsbeitrag Ende Juli auf arxiv.org vorgestellt.

Offenbar konnte das Stable-Diffusion-Team daran anknüpfen und legt mit Version 1.5 ein generatives KI-Modell vor, dessen Guidance ohne Klassifikator auskommt. Stable Diffusion verwendet eine Classifier-free Guidance: Die Methode hatte das SD-Forschungsteam zunächst als "Unconditional Diffusion Guidance" bezeichnet, mit beidem ist das Gleiche gemeint. Die Grundidee ist die folgende: Dafür trainiert das Team ein "konditioniertes" und ein "unkonditioniertes" Diffusionsmodell (conditional und unconditional) gemeinsam und kombiniert die daraus resultierenden bedingten und unbedingten Score-Schätzungen. Das Unconditional Model ist dasselbe Modell wie Stable Diffusion, enthält aber einen leeren Textprompt – wegen des Drop-outs hatte das Team im Zuge des Trainings leere Textprompts mit zehnprozentiger Wahrscheinlichkeit gesehen. Das Conditional Model ist das normale SD-Modell mit Text-Input, daher textlich bedingt (konditioniert). In dieser Kombination gelingt es dem Team, den Sampling-Prozess "mehr in die Richtung des Conditional-Signals, also des Texts zu drücken", wie Rombach gegenüber heise Developer erklärt. Das gehe einfach, indem man die Differenz der beiden Werte (Scores) bildet.

Den Weg skizzierten auch Salimans und Ho in ihrem Paper. Das Ziel dabei ist, wie beim klassifikatorgeleiteten Samplen, einen Kompromiss zwischen der Qualität der einzelnen Sample und ihrer Diversität zu erreichen. Gleichzeitig mit dem Modell sind zwei verbesserte Autoencoder erschienen, die vom ursprünglichen kl-f8-Autoencoder abgeleitet sind, der in Version 1.0 enthalten ist. Um die Kompatibilität mit den bestehenden Modellen zu wahren, hat das Team nur den Decoderteil feingetunt. Die Checkpoints lassen sich als Ersatz für den bestehenden Autoencoder verwenden. Details dazu stehen in einer Beschreibung bei Hugging Face. Dort findet sich auch die Downloadmöglichkeit und einige Beispielbilder sind hinterlegt.

Die Gewichte von Stable Diffusion 1.5 lassen sich bei im Runway-ML-Repository herunterladen, dort liegen zwei Download-Varianten vor: eine ist 4,27 Gigabyte groß (v1-5-pruned-amaonly.ckpt), die andere 7,7 Gigabyte (v1-5-pruned.ckpt). Der Autoencoder ist in beiden Checkpoints enthalten – ihn braucht man zwingend, sonst bekommt man keine Bilder. Der Unterschied ist, dass der größere Checkpoint sowohl "normale" als auch über das Training gemittelte Checkpoints enthält. "Dieses Mitteln (Exponential Moving Average, deshalb kurz EMA) hat sich als wichtig herausgestellt, um die Performance von Diffusion Models noch weiter zu erhöhen", erklärte Robin Rombach der Developer-Redaktion. Der kleinere Checkpoint hingegen enthält nur diese gemittelten Gewichte. Inferenz und Feintuning sind mit beiden möglich.

Wie Version 1.0 unterliegt das Modell der CreativeML-Lizenz OpenRAIL M, die eine Hugging-Face-Sonderlocke ist und im Umfeld des großen Sprachmodells BLOOM entwickelt worden war. Das Modell lässt sich zum Erstellen und Verändern von Bildern auf Basis von Texteingaben nutzen (Textprompts). Wer sich genauer für die zugrundeliegenden Techniken interessiert und das Gewordensein des Modells verstehen möchte, kann sich in Robin Rombachs Paper "High-Resolution Image Synthesis with Latent Diffusion Models" vertiefen. Rombach hatte im Team mit Andreas Blattmann, Dominik Lorenz, Patrick Esser und dem Münchener Machine-Learning-Professor Björn Ommer die praktischen Grundlagen für das Diffusionsmodell entwickelt.

Missbrauch des Modells in Form böswilliger Verwendung ist untersagt. Hierfür orientiert sich das Team an den Einschränkungen anderer Modelle wie DALL·E mini (nun Craiyon, das Open Source ist und nur namentlich an das Modell von OpenAI angelehnt ist, aber andere Herausgeber hat). In der bei Hugging Face hinterlegten Modellkarte lassen sich die Einschränkungen im Detail nachlesen. Stable Diffusion ist auf dem Datensatz LAION-5B trainiert worden, der auch anstößige und nicht jugendfreie Bilder verzeichnet. Wer das Modell in Produkten nutzen möchte, muss daher selbst für geeignete Sicherheitsmechanismen oder Filter sorgen.

Der Datensatz enthält großteils englischsprachige Bildunterschriften, daher funktioniert das Prompten in dieser Sprache auch besser als in anderen, wenngleich Stable Diffusion durchaus auch auf Prompts in anderen Sprachen reagiert und beispielsweise eine feingetunte japanische Version mittlerweile entstanden ist (Japanese Stable Diffusion). Weitere Einschränkungen betreffen die Wiedergabe von Text: Stable Diffusion kann (wie auch DALL·E 2) keinen lesbaren Text produzieren, zudem erreicht es keinen Fotorealismus.

(sih)