LLMs: Was ist ein Large Language Model?

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 liefern viel bessere Vorhersagen als N-Gramm-Sprachmodelle oder rekursive neuronale Netze, weil:

  • 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:

Abbildung 1: Die Eingabe lautet: Ich bin ein guter Hund. Ein Transformer-basierter Übersetzer transformiert diese Eingabe in die Ausgabe: Je suis un bon chien, also derselbe Satz, übersetzt ins Französische.
Abbildung 1. Eine Transformer-basierte Anwendung, die vom Englischen ins Französische übersetzt.

 

Vollständige Transformer 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 Netzwerk.

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.
Abbildung 2. Der Transformer-basierte Übersetzer beginnt mit einem Encoder, der eine Zwischendarstellung eines englischen Satzes generiert. Ein Decoder wandelt diese Zwischendarstellung in einen französischen Ausgabesatz um.
Abbildung 2. Ein vollständiger Transformer enthält sowohl einen Encoder als auch einen Decoder.

 

In diesem Modul liegt der Schwerpunkt auf vollständigen Transformern, die sowohl einen Encoder als auch einen Decoder enthalten. Es gibt jedoch auch Architekturen, die nur einen Encoder oder nur einen Decoder enthalten:

  • Bei Encoder-only-Architekturen wird der Eingabetext in eine Zwischendarstellung umgewandelt, oft in eine Embedding-Ebene. Anwendungsfälle für reine Encoder-Architekturen:
    • Vorhersagen beliebiger Tokens in der Eingabesequenz (die übliche Rolle von Language Models)
    • Erstellen einer ausgefeilten Einbettung, die als Eingabe für ein anderes System dienen könnte, z. B. für einen Klassifikator.
  • Bei reinen Decoderarchitekturen werden neue Tokens aus dem bereits generierten Text generiert. Nur-Decoder-Modelle eignen sich in der Regel hervorragend zum Generieren von Sequenzen. Moderne Nur-Decoder-Modelle können mit ihrer generativen Leistung Fortsetzungen von Dialogverläufen und anderen Prompts erstellen.

Was ist Selbstaufmerksamkeit?

Um den Kontext zu verbessern, nutzen Transformers 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.

Der Einfachheit halber nehmen wir an, dass jedes Token ein Wort ist und der vollständige Kontext nur ein einziger Satz ist. 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. Beachten Sie beispielsweise, dass der Satz das Pronomen es enthält. 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 es. Das heißt, Tier ist für das Pronomen es wichtiger als Straße.

Abbildung 3: Die Relevanz der elf Wörter im Satz:
            'Das Tier hat die Straße nicht überquert, weil es zu müde war'
            für das Pronomen 'es'. Das Wort „Tier“ ist am relevantesten für das Pronomen „es“.
Abbildung 3 Selbstaufmerksamkeit für das Pronomen es. Aus Transformer: A Novel Neural Network Architecture for Language Understanding.

 

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 werden beispielsweise Wörter auf beiden Seiten von es untersucht. Ein bidirektionaler Mechanismus für die Selbstaufmerksamkeit kann also Kontext aus Wörtern auf beiden Seiten des Wortes erfassen, auf das sich die Aufmerksamkeit richtet. Ein einseitiger Selbstaufmerksamkeitsmechanismus kann dagegen nur Kontext aus Wörtern auf einer Seite des beachteten Wortes erfassen. Die bidirektionale Selbstaufmerksamkeit ist besonders nützlich, um Darstellungen ganzer Sequenzen zu generieren. Bei Anwendungen, die Sequenzen Token für Token generieren, ist dagegen eine unidirektionale Selbstaufmerksamkeit erforderlich. Aus diesem Grund verwenden Encoder eine bidirektionale Self-Attention, während Dekoder eine unidirektionale verwenden.

Was ist die mehrgliedrige 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.

Durch die Selbstaufmerksamkeit muss jedes Wort im Kontext die Relevanz aller anderen Wörter im Kontext lernen. Daher ist es verlockend, dies als O(N2)-Problem zu bezeichnen, wobei:

  • N ist die Anzahl der Tokens im Kontext.

Als ob die vorherige Big-O-Berechnung nicht beunruhigend genug wäre, enthalten Transformer mehrere Self-Attention-Schichten und mehrere Self-Attention-Köpfe pro Self-Attention-Schicht. Die Big-O-Berechnung lautet also:

O(N2 · S · D)

Dabei gilt:

  • S ist die Anzahl der Selbstaufmerksamkeitsschichten.
  • D ist die Anzahl der Heads pro Schicht.

Sie werden wahrscheinlich nie ein LLM von Grund auf neu trainieren. Das Training eines LLMs für die Industrie erfordert enorme Mengen an ML-Know-how, Rechenressourcen und Zeit. Sie haben jedoch auf das Symbol geklickt, um mehr zu erfahren, und deshalb möchten wir Ihnen eine Erklärung geben.

Die wichtigste Zutat für die Erstellung eines LLM ist eine enorme Menge an Trainingsdaten (Text), die in der Regel etwas gefiltert sind. Die erste Phase des Trainings besteht in der Regel aus einer Form von nicht überwachtem Lernen anhand dieser Trainingsdaten. Konkret wird das Modell mit maskierten Vorhersagen trainiert, d. h. bestimmte Tokens in den Trainingsdaten werden absichtlich ausgeblendet. Das Modell wird trainiert, indem versucht wird, diese fehlenden Tokens vorherzusagen. Angenommen, der folgende Satz ist Teil der Trainingsdaten:

The residents of the sleepy town weren't prepared for what came next.

Zufallstokens werden entfernt, z. B.:

The ___ of the sleepy town weren't prepared for ___ came next.

Ein LLM ist nur ein neuronales Netz. Der Verlust (die Anzahl der maskierten Tokens, die vom Modell richtig berücksichtigt wurden) bestimmt daher, in welchem Maße die Parameterwerte durch Backpropagation aktualisiert werden.

Ein Transformer-basiertes Modell, das zum Vorhersagen fehlender Daten trainiert wurde, lernt nach und nach, Muster und Strukturen höherer Ordnung in den Daten zu erkennen, um Hinweise auf das fehlende Token zu erhalten. Betrachten Sie das folgende Beispiel für eine maskierte Instanz:

Oranges are traditionally ___ by hand. Once clipped from a tree, __ don't ripen.

Durch umfangreiches Training mit einer enormen Anzahl von maskierten Beispielen kann ein LLM lernen, dass „geerntet“ oder „gepflückt“ mit hoher Wahrscheinlichkeit für das erste Token passen und „Orangen“ oder „sie“ gute Optionen für das zweite Token sind.

Mit einem optionalen weiteren Trainingsschritt namens Anleitungsoptimierung lässt sich die Fähigkeit eines LLM, Anweisungen zu befolgen, verbessern.

Warum sind Transformatoren 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 anstelle von Modellen mit einer größeren Anzahl von Parametern zu erstellen. 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 ist die Vorhersage eines oder mehrerer Wörter im Grunde die Funktion zur automatischen Vervollständigung, die in verschiedenen Text-, E-Mail- und Autorensoftware 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, darunter:

Probability Wort(er)
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. Stellen Sie sich die Fragen eines Nutzers an einen LLM als den „gegebenen“ Satz vor, gefolgt von einer imaginären Maske. 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:

  • Ein riesiges Trainingsset zusammenstellen.
  • Sie benötigen mehrere Monate, enorme Rechenressourcen und viel Strom.
  • Herausforderungen bei der Parallelisierung bewältigen.

Die Verwendung von LLMs zur Ableitung von Vorhersagen führt zu den folgenden Problemen:

  • LLMs halluzinieren, d. h. ihre Vorhersagen enthalten oft Fehler.
  • 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. Allerdings erfordern größere Trainingsdatensätze mehr Trainingsressourcen.
  • Wie alle ML-Modelle können auch LLMs alle Arten von Voreingenommenheit aufweisen.

Übung: Wissen testen

Angenommen, ein Transformer wird mit einer Milliarde Dokumenten trainiert, darunter Tausende von Dokumenten, die mindestens eine Instanz des Wortes Elefant enthalten. Welche der folgenden Aussagen sind wahrscheinlich wahr?
Der Transformer verknüpft das Wort Elefant mit verschiedenen Redewendungen, die das Wort Elefant enthalten.
Der Transformer lernt nach und nach, sarkastische oder ironische Verwendungen des Wortes Elefant in den Trainingsdaten zu ignorieren.
Akazien, ein wichtiger Bestandteil der Ernährung von Elefanten, erhalten nach und nach einen hohen Wert für die Selbstaufmerksamkeit im Zusammenhang mit dem Wort Elefant.