"A journalist who is also a bad programmer, stylized in the style of Gary Larson"
Bild generiert von DeepFloyd IF: "A yellow-press reporter working on his computer, with a bottle of wine, in the style of Hieronymus Bosch, oil on canvas, digital art, high quality"

Ein Post vom KI-Wagner: Wie ich GPT-3 dazu brachte, den „Gossen-Goethe“ nachzumachen

Was KI braucht, um den Stil eines Autors zu kopieren – insbesondere einen sehr prägnanten wie Franz Josef Wagner: Eine gute Beschreibung der Person – und viel weniger Anschauungsmaterial als man denkt.

Weiterlesen: Ein Post vom KI-Wagner: Wie ich GPT-3 dazu brachte, den „Gossen-Goethe“ nachzumachen

Bubi Scholz, Boxer und tragischer Held des 80er-Jahre-Westberlins, war gestorben, nach vielen Jahren Demenz – und das Springer-Krawallblatt „BZ“ verabschiedete ihn mit einer Schlagzeile, die so entsetzlich war wie genial: „Sein letzter Kampf: Bubi schrecklich am Brötchen erstickt!“ Bis heute hebe ich die BZ-Titelseite irgendwo auf – und andere „BZ“-Schlagzeilen aus meiner Berliner Zeit haben sich ebenso eingebrannt: „Zoo-Chefin isst Streicheltiere auf“ (fragt nicht). „BZ“-Chefredakteur und verantwortlich für diese Schlagzeilen war: Franz Josef Wagner. Man kann sagen von ihm, was man will: Texten kann er.

Franz Josef Wagner war Kriegskorrespondent, Bouldevard-Reporter, Bunte- und BZ-Chefredakteur, ließ die Schwimmerin Franziska von Almsick als „Molch“ bezeichnen, musste gehen, und ist seitdem Bild-Autor – seit über zwanzig Jahren schreibt er montags bis freitags eine „Post von Wagner“-Kolumne. Gaga oder großartig? Sie ist zumindest eins: sehr eigen. Wer sich ins Werk des Meisters einlesen möchte: Das Bildblog hat da einiges zu bieten.

Hey, GPT – vervollständige: Wagner!

Als ich im Sommer 2022 erste Zugänge zu KI-Sprachmodellen hatte, wollte ich wissen: Kann eine KI wie Wagner schreiben? ChatGPT gab es damals noch nicht; der normale Zugang für so ein Experiment war der „Playground“ – eine Eingabemaske, in die man Text einkopiert, und das Sprachmodell versucht dann eine „completion“ – platt gesagt: es schreibt ihn weiter.

Mein Experiment ging dann so: Ich stellte einen Text zusammen, der dem Modell alles geben sollte, was es brauchte, um ein vorgegebenes Thema zu einer Wagner-Kolumne auszubauen; mehr dazu gleich. Ich drehte die Qualität des Modells etwas hoch – indem ich es anwies, drei Versionen zu generieren und jeweils die beste zu wählen – „best of 3“. Dann dachte ich über ein möglichst idiotisches Thema nach, tippte ein: „Lieber Waschmaschinen-Ablaufkrümmer“…

drückte Return…

…und wurde im allerersten Anlauf – ischwör! – mit diesem wunderschönen Text beschenkt:

Lieber Waschmaschinen-Ablaufkrümmer,
ich freue mich, dass es dich gibt. Wir hatten schon lange keinen Kontakt mehr. Seit der neuen Waschmaschine ist alles anders.
Du bist nicht mehr das, was du einmal warst. Jetzt bist du aus Kunststoff und hast einen kleinen Griff. In der alten Maschine warst du aus Metall und hast an einem langen Hebel gehangen. Du warst ein Hingucker, ein Blickfang.
Jetzt hängst du an der Tür, deprimiert und vergessen. Nie mehr werden sich Frauen über dich beugen und mit ihrer Hand in deinen Ausschnitt greifen. Jetzt wirst du nur noch von Männern besucht, die dir die Haare entwirren.
Früher war alles anders. Die Frauen saßen auf dem Boden vor der Waschmaschine und haben mit den Beinen die Trommel gedreht. Du warst ihr Spielzeug, ihr Lustobjekt. Sie haben dich sanft berührt und gefühlvoll massiert. Das ist alles vorbei. Jetzt bist du nur noch eine graue Schlacke, die ab und zu aus der Waschmaschine kommt und in den Abfluss wandert.
Wir werden uns nicht mehr sehen, denn ich brauche dich nicht mehr. Du warst immer nur ein Gerät, das seinen Zweck erfüllte. Jetzt erfüllt er ein anderes Gerät den Zweck. Mach's gut, Waschmaschinen-Ablaufkrümmer.
Herzlichst, Dein Franz-Josef Wagner.

Mit diesem Rezept funktionierte es eigentlich immer. Das meiste war in Ordnung, einiges sogar richtig gut – wie hier, als ich GPT-3 bat, einen Wagner an die Kinder von Elon Musk und Grimes zu verfassen:

Liebe X Æ A-12 und Exa Dark Sideræl, liebe Kinder von Elon Musk,
Eure mutige Mama Grimes macht alles, was sie will. Sie verändert ihren Namen und bestimmt, dass auch Ihr zwei andere Namen kriegt. In unserem konservativen Land sind solche Sachen nicht so einfach.
Man muss erst vor Gericht gehen, Papiere einreichen und gegen die bösen Beamten ankämpfen. Aber Grimes‘ Kinder werden X Æ A-12 und Exa Dark Sideræl heißen - schon gelaufen.
Man weiß ja nie, ob in 100 Jahren noch Menschen auf der Erde leben oder Maschinen. Vielleicht haben Eure Mutti und Euer Vater Recht und es gibt in 100 Jahren keine Menschen mehr auf der Erde. Dann werden die Maschinen die Welt beherrschen. Und dann wird man sich fragen: Warum hieß dieser Mensch X Æ A-12?
Macht Eurer Mutti einfach keine Vorwürfe, sie hat alle Sterne am Himmel gezählt und versucht nur, uns mitzuteilen, dass es sich lohnt, für etwas zu kämpfen - auch wenn der Weg lang und steinig ist.
Mut ist ansteckend! Also seht zu, dass Ihr immer mutig seid!

Herzlichst, Euer Franz-Josef Wagner.

Übrigens, um nicht immer nur auf die OpenAI-Modelle zu starren: Im „Playground“ der deutschen Sprachmodell-Konkurrenz von Aleph Alpha funktioniert das Rezept fast genauso gut.

Wer wissen möchte, was ich der KI geschrieben habe, kann sich hier meine Vorlage herunterladen (PDF) – oder weiterlesen und sich mit mir die Konstruktionsprinzipien dahinter anschauen.

Wie man eine Wagner-Imitation promptet

Inzwischen gibt es ChatGPT, und wir alle sind ja inzwischen genauso KI-Experten, wie wir vorher Virologen waren. Wir wissen natürlich, dass man eine Textvorlage für die KI ein „Prompt“ nennt – und dass die ChatGPT-Oberfläche eigentlich auch nur Text vervollständigt: Letzten Endes ist alles eine „Completion“, ein Text-zu-Ende-Schreiben

Wenn man die KI dazu bringen will, eine „Liebe/r XY…“-Zeile im Stil von Wagner zu vervollständigen, hat man vier Möglichkeiten:

Prompt: "A tutorial on how to fix the flat back tire of a bicycle, written in the style of Ernest Hemingway: " Completion reads: "It was a simple task, replacing the flat tire of a bicycle, and yet it seemed daunting. But I was determined to take it on. The first step was to remove the wheel from the bike. I loosened the quick release and gently pulled it off, careful not to scratch the frame. Next I deflated the tire and removed the tube, taking special care to look for any sharp objects that could have caused the puncture. I then cleaned the rim and the tire, making sure that any dirt or debris was removed. After that, I put a new tube in the tire and inflated it. Finally, I put the wheel back on the bike, tightening the quick release, and gave it a spin to make sure that it was secure. And with that, it was done. The flat tire was fixed."
GPT-3 ist sich sicher: So würde Hemingway einen platten Reifen reparieren.
  1. Einfache Anweisung. Genauso wie ich einer Bild-KI sagen kann: Erstelle das Bild eines Boulevard-Reporters im Stil von Hieronymus Bosch (siehe Titelbild), kann ich einer Text-KI sagen: Erstelle einen Text im Stile von, sagen wir, Shakespeare (sehr gut), Hemingway (ganz gut), oder eben: Wagner: Die KI-Modellbastler nennen das ein „zero-shot prompt“; es setzt voraus, dass das, was erstellt werden soll, sich in ausreichender Menge im Trainingsmaterial findet. Jetzt bin ich zwar sicher, dass auch Wagner-„Bild“-Kolumnen zum Trainingsmaterial gehörten, weil sich die KI mal über einen halluzinierten Link zu „Bild“ verraten hat, aber bei Wagner gilt: Hier braucht die KI mehr.
  2. Einfache Anweisung, ergänzt mit Informationen zum Kontext. Keinerlei Wissen voraussetzen! Das ist das Geheimnis eines guten Prompts. Letzten Endes geht es darum, die KI auf der unendlichen Karte aller möglichen Themen und Stile zu einem bestimmten Punkt zu schicken, und sie dort ein wenig durch die Gegend wandern zu lassen. Dabei helfen der KI alle Orientierungspunkte – zum Beispiel eine Beschreibung der Person, die sie imitieren soll: Deshalb beschreibe ich in vier, fünf Zeilen, was FJW als Autor ausmacht – angelehnt an seinen Wikipedia-Eintrag.
  3. Beispiele mitliefern. Ich zeige der KI, welche Art Texte sie produzieren soll. In der Fachsprache der KI-Modellbastler ist das ein „Few-Shot Prompt“, und es bietet die besten Chancen, unseren Wagner-Klon erfolgreich zu machen.
    Damit die KI sich gut an den Beispielen orientieren kann, strukturiere ich sie mit Hilfe von „Stop-Tokens“, vorher vereinbarten Abschnitts-Markierungen – etwa so:
    ###
    Lieber Jogi Löw,
    (...)
    ###
    Liebe Grüne,
    (...)
    ###
    An diesen Beispielen kann sich die KI beim Texten orientieren – und wie gesagt: das war der Schlüssel zum Erfolg.
  4. Beispiele mitliefern, Nerd-Variante. Wer programmieren kann, hat noch eine andere Möglichkeit – man kann das KI-Sprachmodell nachtrainieren. GPT hat kein Gedächtnis – das hatte ich ja auch bei meinen Experimenten mit dem Lange-Texte-Zusammenfasser erleben müssen – aber es gibt die Möglichkeit, dem neuronalen Netz einzelne neue Fähigkeiten beizubringen. Der Prozess heißt Fine-Tuning, ist von OpenAI leider auf die etwas älteren Sprachmodelle beschränkt, und erfordert viel Traingsmaterial – aus dem OpenAI dann eine spezielle, mit den Beispielen nachtrainierte Variante des Sprachmodells erstellt, die nur der Besteller nutzen kann. Der sehr bewundernswerte Kollege Gregor Schmalzried hat GPT-3 darauf trainiert, ihn zu kopieren, und stilistisch sehr stimmige Ergebnisse erzielt – aber im allgemeinen denke ich, dass „Fine-Tuning“ häufig die Mühe und die Kosten nicht lohnt. Aussagen von Maschinenlern-Profis und experimentierfreudigen Laien deuten das ebenso an wie ein eigenes Experiment mit einem Übersetzer in „Leichte Sprache“ – davon ein andermal mehr.

Also, halten wir fest: Texte nach Vorbild bekommt man mit einer einfachen Anweisung, einer Anweisung mit Kontext, einem „Few-Shot“-Prompt mit strukturierten Beispielen, oder von einem via „Fine-Tuning“ nachtrainierten Modell. Für ein Ziel wie meins – Texte in einem bestimmten Stil zu produzieren – ist das „Few-Shot“-Prompt die beste Wahl.

Wieviele Beispiele braucht die KI eigentlich?

Meine naive Antwort darauf war: so viele wie möglich. Sprachmodelle haben nur einen begrenzten Horizont an Wörtern, die sie gleichzeitig verarbeiten können – darüber haben wir ja letztes Mal schon gesprochen – aber den habe ich zunächst bis zum Anschlag ausgereizt: vier, fünf Beispiele für Post-von-Wagner-Kolumnen – und ein langer Interview-Ausschnitt aus der Süddeutschen.

Das Interview flog als erstes wieder raus. Wagners nachdenkliche, kluge Antworten im Gespräch wirkten sich negativ auf den Stil der Kolumnen aus. Aber: brauchte es auch alle Beispiele? Ich fand heraus, dass ein sehr kluger KI-Bastler Wagner längst kopiert hatte (Reddit) – mit nur zwei Beispiel-Kolumnen im Prompt.

Benchmarks der „Luminous“-Modelle der deutschen OpenAI-Konkurrenz Aleph Alpha (Quelle): mehr als zwei Beispiele führen

Tatsächlich zeigt ein Blick zur Konkurrenz: Mehr Beispiele bedeuten nicht wirklich bessere Ergebnisse. Das deutsche Aleph-Alpha-Modell kann annähernd so gut wagnern wie GPT-3 – und die Macher des Modells haben belastbare Hinweise, wie viele Beispiele man nutzen sollte: Benchmark-Tests der Aleph-Alpha-Modelle erzielen mit zwei Beispielen bessere Ergebnisse als mit drei oder vier Beispielen, und annähernd so gute wie mit fünf. Vermutlich ist das auf die GPT-Modelle von OpenAI übertragbar: Wenn man nicht fünf Beispiele mitliefern kann, sollte man es mit nur zwei versuchen.

Kleingedruckte Einstellungen

Ein Wort noch zu den sonstigen Einstellungen im „Playground“: Wesentliches Merkmal der „Post von Wagner“ sind die absurden Gedankensprünge – vom Schloss zur Einzimmerwohnung, vom Hemd mit dem Adler zu Menschen mit zwei Herzen. Also habe ich getrickst und die Temperatur bis zum Anschlag hoch gedreht – sie regelt das Maß an Zufall, den das Modell einbringt.

Die andere wichtige Einstellung habe ich schon erwähnt: „Best of 3„. Erste KI-Text-Versuche wie der Ich-bin-die-KI-Essay des „Guardian“ ließen die KI verschiedene Texte erstellen, und der Mensch suchte dann den besten aus. Mit „Best of 3“ kann man diesen Prozess getrost der KI selbst überlassen – sowohl bei GPT-3 als auch bei Aleph Alpha verbesserte der verdreifachte Aufwand die Qualität der Texte deutlich (zu verdreifachten Kosten natürlich).

Man kann das Few-Shot-Rezept übrigens auch umdrehen und dafür verwenden, einen einfachen Klassifizierer zu bauen – die KI soll einschätzen, wie groß die Übereinstimmung mit Stilen ist. Und so, liebe Kinder, bauen wir uns beim nächsten Mal ein Steingart-O-Meter!

Titelbild erstellt mit StableDiffusion/DeepFloyd IF-Demo; Prompt: „A yellow-press reporter working on his computer, with a bottle of wine, in the style of Hieronymus Bosch, oil on canvas, digital art, high quality“

Auch lesenswert:


Kommentare

Eine Antwort zu „Ein Post vom KI-Wagner: Wie ich GPT-3 dazu brachte, den „Gossen-Goethe“ nachzumachen“

  1. […] Dabei stößt man auf ein Problem. Wir haben es schon mal kennen gelernt, als wir die KI Stuckrad-Barre lesen lassen wollten und Franz-Josef Wagner imitiert haben. […]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert