Nun habe auch ich sie gefunden, eine quelloffene Alternative zu ChatGPT. Ich bezeichne Open Assistant mal so, auch wenn es vielleicht nicht so gedacht ist. Und ich werde mich mal näher damit befassen und hier einiges zum nachlesen veröffentlichen. Zuerst ist es gut, das Open Assitant auch in deutsch kommunzieren kann. Jedoch habe ich, angeregt durch das Buch:
AI Prompt Masterbook: Over 800 prompt examples for ChatGPT, Midjourney & Stable Diffusion: Learn from the best prompt example lists for AI image & text generators the art of prompting. von Roth, Henrik
mal ein paar englische Test“s gemacht. Hier die Bitte eine nostalgische Landschaft zu beschreiben:
Please describe a landscape that evokes a feeling of nostalgia
Und der Open Assistant gibt mir folgende Beschreibung:
A serene and peaceful countryside with rolling hills, vast green fields, old barns,
and rustic farm houses would evoke feelings of nostalgia for many people. The golden sun
setting behind the trees on the horizon is a beautiful sight to behold and one that many
people associate with simpler times in their lives. It's a scene that brings back
memories of childhood, family gatherings, and long summer evenings spent
outdoors. This idyllic landscape reminds us of a time when life moved at
a slower pace and people took more time to appreciate nature's beauty.
(Model: oasst-sft-6-llama-30b )
Ok, Und wie stellt sich eine andere KI (stable Diffusion) das bildlich vor?
Na das klappt doch auch ganz gut. Und das ganze ohne grosses Feintuning was das Bild angeht.
Es ist ja an sich faszinierend, was KI- System heute mittlerweile leisten können. Als ich Anfang der 90’er Jahre Ladungsdichten und chemische Verschiebung von Naphthalinderivaten miteinander verknüpft habe waren backpropagation netze das aktuelle non plus ultra. Es funktionierten damit verschieden Dinge, auch meine Vorhersagen. Heute, Generationen von Computern später, scheint es so, das der Turing Test kein Kriterium mehr für Intelligenz ist. Und das interessanteste (oder auch beunruhigendste) ist, das die Entwicklung noch lange nicht am Ende ist. Ich habe nun mal ChatGPT mit stable Diffusion kombiniert. Die Aufgabe fyr den ChatBot war die Beschreibung einer mittelalterlich deutschen Stadt. Folgende 3 Absätze waren der Auftakt der umfangreichen Beschreibung:
Die mittelalterlichen deutschen Städte waren oft von einer gut erhaltenen Stadtmauer umgeben und hatten ein Labyrinth von gepflasterten Gassen und Straßen, die von Fachwerkhäusern mit spitzen Giebeln gesäumt waren. Hier ist eine Beschreibung einer typischen mittelalterlichen deutschen Stadt:
Die Stadtmauer erstreckt sich majestätisch um die gesamte Stadt und besteht aus massiven Steinmauern, die von hohen Wehrtürmen und Bastionen gesäumt sind. Der Zugang zur Stadt erfolgt durch massive Tore mit hohen Holztoren, die von Wächtern bewacht werden. Jedes Tor ist mit Fallgittern und Zugbrücken gesichert, um die Stadt vor Eindringlingen zu schützen.
Beim Betreten der Stadt findet man sich in einem belebten Marktplatz wieder, der von eng aneinander gereihten Fachwerkhäusern dominiert wird. Die Fachwerkhäuser sind mit Holzbalken in einem charakteristischen Rautenmuster verziert und haben oft bunte Fensterläden und aufwändige Schnitzereien an den Giebeln. Die Straßen sind schmal und von Kopfsteinpflaster geprägt, und es gibt zahlreiche Markstände und Stände, an denen Waren und Waren aller Art gehandelt werden.
Den Text habe ich schnell mit Deepl.com in das englische übersetzt (übrigens auch ein KI System) und in meine lokale Stable Diffusion Installation gegeben. Es ergabe sich folgender prompt:
The city wall extends majestically around the entire city and consists of massive stone walls lined with high defense towers and bastions. Access to the city is through massive gates with high wooden gates guarded by guards. Each gate is secured with portcullis and drawbridges to protect the city from intruders. Upon entering the town, one finds oneself in a bustling marketplace dominated by closely spaced half-timbered houses. The half-timbered houses are decorated with wooden beams in a characteristic diamond pattern and often have colorful shutters and intricate carvings on the gables. The streets are narrow and characterized by cobblestones, and there are numerous market stalls and booths trading goods and wares of all kinds.
Und nun ein Beispielbild dazu:
Mit Stable Diffusion generiertes Bild
Wenn jetzt noch die Programme direkt miteinander kommunizieren, dann haben wir die unendliche Kunst Maschine. Ob das toll ist?
Im zweiten Teil meines kleinen Exkurses in die Stable Diffusion WebUI werde ich mich mit den Parametern zur Bildgenerierung beschäftigen. Die Steuerzentrale findet sich auf der linken Seite der WebUI und ist hier noch einmal dargestellt.
Zur Demonstration werde ich einige Beispielbilder generieren. Das Ausgangsbild für alle Variationen ist das nachfolgende. Die Parameter packe ich in eine Spoiler-Box.
"Startparameter"
one astronaut is looking at a colorful flower at the moon
Negative prompt: stock image, blocks, jpeg, jpg, dusty particles, blurry, smooth, smudges, frame, words, text, signature, watermark, paint brush, drawing pad
Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 3096444021, Size: 512x512, Model hash: e1441589a6, Model: v1-5-pruned
Widmen wir uns nun zuerst der Sampling Methode. Hier gibt es mittlerweile eine Vielzahl von Algorithmen. Technisch kann man sich das so vorstellen: Stable Diffusion braucht ein Startbild aus dem es unter Berücksichtigung des Prompts Rauschen entfernt. Dazu werden sogenannte VAE (variational autoencoder) verwendet. Diese stellen neuronale Netze dar, die aus Datensätzen nützliche Informationen extrahieren sollen. VAE finden daher nicht nur bei der Bildgenerierung Anwendung (für manche Modelle muß man auch die passenden VAE mit laden). StabilityAI, die Macher von stable Diffusion, haben sich für die Bilderstellung für die Verwendung von sampling Methoden entschieden. Sie sind daher eine große Spielwiese zum Probieren. Und man kann nicht wirklich sagen, welche Methode die Beste ist. Die folgende große Abbildung zeigt eine Vielzahl verschiedener Bilder, die mit unterschiedlichen Sampling Methoden erzeugt wurden. Die linke Spalte enthält dabei den Seed unseres Startbildes. Ich habe noch weitere zufällig erzeugte Seeds mit aufgenommen, damit man auch einen Eindruck erhält, wieweit die Seeds (die die Generierung des Startrauschens beeinflussen) sich auf das erzeugte Bild auswirken.
Was mir dabei auffällt ist, das wir sehr viele Astronauten haben, mit Gesicht, ohne Gesicht, männliche und weibliche Astronauten. Dazu sehr oft auch der Mond, aber Blumen erscheinen nur auf einem Bild. Das ist jetzt auch nicht unbedingt verwunderlich, denn es wird sicher nicht viele Bilder geben, die einen Astronauten auf dem Mond zeigen, der eine Blume anschaut. Wer will, kann gerne einmal die Suchmaschine seines geringsten Misstrauens mit einer Bildersuche betrauen. Das ist übrigens auch eine gute Idee, um generell mal einen Prompt zu testen. Vor allem wenn er nicht das liefert, was man sich so vorstellt.
Der nächste und für diesen Teil letzte Parameter ist der cfg- Wert. Er bestimmt, wie exakt sich das Modell an den Prompt halten soll. Ein niedriger Wert bietet dem Modell mehr Freiheiten, ein hoher Wert liegt dann halt näher am Prompt. Das folgende Bild zeigt dies wieder für verschiedene Seeds und cfg- Werte.
Bei unterschiedlichen Seeds mit unterschiedlichen cfg- Werten generierte Bilder.
Deutlich erkennbar ist eigentlich nur ein qualitativer Abfall bei einem cfg- Wert von 3 und 5. Danach sind die Unterschiede wenig signifikant. Und wir finden erstmals ein Bild, bei dem ein Astronaut ein Blume betrachtet.
Und zum Abschluss noch eine Darstellung mit den 5 seeds u7nd unterschiedlichen Modellen. Man erkennt schon einen großen Einfluss der Modell auf das Resultat wobei keine Anpassung der Prompts vorgenommen wurde. Hier finden sich dann durchaus Ergebnisse die dem von mir erhofften nahe kommen.
Um dir ein optimales Erlebnis zu bieten, verwenden wir Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wenn du diesen Technologien zustimmst, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn du deine Zustimmung nicht erteilst oder zurückziehst, können bestimmte Merkmale und Funktionen beeinträchtigt werden.
Funktional
Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt.Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.