Zurück zur Hauptseite

Wie funktioniert ChatGPT eigentlich?

ChatGPT ist ein Chatbot, der auf einem großen Sprachmodell (entweder GPT-3.5 oder GPT-4) basiert. Unter der Haube ist ChatGPT ein vortrainiertes neuronales Netzwerk, das auf einer beeindruckenden Menge von öffentlich verfügbaren Textdaten aus dem Internet trainiert wurde.

Diese riesige Menge an Daten ermöglicht es dem Modell, Muster, Grammatik, Kontext und sogar ein gewisses Maß an gesundem Menschenverstand zu erlernen, so dass es sinnvolle und kohärente Antworten auf Benutzeranfragen generieren kann. ChatGPT verfügt über die einzigartige Fähigkeit, interaktive und dynamische Gespräche mit Nutzern zu führen, was es zu einem vielversprechenden Werkzeug für eine breite Palette von Anwendungen macht.

Was ist ein großes Sprachmodell?

Bei großen Sprachmodellen handelt es sich um KI-Algorithmen, die Deep-Learning-Techniken, die als Verarbeitung natürlicher Sprache bekannt sind, einsetzen, um Texte zu lesen, zu verstehen, zu generieren und vorherzusagen.

Wenn Sie eine Frage (Prompt) eingeben, sucht das Modell nicht im Internet nach der Antwort, sondern gibt Ihnen die Antwort aus dem Kopf heraus (obwohl es gar keinen Kopf hat). Es generiert die Antwort Wort für Wort und bestimmt jedes nächste Wort auf der Grundlage von Wahrscheinlichkeiten, die aus den Textdaten, auf die es trainiert wurde, und dem bisher generierten Text abgeleitet werden.

11 Milliarden Parameter: Beantwortung von Fragen, Arithmetik, Sprachverständnis

11 Milliarden Parameter: Beantwortung von Fragen, Arithmetik, Sprachverständnis

Wie ist das möglich? Nun, ChatGPT muss das Internet nicht nach Informationen durchsuchen, weil es bereits alles weiß (nun ja, fast). Das gesamte im Internet verfügbare Wissen ist in ChatGPT durch seine 175 Milliarden Parameter enthalten.

62 Milliarden Parameter: Übersetzung, gesunder Menschenverstand, Code-Vervollständigung

62 Milliarden Parameter: Übersetzung, gesunder Menschenverstand, Code-Vervollständigung

Mit zunehmender Anzahl von Modellparametern tauchen im Modell neue Fähigkeiten auf, die von niemandem absichtlich entwickelt wurden.

540 Milliarden Parameter: logische Schlussfolgerungsketten, Mustererkennung, Leseverstehen

540 Milliarden Parameter: logische Schlussfolgerungsketten, Mustererkennung, Leseverstehen

Wie ChatGPT ausgebildet wurde

ChatGPT wurde mit Hunderttausenden von Büchern, Artikeln und Dialogen trainiert, darunter:

  • WebText2 (eine große Bibliothek mit über 45 Terabyte an Textdaten)
  • Cornell Movie Dialogs Corpus (ein Datensatz mit über 200.000 Unterhaltungen zwischen 10.000 Filmcharakteren in Filmdrehbüchern)
  • Ubuntu Dialogue Corpus (eine Sammlung von 1.000.000 mehrseitigen Dialogen zwischen Ubuntu-Benutzern und dem Community-Support-Team)
  • Milliarden von Codezeilen von GitHub

Zunächst wurde GPT erlaubt, alle Daten, auf die es Zugriff hatte, ohne menschliche Anleitung zu verarbeiten, was es ihm ermöglichte, die Regeln und Zusammenhänge, die den Bereich des Textes bestimmen, selbständig zu erfassen (das nennt man "unüberwachtes Lernen").

Zur Feinabstimmung des Sprachmodells wurde dann eine Technik namens "Reinforcement Learning with Human Feedback" (RLHF) angewendet:

  • Menschliche KI-Trainer führten Gespräche, in denen sie beide Seiten spielten - den Nutzer und einen KI-Assistenten. Sie hatten Zugang zu modellierten Vorschlägen, die ihnen beim Verfassen von Antworten helfen sollten. Das Modell wurde mit überwachter Feinabstimmung trainiert, um die nächste Nachricht des Assistenten anhand des Dialogverlaufs vorherzusagen.
  • Um ein Belohnungsmodell für Reinforcement Learning zu erstellen, wurden Vergleichsdaten gesammelt. Die KI-Trainer bewerteten mehrere Modellantworten nach ihrer Qualität, indem sie z. B. prüften, ob die Antwort Sinn ergab und hilfreich war. Die ausgewählten Antworten wurden zu einem Dialogdatensatz mit neuen, vom Modell geschriebenen Nachrichten.
  • Ein Belohnungsmodell wurde mithilfe einer Technik namens Belohnungsmodellierung erstellt, bei der ein Modell trainiert wurde, um die Qualität einer Antwort auf der Grundlage der im vorherigen Schritt gesammelten Vergleichsdaten vorherzusagen.

Am Ende hat ChatGPT gelernt, wie man in jeder Situation reagiert, präzise und relevante Antworten gibt und potenziell schädlichen Themen ausweicht.

Transformer-Architektur

Der Trainingsprozess von ChatGPT beinhaltet die Vorhersage des nächsten Wortes in einem Satz anhand der vorherigen Wörter. Um dies zu erreichen, wird eine Transformer-Architektur verwendet (das T in ChatGPT steht übrigens für Transformer), die aus Schichten von Selbstbeobachtungsmechanismen besteht. Die Selbstaufmerksamkeit ermöglicht es dem Modell, verschiedene Wörter in einem Satz auf der Grundlage ihrer Bedeutung und Relevanz zu gewichten, um das nächste Wort genau vorherzusagen.

Ältere rekurrente neuronale Netze (RNNs) lesen den Text von links nach rechts. Dies funktioniert zwar gut, wenn verwandte Wörter nebeneinander stehen, wird aber schwierig, wenn sie sich an entgegengesetzten Enden eines Satzes befinden.

Wenn also ein RNN mit einem einseitigen Text arbeitet, würde es in der Mitte des dritten Absatzes bereits "vergessen", was ganz am Anfang stand.

Im Gegensatz dazu sind transformer-Sprachmodelle in der Lage, jedes Wort eines Satzes gleichzeitig zu verarbeiten und jedes Wort mit allen anderen zu vergleichen. Dadurch können sie ihre "Aufmerksamkeit" auf die relevantesten Wörter richten, unabhängig von deren Position innerhalb der Eingabesequenz.

Tokenisierung

Es ist wichtig zu wissen, dass transformer-Sprachmodelle nicht mit einzelnen Wörtern arbeiten (sie können nicht wie Menschen lesen). Stattdessen wird der Eingabetext in einzelne Token aufgeteilt, darunter Wörter, Satzzeichen und spezielle Token. Token in ChatGPT sind Textabschnitte, die als Vektoren (Zahlen mit Richtung und Position) dargestellt werden.

Die räumliche Nähe der Token-Vektoren bestimmt ihre Assoziationsebene: je näher sie beieinander liegen, desto mehr sind sie miteinander verwandt. Außerdem wird die Aufmerksamkeit als Vektor kodiert, so dass transformatorbasierte neuronale Netze wichtige Informationen aus vorangegangenen Teilen eines Absatzes behalten können.

Wenn ein Benutzer mit ChatGPT interagiert, erhält das Modell den Gesprächsverlauf als Eingabe, einschließlich der Benutzeraufforderungen und der vom Modell generierten Antworten. Die Eingabe wird tokenisiert und dann in das neuronale Netz eingespeist. Jedes Token ist mit einer Einbettung verbunden, die seine Bedeutung im Kontext der Unterhaltung darstellt.

GPT-3 wurde auf rund 500 Milliarden Token trainiert, was es seinen Sprachmodellen ermöglicht, Bedeutungen leichter zuzuordnen und plausible Folgetexte vorherzusagen, indem sie diese im Vektorraum abbilden. Viele Wörter werden einzelnen Token zugeordnet, obwohl längere oder komplexere Wörter oft in mehrere Token zerfallen. Im Durchschnitt sind Token etwa vier Zeichen lang.

Während der Inferenzphase, in der das Modell Antworten generiert, wird ein Prozess namens Autoregression verwendet. Das bedeutet, dass das Modell jeweils ein Wort vorhersagt und dabei den Gesprächsverlauf und zuvor generierte Wörter berücksichtigt. Um sicherzustellen, dass die generierte Antwort kohärent und relevant ist, werden Techniken wie Top-P-Probenahme und Temperaturskalierung eingesetzt.

Kurz gesagt: Der Top-P-Parameter gibt dem Modell einen Pool von Optionen (Tokens) zur Auswahl, während die Temperatur die Wahrscheinlichkeit der Auswahl eines bestimmten Tokens bestimmt. Wenn die Temperatur auf 0 eingestellt ist, wählt das Modell nur die „beliebtesten“ Token aus (Wörter, die in den Textdaten, die ChatGPT trainiert hat, am häufigsten zusammen vorkommen):

Das ist nicht immer toll. Höhere Temperaturen führen zu vielfältigeren Ergebnissen:

Weitere Informationen zu ChatGPT-Parametern: https://talkai.info/de/blog/understanding_chatgpt_settings/