5.2 Text ChatBot
5.2 Text ChatBot
Wie funktionieren Transformer-Modelle wie ChatGPT und Co.?
Spätestens seit Anfang 2023 sind Transformer als KI-Modelle z.B. durch ChatGPT weltbekannt. 'GPT' steht dabei für 'Generative Pretrained Transformer', also Transformer, die bereits (mit unvorstellbar großen Textmengen) trainiert sind und Text generieren können. Doch was genau sind Transformer?
Im Grunde ist ein Transformer ein neuronales Netz, das durch zusätzliche Teile erweitert wird, die die Eingabedaten vorbereiten und verarbeiten. Da neuronale Netze nur Zahlen verarbeiten können, müssen Texte in Zahlen umgewandelt werden, bevor sie weiterverarbeitet werden können. Dazu besitzt ein Transformer neben einem 'normalen' neuronalen Netz Komponenten wie Tokenizer, Embedding- und Attention-Schichten, die weiter unten erläutert und interaktiv untersucht werden können. Dazu kann auf dieser Seite ein stark vereinfachter Mini-Transformer trainiert und analysiert werden, der die zentralen Bausteine in reduzierter Form aufgreift, die auch in ChatGPT und anderen Modellen stecken. Der Mini-Transformer auf dieser Seite kann mit Sätzen trainiert werden, die maximal fünf Wörter lang sind und ingesamt höchstens 20 verschiedene Wörter als 'Vokabeln' verwenden.
Das Besondere an 'neueren' Machine-Learning-Modellen wie Transformern ist, dass nicht nur die Gewichte und Schwellwerte des im Folgenden als Feedforward-Netz bezeichneten neuronalen Netzes trainiert werden, sondern auch viele in Tabellen angeordnete Zahlen der übrigen Komponenten, wie dies bereits in Kap. 4.4 angedeutet wurde. Alle trainierbaren Zahlen zusammen werden daher auch im Folgenden als Parameter bezeichnet.
1. Trainingsdaten erstellen
| Beispiel 1 | Beispiel 2 | Beispiel 3 | Beispiel 4 | Beispiel 5 |
2. Modell Training
Erstelle das Modell und trainiere es. Jedes Drücken des Buttons startet den Trainingsprozess komplett neu. Ist das Fehlermaß kleiner als 0.1, die Genauigkeit bei 100%, und ist mehr als 50% der gewünschten Trainingsdauer vorbei, stoppt das Training automatisch. Starte das Training zunächst ohne Animation und im weiteren Verlauf mit Animation, um alle weiter unten erläuterten Schritte grafisch nachvollziehen zu können.
3. ChatBot testen
Teste das Transformer-Modell nun, indem du etwas in den ChatBot tippst, z.B. einen Satz aus den Trainingsdaten ohne das letzte Wort, einen Satzanfang mit ein, zwei Worten oder nur das erste Wort eines Satzes. Nur die ersten fünf Wörter des eingetippten Satzes werden berücksichtigt. Der Mini-Transformer kennt nur Wörter aus den oben definierten Vokabeln und ersetzt unbekannte Wörter durch einen Platzhalter. Drücke Senden, um die Antwort des ChatBots (die Vorhersage) abzuwarten oder Neu, um die bisherige Konversation zu löschen. Du kannst dabei wählen, ob der Chat-Bot nur das nächste Wort vorhersagen oder den Satz vervollständigen soll. Wird die Option 'Satz vervollständigen' gewählt, wiederholt der ChatBot das 'Senden' einfach automatisch, indem er den eingetippten Satz um die Vorhersage ergänzt, dieses wiederum abschickt, wieder ergänzt usw. bis der Satz fünf Wörter lang ist.
4. Modell inspizieren
Sobald der Chatbot ein Wort generiert hat, wird die Berechnung mitsamt des interaktiv analysierbaren Transformer-Modells hier angezeigt. Dieses wird jedoch unabhängig vom gewählten Modus nur für das nächste Wort angezeigt.
5. Vertiefende Informationen
Wie bei einem großen Sprachmodell werden die Eingaben zunächst in Token umgewandelt und über einen Embedding-Layer in kontinuierliche Vektoren ('Zahlenreihen') übersetzt. Diese Vektoren fließen durch eine Self-Attention-Berechnung, bei der ihre Ähnlichkeiten ermittelt werden und sie zu einer neuen, kontextabhängigen Repräsentation kombiniert werden. Am Ende steht eine Ausgabe, die Wahrscheinlichkeiten für das nächste Token liefert – genau wie im Kern von ChatGPT. Der Unterschied liegt vor allem im Maßstab und in der Ausbaustufe. Das hier verwendete Modell setzt die Idee mit einem einzigen Attention-Layer, kleinen Dimensionen, einem winzigen Feedforward-Netz und einer kurzen, festen Sequenzlänge um. Auch wurde aus Gründen der Einfachheit auf einige sonst übliche Komponenten verzichtet, die ein Transformer-Modell noch besser machen (kausales Masking, Multi-Head-Attention, zusätzliche Verbindungen, Layernorms und Positions-Embeddings). Zudem wird in dem vereinfachten Beispiel aus jeder Vokabel ein eigenständiges Token, so dass z.B. die Wörter 'klein', 'kleine', kleiner', 'kleinen' usw. zu verschiedenen Token werden. Trainiert wird der hier verwendete Mini-Transformer außerdem auf einem sehr kleinen, gezielt zusammengestellten Vokabelsatz, statt auf Milliarden von Token aus unterschiedlichsten Quellen. Letzlich besitzen echte Modelle in der Größenordnung von ChatGPT auch nicht wenige dutzend bis wenige hundert Parameter, sondern durchaus mehr als eine Billion Parameter.
Trotzdem zeigt das Modell, was ChatGPT und Co. in Perfektion beherrschen: nämlich das nächste Wort in einem zu generierenden Text bestmöglich vorherzusagen. Es wirkt oft wie Magie, dass ein Modell, das 'nur' das nächste Wort vorhersagen soll, ganze, stimmige Texte, Erklärungen oder sogar Gedichte generieren kann. Das Geheimnis liegt darin, dass diese einfache Aufgabe – das nächste Token in einer Sequenz vorherzusagen – das Modell zwingt, unglaublich viel über Sprache, Weltwissen und Zusammenhänge zu 'lernen'. Um zuverlässig das nächste Wort zu erraten, muss das Modell Grammatik und Syntax 'verstehen', damit der Satzbau stimmt, Bedeutung und Kontext 'erfassen', um das passende Wort inhaltlich zu wählen, Weltwissen 'nutzen', weil oft Fakten benötigt werden, um die Vorhersage korrekt zu machen, logische und zeitliche Abfolgen 'modellieren', z. B. um eine Geschichte fortzuführen oder Argumente konsistent zu entwickeln. Durch Training auf gigantischen Textmengen verinnerlicht ein Modell wie ChatGPT diese Muster implizit und automatisch. Es weiß nicht 'bewusst', was ein Fakt oder eine Regel ist, aber die Wahrscheinlichkeitsverteilungen, die es gelernt hat, spiegeln unzählige Beispiele aus der Trainingsdatenwelt wider. Wenn man dann beim Generieren nicht nur einmal, sondern wiederholt das 'nächste Wort' vorhersagt – und jede Vorhersage als neuen Kontext zurück ins Modell gibt – entsteht ein fortlaufender Text. Das ist im Prinzip wie beim Erzählen: Man sagt ein Wort, dann das nächste, und jedes neue Wort beeinflusst die Entscheidung für das darauf folgende. So ist die Aufgabe 'Vorhersage des nächsten Tokens' keine Einschränkung, sondern eine Art universelles Trainingsziel, das Sprache in all ihrer Komplexität erfassen kann – und daraus ergibt sich dann der scheinbar magische Effekt, dass Modelle wie ChatGPT nicht nur Texte ergänzen, sondern ganze, sinnvolle und oft sehr kreative Texte erzeugen können.
Diese Seite teilen