Auch wenn Firmen wie Microsoft oder Adobe es uns in Zukunft besonders leicht machen wollen (und werden) KI-generierte Inhalte zu erstellen, kann es keinesfalls schaden, sich auch ein bisschen mit der Technologie im Hintergrund zu beschäftigen. Denn nur wenn man ein gewisses Gespür dafür entwickelt hat, wie die generative KI "tickt", kann man beim Prompting effektiv vorgehen.
Am Beginn war alles Rauschen
Ohne an dieser Stelle ins Detail zu gehen, steht am Beginn von den gerade heißen KI-Diffusionsmodellen immer ein Rauschen. Und aus diesem Rauschen wird anschließend durch eine Art Denoising sukzessive ein Bild entwickelt. Das KI-Modell ersetzt dabei schrittweise immer etwas Rauschen durch etwas Inhalt, den es versucht, plausibel dazu zu erfinden.
Die Berechnung dieser Schritte ist dabei deterministisch. Das bedeutet, dass bei der Berechnung der einzelnen Schritte kein Zufall im Spiel ist und bei gleichem Input auch immer der gleiche Output erzeugt wird.
Das einzige, was bei der Berechnung zufällig ist, ist das Rauschen am Beginn des Prozesses. Und darum entsteht bei jeder neuen Berechnung immer ein anderes Bild.
Doch schon weit vor der Erfindung von Stable Diffusion hatten Programmierer mit jeglicher Form des Zufalls gelegentlich sehr spezielle Probleme: Wenn man einen Algorithmus testet, will man ja oft sehen, wie sich Veränderungen am Code auf das Ergebnis auswirken. Startet man immer mit jeweils zufälligen Werten, so bekommt man jedoch keine vergleichbaren Ergebnisse.
(Nicht nur) aus diesem Grund sind die meisten Zufallsgeneratoren so gestrickt, dass sie aus einer zufälligen Startzahl immer die gleichen Zufallsverteilungen generieren. Und diese Startzahl ist der Seed.

Was ist der Seed?
Der Begriff "Seed" (engl. für Samen) kommt also nicht von ungefähr, sondern beschreibt im Zusammenhang mit generativen KI-Modellen den Startpunkt des Zufallsgenerators. Will man im laufenden Programm möglichst "unvorhersehbaren Zufall" erzeugen, nimmt man als Seed eine "echte" Zufallszahl. Will man dagegen immer mit der gleichen Zufallsverteilung arbeiten, sucht man sich selbst eine beliebige Zahl als Startwert/Seed des Zufallsgenerators aus. Dieser erzeugt daraufhin immer die gleiche Folge von Zufallszahlen, die dann - nebenbei erwähnt - ebenso deterministisch ist.
Was nutzt mir die Seed bei der KI-Bilderstellung?
Wenn man in Stable Diffusion oder Midjourney ein Bild erzeugt, so startet der KI-Bildgenerator per Default immer mit einem zufälligen Seed, damit man mit jedem Versuch ein komplett neues Bild zu sehen bekommt. Will man jedoch an einem prinzipiell guten Ergebnis mit ein paar Parameter-Veränderungen weiter herumexperimentieren, so will man mit derselben Zufallsverteilung weiterarbeiten. In diesem Fall stellt man den Zufallsgenerator faktisch aus, indem man für die folgenden Versuche den gleichen Seed verwendet. Denn bei konstantem Seed gibt der Generator dann bei ansonsten gleichen Parametern auch immer exakt das gleiche Bild-Ergebnis aus.
Möglichkeiten für den Seed
Ein fester Seed als Startwert für den Zufallsgenerator ist zugleich auch eine Möglichkeit anderen Anwendern seine Prompt-Ergebnisse zum Experimentieren weiterzugeben. Denn gibt man Seed und Prompt-Liste einem anderen Anwender, kann dieser mit dem gleichen Modell exakt das gleiche Bild erzeugen und von dort aus mit eigenen Experimenten weitermachen.
Die Kenntnis des Seeds kann auch praktisch sein, wenn die Oberfläche eines Programms eigentlich gar keine Seeds unterstützt. In Adobes Beta-Version von Firefly ist es beispielsweise nicht möglich, selbst einen Seed zu bestimmen. Wer jedoch in die URL des Browsers schaut, sieht die exakten Seed-Werte, die dort unverschlüsselt mit den übrigen Parametern übergeben werden.
Will man sich also in Firefly eigene Ergebnisse merken, genügt es sich die URL zu kopieren, bzw sogar in mehreren Durchläufen seine besten Seeds zu notieren, um anschließend von diesen aus weitere "Forks" zu erzeugen. Dies sind Abzweigungen im Stammbaum der eigenen Prompt Versuche, aber das ist schon ein anderes Thema...