Eine neuere Technologie, Large Language Models (LLMs), sagt ein Token oder eine Tokenfolge vorher, manchmal sogar mehrere Absätze. Denken Sie daran, dass ein Token ein Wort, ein Teilwort (eine Teilmenge eines Wortes) oder sogar ein einzelnes Zeichen sein kann. LLMs treffen viel bessere Vorhersagen als N-Gramm-Sprachmodelle oder wiederkehrende neuronale Netzwerke aus folgenden Gründen:
- LLMs enthalten weitaus mehr Parameter als rekursive Modelle.
- LLMs erfassen viel mehr Kontext.
In diesem Abschnitt wird die erfolgreichste und am weitesten verbreitete Architektur für die Erstellung von LLMs vorgestellt: der Transformer.
Was ist ein Transformer?
Transformer sind die modernste Architektur für eine Vielzahl von Sprachmodellanwendungen wie Übersetzungen:
Volltransformatoren bestehen aus einem Encoder und einem Decoder:
- Ein Encoder wandelt den Eingabetext in eine Zwischendarstellung um. Ein Encoder ist ein riesiges neuronales Netzwerk.
- Ein Decoder wandelt diese Zwischendarstellung in einen nützlichen Text um. Ein Decoder ist auch ein riesiges neuronales Netz.
Beispielsweise in einem Übersetzer:
- Der Encoder verarbeitet den Eingabetext (z. B. einen englischen Satz) in eine Zwischendarstellung.
- Der Decoder wandelt diese Zwischendarstellung in Ausgabetext um, z. B. in den entsprechenden französischen Satz.
Was ist Selbstaufmerksamkeit?
Um den Kontext zu verbessern, stützen sich Transformer stark auf das Konzept der Selbstaufmerksamkeit. Im Grunde stellt die Selbstaufmerksamkeit im Namen jedes Eingabetokens die folgende Frage:
„Inwieweit wirkt sich jedes andere Eingabetoken auf die Interpretation dieses Tokens aus?“
Das „Selbst“ in „Selbstaufmerksamkeit“ bezieht sich auf die Eingabesequenz. Einige Aufmerksamkeitsmechanismen gewichten die Beziehungen von Eingabetokens zu Tokens in einer Ausgabesequenz wie einer Übersetzung oder zu Tokens in einer anderen Sequenz. Bei der Selbstaufmerksamkeit wird jedoch nur die Bedeutung der Beziehungen zwischen den Tokens in der Eingabesequenz gewichtet.
Gehen wir der Einfachheit halber davon aus, dass jedes Token aus einem Wort besteht und der vollständige Kontext nur aus einem einzigen Satz besteht. Betrachten Sie den folgenden Satz:
The animal didn't cross the street because it was too tired.
Der vorherige Satz enthält elf Wörter. Jedes der elf Wörter achtet auf die anderen zehn und fragt sich, wie wichtig jedes dieser zehn Wörter für sich selbst ist. Der Satz enthält beispielsweise das Pronomen it. Pronomen sind oft mehrdeutig. Das Pronomen es bezieht sich in der Regel auf ein kürzlich genanntes Nomen oder eine kürzlich genannte Nominalphrase. Auf welches Nomen bezieht sich es im Beispielsatz – auf das Tier oder die Straße?
Der Selbstaufmerksamkeitsmechanismus bestimmt die Relevanz jedes nahe gelegenen Wortes für das Pronomen es. Abbildung 3 zeigt die Ergebnisse. Je blauer die Linie, desto wichtiger ist das Wort für das Pronomen it. Das heißt, Tier ist für das Pronomen es wichtiger als Straße.
Angenommen, das letzte Wort im Satz ändert sich so:
The animal didn't cross the street because it was too wide.
In diesem überarbeiteten Satz würde die Selbstaufmerksamkeit hoffentlich Straße als relevanter für das Pronomen es einstufen als Tier.
Einige Self-Attention-Mechanismen sind zweiseitig, d. h., sie berechnen Relevanzbewertungen für Tokens, die vor und nach dem Wort liegen, auf das die Aufmerksamkeit gerichtet ist. In Abbildung 3 sehen Sie beispielsweise, dass Wörter auf beiden Seiten untersucht werden. So kann ein bidirektionaler Mechanismus für die Selbstaufmerksamkeit Kontext aus Wörtern auf beiden Seiten des Wortes erfassen, auf das die Aufmerksamkeit gerichtet ist. Ein einseitiger Selbstaufmerksamkeitsmechanismus kann dagegen nur Kontext von Wörtern auf einer Seite des beachteten Wortes erfassen. Die bidirektionale Selbstausrichtung ist besonders nützlich, um Darstellungen ganzer Sequenzen zu generieren. Bei Anwendungen, die Sequenzen Token für Token generieren, ist dagegen eine unidirektionale Selbstausrichtung erforderlich. Aus diesem Grund verwenden Encoder eine bidirektionale Self-Attention, während Dekoder eine unidirektionale verwenden.
Was ist mehrköpfige Selbstaufmerksamkeit?
Jede Schicht für die Selbstaufmerksamkeit besteht in der Regel aus mehreren Köpfen für die Selbstaufmerksamkeit. Die Ausgabe einer Schicht ist eine mathematische Operation (z. B. gewichteter Durchschnitt oder Skalarprodukt) der Ausgabe der verschiedenen Heads.
Da jede Schicht für die Selbstaufmerksamkeit mit zufälligen Werten initialisiert wird, können verschiedene Heads unterschiedliche Beziehungen zwischen den einzelnen Wörtern, auf die die Aufmerksamkeit gerichtet ist, und den Wörtern in der Nähe lernen. Die im vorherigen Abschnitt beschriebene Selbstaufmerksamkeitsschicht konzentrierte sich beispielsweise darauf, zu bestimmen, auf welches Nomen sich das Pronomen es bezog. Andere Schichten mit Selbstaufmerksamkeit können jedoch die grammatische Relevanz jedes Wortes für jedes andere Wort oder andere Interaktionen lernen.
Warum sind Transformers so groß?
Transformers enthalten Hunderte von Milliarden oder sogar Billionen von Parametern. In diesem Kurs wurde allgemein empfohlen, Modelle mit einer geringeren Anzahl von Parametern zu erstellen, anstatt Modelle mit einer größeren Anzahl von Parametern. Schließlich benötigt ein Modell mit einer geringeren Anzahl von Parametern weniger Ressourcen für die Vorhersage als ein Modell mit einer größeren Anzahl von Parametern. Studien zeigen jedoch, dass Transformer mit mehr Parametern durchweg besser abschneiden als Transformer mit weniger Parametern.
Aber wie generiert ein LLM Text?
Sie haben gesehen, wie Forscher LLMs trainieren, um ein oder zwei fehlende Wörter vorherzusagen, und sind vielleicht nicht beeindruckt. Schließlich handelt es sich bei der Vorhersage von Wörtern um eine Funktion zur automatischen Vervollständigung, die in verschiedene Text-, E-Mail- und Authoring-Software integriert ist. Sie fragen sich vielleicht, wie LLMs Sätze, Absätze oder Haiku über Arbitrage generieren können.
LLMs sind im Grunde autocomplete-Mechanismen, die automatisch Tausende von Tokens vorhersagen (vervollständigen) können. Betrachten wir beispielsweise einen Satz, gefolgt von einem maskierten Satz:
My dog, Max, knows how to perform many traditional dog tricks. ___ (masked sentence)
Ein LLM kann Wahrscheinlichkeiten für den maskierten Satz generieren, einschließlich:
Probability | Wort(e) |
---|---|
3,1 % | Er kann beispielsweise sitzen, liegen bleiben und sich überschlagen. |
2,9 % | Er kann beispielsweise sitzen, liegen bleiben und sich über den Rücken rollen. |
Ein ausreichend großes LLM kann Wahrscheinlichkeiten für Absätze und ganze Aufsätze generieren. Sie können sich die Fragen eines Nutzers an ein LLM als einen „geteilten“ Satz mit einer imaginären Maske vorstellen. Beispiel:
User's question: What is the easiest trick to teach a dog? LLM's response: ___
Das LLM generiert Wahrscheinlichkeiten für verschiedene mögliche Antworten.
Ein weiteres Beispiel: Ein LLM, das mit einer großen Anzahl von mathematischen „Textaufgaben“ trainiert wurde, kann den Anschein erwecken, dass es komplexe mathematische Überlegungen anstellt. Diese LLMs führen jedoch im Grunde nur eine automatische Vervollständigung eines mathematischen Problems durch.
Vorteile von LLMs
LLMs können für eine Vielzahl von Zielgruppen klare, leicht verständliche Texte generieren. LLMs können Vorhersagen für Aufgaben treffen, für die sie explizit trainiert wurden. Einige Forscher behaupten, dass LLMs auch Vorhersagen für Eingaben treffen können, für die sie nicht explizit trainiert wurden. Andere Forscher haben diese Behauptung jedoch widerlegt.
Probleme mit LLMs
Das Training eines LLM ist mit vielen Problemen verbunden, darunter:
- Umfangreiches Trainings-Dataset
- Sie benötigen mehrere Monate, enorme Rechenressourcen und viel Strom.
- Parallelitätsherausforderungen lösen
Die Verwendung von LLMs zur Ableitung von Vorhersagen führt zu den folgenden Problemen:
- LLMs halluzinieren, was bedeutet, dass ihre Vorhersagen häufig Fehler enthalten.
- LLMs verbrauchen enorme Mengen an Rechenressourcen und Strom. Wenn Sie LLMs mit größeren Datensätzen trainieren, werden in der Regel weniger Ressourcen für die Inferenz benötigt. Größere Trainingsdatensätze erfordern jedoch mehr Trainingsressourcen.
- Wie alle ML-Modelle können auch LLMs alle Arten von Voreingenommenheit aufweisen.