Große Sprachmodelle


Große Sprachmodelle (LLMs) verfügen über vielfältige komplexe sprachbezogene Fähigkeiten, wie das Zusammenfassen oder Übersetzen von Texten, das Extrahieren von Kernaussagen oder das Übertragen von Informationen in andere Zusammenhänge. Zudem können sie zur Vorhersage von Wörtern Kontexte nutzen, die mehrere tausend Wörtern umfassen. Wie funktioniert das?

Anwendung Maschinellen Lernens auf Sprachmodelle
Entscheidendes Erfolgsrezept ist die Anwendung von modernen Methoden des Maschinellen Lernens für die Aufgabe der Wortvorhersage. Beim Training eines Großen Sprachmodells wird ein hochkomplexes ML-System "Transformer" auf ein Ziel hin optimiert: nämlich jeweils das nächste erwartete Wort (bzw. "Token") richtig vorherzusagen.

Aufgabe: Vorhersagen, welche Wörter nach einer Wortfolge wahrscheinlich als nächstes kommen.

Performanz: Wie gut klappt die Vorhersage der Worte in Bezug auf die Textbeispiele?

Das Video illustriert diesen Maschine Learning Prozess grob (sorry, für die noch nicht so schicke Umsetzung...).

 
Der Transformer verfügt über verschiedene Module, die mit dem Feedbacksignal unterschiedliche Dinge lernen, wie Ähnlichkeiten zwischen Wörtern oder die Relevanz eines Wortes für die Bestimmung der Bedeutung eines anderen im jeweiligen Kontext. (Wer mehr darüber erfahren möchte, kann unten  auf "Exkurs" klicken.)

Der Trainingsprozess einer Sprach-KI wie ChatGPT gliedert sich in zwei Hauptphasen: 1."Pre-Training" und 2."Fine-Tuning".

1. Lernphase: Erzeugen eines Basismodells ("Pre-Training")

Trainingsdaten: Zusammenstellung von etlichen Terabyte an Textdaten aus dem Internet, - man stelle sich mehrere Millionen Bücher vor.

Der Prozess des Pre-Trainings wird aufgrund des Aufwandes selbst von großen Unternehmen nur wenige Male pro Jahr durchgeführt, denn das Pretraining eines Basismodells erfordert den Einsatz einer Großrechenanlage mit einigen tausend GPUs (das sind Prozessoren, die speziell für Matrix-Multiplikationen optimiert sind). Dies verursacht Kosten von einigen Millionen Dollar, unter anderem wegen des hohen Energieverbrauchs. Das Basismodell ist der eigentliche GPT („Generative Pre-Trained Transformer“). Dieses Basismodell kann allerdings noch gar nicht sprechen. Es produziert eigentlich nur Wahrscheinlichkeiten für nächste Worte. Aber aus dem Basismodell lässt sich viel machen!

2. Lernphase: "Fine-Tuning"

Trainingsdaten: Sorgfältig ausgewählte und aufbereitete Beispiele für spezifische Anwendungsfälle.

Um ein Assistenzsystem wie ChatGPT zu erhalten, ist noch eine zweite zusätzliche Trainingsphase erforderlich. Der Rechenaufwand, der nötig ist, um die "Feinjustierung" eines Großen Sprachmodells für eine spezifische Aufgabe durchzuführen, ist wesentlich kleiner, als das Pre-Training des Basismodells. Allerdings werden qualitativ hochwertige Daten benötigt, denn diese Fine-Tuning Daten enthalten bspw. genau passende Antworten auf Fragen. Ein Trainingsdatensatz zur Beantwortung von Email-Anfragen könnte bspw. so aussehen:
Trainingsdaten beim Fine-Tuning (Beispieldatensatz "Email-Beantwortung")

[

    {"prompt": "Betreff: Anfrage zum Elternabend\n\nGuten Tag,\n\nkönnen Sie mir bitte mitteilen, wann der nächste Elternabend stattfindet?\n\nVielen Dank!\n\nMit freundlichen Grüßen,\nFrau Müller",

     "completion": "Guten Tag Frau Müller,\n\nder nächste Elternabend findet am Dienstag, den 28. November, um 19:00 Uhr im Raum 101 statt. Wir freuen uns auf Ihre Teilnahme.\n\nMit freundlichen Grüßen,\n[Ihr Name]"},

    {"prompt": "Betreff: Krankmeldung meines Kindes\n\nSehr geehrte Damen und Herren,\n\nmein Sohn Lukas Müller (Klasse 7b) ist krank und kann diese Woche nicht am Unterricht teilnehmen. Bitte entschuldigen Sie sein Fehlen.\n\nVielen Dank!\n\nMit freundlichen Grüßen,\nM. Müller",

     "completion": "Sehr geehrte/r Frau/Herr Müller,\n\nvielen Dank für Ihre Mitteilung. Wir wünschen Lukas eine schnelle Genesung und bitten Sie, ein ärztliches Attest nachzureichen, falls er länger als drei Tage fehlt.\n\nMit freundlichen Grüßen,\n[Ihr Name]"},

    {"prompt": "Betreff: Bitte um Beratung\n\nSehr geehrter Herr Schneider,\n\nmein Sohn hat Schwierigkeiten im Fach Englisch. Könnten wir einen Beratungstermin vereinbaren?\n\nMit freundlichen Grüßen,\nFamilie Berger",

     "completion": "Sehr geehrte Familie Berger,\n\nich schlage vor, dass wir uns nächsten Mittwoch um 14:30 Uhr treffen. Bitte bestätigen Sie, ob Ihnen der Termin passt.\n\nMit freundlichen Grüßen,\nHerr Schneider"},

… ]

Das Sprachmodell kann für verschiedene Aufgaben der natürlichen Sprachverarbeitung ("Natural Language Processing", NLP) trainiert werden. Dabei wird nicht nur das Beantworten von Fragen, sondern auch das Klassifizieren, Zusammenfassen, Übersetzen, Analysieren von Texten und vieles mehr trainiert. Die Transformer-Architektur kann auf erstaunliche Weise lernen, die Erwartungen in diesem Zusammenhang zu erfüllen, was zu Spekulationen darüber geführt hat, inwiefern die Struktur des Transformers (ein so genanntes tiefes "Künstliches Neuronales Netzwerk") Ähnlichkeiten mit dem menschlichen Sprachapparat im Gehirn aufweist.
Schritte beim Fine-Tuning
  1. Fine-Tuning-Datensätze erstellen: Hierfür werden gut beschriftete Daten benötigt. Oft werden für diese Aufgabe Menschen eingestellt, die Daten beschriften, vergleichen oder qualitativ hochwertige Antworten formulieren. Zunehmend können Daten auch aus bestehenden Sprachmodellen extrahiert werden.
  2. Fine-Tuning durchführen: Dieses Training erfordert in der Regel deutlich weniger Rechenaufwand und kann sogar mit allgemein zugänglichen Computern durchgeführt werden.
  3. Modell testen und anhand der Ergebnisse weiter verfeinern.
  4. Modell anwenden: Dabei ebenfalls Fehler und Unzulänglichkeiten registrieren, um sie für weitere Verbesserungen des Modells nutzen zu können.

Die GPT-Sprachmodelle haben, in Anbetracht dessen, dass sie einen beträchtlichen Teil der Textdaten des Internets enthalten, eine erstaunlich geringe Größe. Kleinere Modelle passen sogar auf eine handelsübliche Festplatte. Mittlerweile sind Sprachmodelle verfügbar, die auf einem aktuellen Laptop gut lauffähig sind (vgl. Modul 00). 

Ein Problem der GPTs ist nicht nur ihre stochastische Funktionsweise (auf Wahrscheinlichkeiten basierend), sondern auch ihre Intransparenz. Sie bestehen aus vielen Milliarden Parametern, die eine komplexe Schätzfunktion beschreiben. Die Trainingsdaten werden nur zum Einstellen der Schätzfunktion genutzt und liegen nicht mehr explizit vor. Zwar weiß man genau, mit Hilfe welcher mathematischer Operationen die Vorhersageleistung der Systeme optimiert werden kann. Jedoch kann daraus nicht geschlossen werden, wie das Produkt des Optimierungsprozesses funktioniert. Es ist noch weitgehend unklar, wie die vielen Parameter der trainierten GPTs zusammenspielen, um die Fähigkeiten hervorzubringen, die auch KI-Experten überrascht haben.

Wer genaueres zu den technischen Konzepten wissen möchte, der klickt unten auf den Button "Exkurs". Wer weiter zu den Limitierungen dieser Systeme im Anwendungskontext gehen möchte, der klickt auf "Weiter".