Genial einfache Grundidee
Die Grundidee hinter den GPT-Modellen ist genial einfach: Finde zu einem gegebenen Text immer das nächste passende Wort - und wiederhole das, bis genug Text erzeugt wurde (siehe Abbildung 1)!
Wenn also der vorgegebene Text eine Frage ist, wird ChatGPT zunächst nur das erste Wort der Antwort bestimmen, ohne dass die gesamte Antwort oder auch nur ihr grober Inhalt schon feststehen. Daraufhin liest der Algorithmus die Frage und das erste Wort der Antwort von Neuem als Eingabe ein und erzeugt das nächste passende Wort, das also nun das zweite der Antwort ist.
Dieser Prozess wird so lange wiederholt, bis das nächste "Wort" ein Abbruchkommando ist, das den Vorgang beendet. Während Menschen normalerweise mit einer Grobstruktur für den gesamten Text beginnen und diese dann schrittweise detaillieren, handelt ChatGPT also salopp formuliert nach der Devise: "Woher soll ich wissen, was ich denke, bevor ich lese, was ich schreibe?"
Ein sehr simples Beispiel für einen solchen Worterzeuger funktioniert so: Anhand eines großen Korpus von Texten - zum Beispiel aus der Wikipedia - berechnet man für jedes Paar von Wörtern die Wahrscheinlichkeit, dass das zweite Wort in einem Text direkt auf das erste Wort folgt. So hat das Wort "Ich" mit vergleichsweise hoher Wahrscheinlichkeit Wörter wie "habe", "bin" oder "war" als Nachfolger.
Jedes dieser Wörter hat wiederum eine Liste typischer Nachfolger. So folgt auf das Wort "habe" häufig "eine", "ein" oder "keine" und so weiter. Mit diesem einfachen Modell kann man nun Texte erzeugen, indem man ein beliebiges Anfangswort wählt und dann immer entweder den Nachfolger mit der höchsten Wahrscheinlichkeit an den entstehenden Satz anhängt oder aus den infrage kommenden Nachfolgern einen zufällig entsprechend ihrer Wahrscheinlichkeit wählt.
In den so erzeugten Texten werden immer wieder kurze Passagen vorkommen, die sich natürlich anhören, doch werden die vollständigen Sätze weder grammatisch korrekt noch inhaltlich sinnvoll sein. Wie also erzeugt ChatGPT aus dem Wort-für-Wort-Prinzip vernünftige Texte? Um dies zu verstehen, müssen wir unser simples Sprachmodell Stück für Stück erweitern.
Einbettung von Wörtern
Ein sinnvoller erster Schritt, um einem Computer Sprache beizubringen, besteht darin, Wörtern eine grobe Bedeutung zuzuweisen. Dazu wird jedes Wort, das ja aus Sicht des Rechners zunächst nur eine Abfolge von Buchstaben ist, einem Punkt in einem sogenannten semantischen Raum zugeordnet.
Dieser Raum verfügt in der Praxis normalerweise über viel mehr als drei Dimensionen und ist daher schwer zu veranschaulichen. Doch kann man die Einbettung der Wörter darin mit dem Einsortieren von Waren in einen Supermarkt vergleichen. Die Position eines Artikels hängt dort von seinen Eigenschaften ab: Verderbliche Produkte liegen in der Kühlabteilung, Quengelware findet man an der Kasse und bei ähnlichen Artikeln findet man die teuren oben und die preiswerten unten.
Wenn ein Regalfach leer ist, kann man aus seiner Position im Markt abschätzen, was dort normalerweise liegt. Analog dazu bezeichnet eine Position im semantischen Raum eine bestimmte Bedeutung, aus der sich entweder ein bestimmtes Wort, mehrere Synonyme oder auch die Übersetzung eines Wortes in eine andere Sprache ableiten lassen.
Wie aber sortiert man Wörter in den semantischen Raum ein? Es gibt unterschiedliche Methoden, die sich in technischen Details unterscheiden. In der Praxis verbreitet ist eine Gruppe von Verfahren, die unter dem Oberbegriff Word2Vec (PDF) bekannt sind. Ein Beispiel dafür ist der sogenannte Skip-Gram-Algorithmus, der darauf abzielt, zu jedem gegebenen Wort eines Textes diejenigen anderen Wörter zu erraten, die kurz davor oder kurz danach vorkommen.
Dazu werden zunächst jedem Wort zufällig sowohl eine Position als auch ein Kontextvektor im semantischen Raum zugewiesen (siehe Abbildung 2). Der Kontextvektor eines jeden Wortes bezeichnet dabei die Position im semantischen Raum, an der seine Vorgänger- beziehungsweise Nachfolgerwörter vermutet werden. Nun wird das Modell trainiert, indem man große Datensätze Wort für Wort verarbeitet und dabei jeweils die Position des aktuellen Wortes und die Kontextvektoren seiner Nachbarn im Text einander etwas annähert.
Nach Abschluss des Trainings auf möglicherweise Milliarden von Beispielsätzen liegen Wörter mit ähnlicher Bedeutung normalerweise auch im semantischen Raum nah beieinander. Man hat auch beobachtet, dass die Geometrie dieser Einbettungen bestimmte Beziehungen zwischen Wörtern widerspiegelt. Wenn man den Vektor vom Wort "Mann" zum Wort "Frau" an die Position von "König" addiert, könnte man beispielsweise im semantischen Raum in die Nähe des Wortes "Königin" gelangen (siehe Abbildung 3).
Allerdings sind die Assoziationen, die mit jedem Wort in der menschlichen Sprache verbunden sind, viel zu komplex, um sie schlicht mit einer Position in einem (wenn auch hochdimensionalen) Raum zu erfassen. Vielmehr erschließt sich der genaue Sinn eines Wortes immer nur im Kontext mit anderen. So haben Artikel wie "eine" oder "die" gar keine eigenständige Bedeutung, bestimmen aber den Sinn von Kombinationen wie "eine Schule" oder "die Schule".
Viele Wörter besitzen sogar je nach Kontext völlig unterschiedliche Bedeutungen, wie zum Beispiel der "König" auf dem Thron und der "König" im Schachspiel. Die Einbettung in einen semantischen Raum kann daher nur eine erste grobe Annäherung an ein echtes Sprachverständnis sein.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Künstliche Intelligenz: So funktioniert ChatGPT | Aufmerksamkeit ist alles |
Ich wollte nur mal anmerken, dass ich die Idee für die Illustration (KI-generiert) super...
Genau, weil die Welt schwarz und weiß ist. Man kann auch ChatGPT verwenden ohne dessen...
Doch, versteht und antwortet auch auf Deutsch und anderen Sprachen.
Hier auch - guter Artikel, und die "gesunde Mitte" zwischen zu viel fachlicher Tiefer und...
Kommentieren