Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03176.jsonl.gz/1207

In «Wie funktioniert ChatGPT?» habe ich die Experimente von Andrej Karpathy mit Shakespeare-Texten wiedergegeben. Aber funktioniert das auch auf Deutsch? Zum Beispiel mit Goethe? Finden wir es heraus!
Die Quelle
Auf Project Gutenberg gibt es zur Zeit 40 Texte von Goethe in Deutsch. Von der Textstruktur könnte man sie beispielsweise in Gedichte, Theaterstücke und Fliesstext (Novellen, Tagebücher, Briefe, …) klassieren. Da wahrscheinlich bei den meisten auf das Stichwort «Goethe» zuerst die Assoziation «Faust» einfallen dürfte, habe ich mir die 13 Theaterstücke ausgesucht und den englischen (und nicht von Goethe stammenden) Gutenberg-Vor- und z.T. -Abspann entfernt (von Hand, da sie in fast jeder Datei anders sind). Die Werke sind (in der Reihenfolge ihres Eingangs auf gutenberg.org):
- Iphigenie auf Tauris
- Egmont
- Faust: Der Tragödie erster Teil
- Faust: Der Tragödie zweiter Teil
- Götz von Berlichingen mit der eisernen Hand: Ein Schauspiel
- Die Geschwister: Ein Schauspiel in einem Akt
- Die Mitschuldigen
- Prometheus
- Satyros oder Der vergötterte Waldteufel
- Die Laune des Verliebten
- Torquato Tasso
- Die natürliche Tochter
- Die Aufgeregten
Auch dann noch sind sie unterschiedlich formatiert:
Eine Vereinheitlichung der Struktur vorab hätte sich wohl positiv auf die Ergebnisse ausgewirkt; für dieses erste Experiment wollte ich den Aufwand aber nicht treiben.
Die Trainingsdaten
Karpathy fügt die Werke Shakespeares aneinander und verwendet die ersten 90% des resultierenden Textes als Trainingsdaten für das Modell, die letzten 10% zu seiner Validierung. (Scheinbar sind in den Shakespeare-Texten nur die Dialoge vorhanden, keine Handlungsanweisungen o.ä.)
Mit der Validierung (manchmal auch «Test») wird überprüft, wie ähnlich die aus dem Modell generierten Texte anderen Goethe-Texten sind, die das Modell garantiert noch nicht gesehen hat. Damit soll u.a. erreicht werden, dass das Modell nicht nur Goethe-Texte 1:1 wiedergeben kann, sondern Goethe-ähnliche Texte erzeugen kann. «Goethe-gleiche» Texte sind nicht gewünscht, denn sie liessen sich auch einfacher, z.B. mittels Copy+Paste, erzeugen.
Beim Zusammenfügen der Dateien in der alphabetischen Reihenfolge ihres Namens wären «Die Geschwister», «Die Mitschuldigen» und «Prometheus» (und der Schluss vom «Götz von Berlichingen») zu den Validierungsdaten geworden. Dies erschien mir wenig repräsentativ, weshalb ich eine andere Aufteilung als Karpathy wählte:
- Die ersten und letzten 45% jeden Stücks wurden zu Trainingsdaten.
- Die mittleren 10% (von 45 bis 55%) wurden zu Test- bzw. Validierungsdaten.
Von den insgesamt ca. 1.5 Megabyte Text waren damit 1.35 MB Trainingsdaten (581’749 GPT-2-Token) und 150 kB Validierungsdaten (70’154 GPT-2-Token).
Das Probetraining
Da mir für dieses Experiment keine leistungsfähige Grafikkarte zur Verfügung stand, nutzte ich für einen ersten Versuch die von Karpathy empfohlenen Einstellungen für Leute, die «nur einen billigen Computer» haben.
Nach wenigen Minuten war das Training beendet, bei einem «validation loss» (Qualitätsmass für die Ähnlichkeit der erzeugten Texte zu den Validierungsdaten; niedriger ist besser) von 3.4719. Karpathy erzielt mit Shakespeare und Grafikkarte (d.h. den Einstellungen für Leute, die einen richtigen Computer haben, und damit einem deutlich grösseren und komplexeren Modell) einen validation loss von 1.4967.
Ich rechnete also mit Texten, welche nicht viel mit Goethe gemeinsam hätten. Und wurde nicht enttäuscht:
Von dieses Glückt ihm ich mich zu würde,
Sind es soll’s in solchen Sorge dich verpfärtner wir lang.
Psyche.
Verlang mir verließt’s! Du nein Wieht,
Ich wärste zu einem jungen,
Dich wärehren sie nicht viel gehe.
MARGARETE.
Wenn wir hinabte,
Ich seinen Pfalt!
Ich kann sollt, oder Ihr seh,nanoGPT versucht sich an Goethe (mit den Einstellungen für «Billigcomputer»)
Rug viel; was man mir gek;
So verschwind, so hab ich nichts zu hin,
Die gar zu wohl,
Doch lährt’ ich nicht überfreu.
Du mich, weißt er,
Da wärst du meinem Heiligen wahre
Dein angesten, ein jeder Götterndet.
Der Text beinhaltet relativ viele deutsche Wörter. Es klang vielversprechend, jetzt sollte ein richtiges Training her!
Die Hauptprobe
Ich spielte etwas mit den Modellparametern, bis ich eine Kombination hatte, die meinen Rechner über Nacht auslasten würde: Bis auf die Blockgrösse (und versehentlich
eval_iters=50) waren schlussendlich alle Parameter gleich mit denen, die ein «richtiger Rechner» innert weniger Minuten trainieren könnte (bei mir sollte es, wie gesagt, die ganzen Nacht dauern). Die Blockgrösse sagt aus, wie weit entfernte Textzusammenhänge der «Attention»-Mechanismus von nanoGPT berücksichtigen kann, mehr ist besser. Der Standardwert liegt bei 256, ich wählte die Hälfte (128). Da ich den Text aber in Token (durchschnittlich ca. 2-3 Zeichen) verarbeitete und nicht in Zeichen, sollte dadurch kaum ein Nachteil entstehen.
Am nächsten Morgen sah ich erfreut Loss-Zahlen von 1.2 und 0.7 auf dem Bildschirm. Hurrah! Doch leider war der «eval loss» weiterhin bei 3.6616, also eigentlich sogar noch etwas schlechter als nach wenigen Minuten mit dem kleineren Modell.
Trotzdem, Wörter und Satzstrukturen wirken viel überzeugender:
Für bessere Resultate bräuchte es wahrscheinlich mehr Trainingsdaten und ein grösseres Modell. Es ist eben noch kein Meister vom Himmel gefallen. (Und auch nicht aus den Rechnern der Cloud.)
Was lernen wir daraus?
GPT kann Goethe (noch?) nicht ersetzen. Aber wir sehen, dass man auf seinem «Billigrechner» zuhause mit relativ einfacher Software wie nanoGPT (2 Mal 300 Zeilen Python, Zeile für Zeile erklärt in einem Zwei-Stunden-Video) schon Texte produzieren lassen kann, die vor wenigen Jahren noch weltbewegend gewesen wären.
Gleichzeitig wachsen neue Modelle fast wie Pilze aus dem Boden. Einige vielversprechende Modelle sind auch Open Source, das heisst, ganz viele begeisterte und talentierte Leute können ihre Ideen daran ausprobieren. Damit werden uns die Sprachmodelle sicher noch einige Zeit begleiten und ihre Eigenschaften sich verbessern.
Daten
- nanoGPT: Der Code (und Anleitung)
- Project Gutenberg: Goethe-Texte
- Meine gesäuberten Texte und Skripte (600 kB ZIP): Downloadskript für die Texte vn Project Gutenberg; die ausgewählten Texte nach Entfernung des Vor- und Abspanns; Extraktionsskript für die 45-10-45-Separation
- Das Modell nach dem Durchrechnen durch die Nacht (300 MB ZIP)
- Generierter Output (8 kB ZIP): Jeweils vom «Billigcomputer»- und dem «Ganze Nacht durchgerechnet»-Modell
- Lehrerverband, ChatGPT und DatenschutzDer Dachverband der Lehrerinnen und Lehrer (LCH) sei besorgt, dass es in der Schweiz keine einheitliche Regelung gäbe, wie Lehrpersonen mit Daten ihrer Schützlinge umgehen sollen und ob sie dafür KI-Systeme nutzen dürften.
- «Recht auf Vergessenwerden»: Ende durch KI?Das Recht auf Vergessenwerden soll Menschen erlauben, dass Daten über sie nicht unnötig lange digital gespeichert oder verfügbar gemacht werden. Doch KI vergisst nicht gerne. Wie passt das zusammen?
- Webseiten für KI-Crawler sperren?Der grösste Teil der Texte, auf denen moderne KI-Sprachmodelle trainiert wurden, stammen von Webseiten. Wenn Sie eine haben, dann vermutlich auch von Ihrer. Was kann man da tun?
- KI und die Arbeitswelt der ZukunftMichael Seemann hat in rund 100 sehr gut lesbaren Seiten das Wichtigste zusammengefasst, was wir über ChatGPT & Co wissen. Und ein paar Szenarien für die Arbeitswelt analysiert.
- Todesstoss für ChatGPT & Co?Die New York Times verhandelt schon länger mit OpenAI über Urheberrechtsabgaben. Laut Berichten hat OpenAI für das Training von ChatGPT unautorisiert Materialien der New York Times genutzt. Das kann in mehrfacher Sicht teuer werden.
- Sinkt OpenAI?Schlagzeilen machen die Runde, dass OpenAI, die Firma hinter ChatGPT, schon nächstes Jahr Konkurs gehen könnte. Ein Versuch einer Analyse.
- Goethe oder GPThe?In «Wie funktioniert ChatGPT?» habe ich die Experimente von Andrej Karpathy mit Shakespeare-Texten wiedergegeben. Aber funktioniert das auch auf Deutsch? Zum Beispiel mit Goethe? Finden wir es heraus! Die Quelle Auf Project Gutenberg gibt es zur Zeit 40 Texte von Goethe in Deutsch. Von der Textstruktur könnte man sie beispielsweise in Gedichte, Theaterstücke und Fliesstext … Weiterlesen
- KI: Alles nur Zufall?Wer von einer «Künstlichen Intelligenz» Texte oder Bilder erzeugen lässt, weiss, dass das Resultat stark auf Zufall beruht. Vor Kurzem erschien in der NZZ ein Beitrag, der die Unzuverlässigkeit der KI vor allem dem Zufall in die Schuhe schob. Doch so einfach ist das nicht.
- Hype-TechWieso tauchen gewisse Hype-Themen wie Blockchain oder Maschinelles Lernen/Künstliche Intelligenz regelmässig in IT-Projekten auf, obwohl die Technik nicht wirklich zur gewünschten Lösung passt? Oder es auch einfachere, bessere Ansätze gäbe? Felix von Leitner hielt im Herbst 2021 einen Vortrag zu «Hype-Tech», in dem er einige Gründe dafür aufzeigt (Navigation in den Folien mittels Wischgesten oder … Weiterlesen
- 📹 Die Technik hinter ChatGPTDer Digital Learning Hub organisierte 3 Impuls-Workshops zum Einsatz von ChatGPT in der Sekundarstufe II. Im dritten Teil präsentierte ich die Technik hinter ChatGPT. In der halben Stunde Vortrag werden die Informationen aus meinem Artikel «Wie funktioniert eigentlich ChatGPT?» in dichter, aber illustrativer Weise zusammengefasst. In der anschliessenden Diskussion wird noch auf einige weitere Punkte … Weiterlesen
- «Jaw Dropping» ChatGPT-Vortrag«Jaw Dropping» sei es gewesen, meinte ein Zuhörer am Schluss des Vortrags: Ihm sei der Kiefer heruntergerutscht, als er begriffen habe, wie (vom Prinzip her) einfach ChatGPT die Antworten generiere. Und dass es dies ganz anders tue, als er sich das je vorgestellt hatte. Auch die übrigen Zuhörerinnen und Zuhörer von 12 bis 80 waren … Weiterlesen
- Ist ChatGPT für Ihre Anwendung ungefährlich?Ob man KI-Chatbots sicher einsetzen kann, hängt von der Anwendung ab. Aleksandr Tiulkanov hat deshalb ein Flussdiagramm als Entscheidungshilfe erstellt. Hier eine deutsche Übersetzung und ein paar Anmerkungen zum Korrekturlesen und der Medienkompetenz.