Große Sprachmodelle
Großes Sprachmodell (Large Language Model, LLM) ist ein Typ von maschinellem Lernmodell, das mithilfe eines tiefen neuronalen Netzes mit einer sehr großen Anzahl von Parametern (typischerweise Milliarden oder mehr) implementiert und auf riesigen Mengen von Textdaten trainiert wird. „Groß“ bezieht sich in diesem Kontext sowohl auf die Anzahl der Parameter als auch auf den Umfang des Trainingskorpus, der in modernen Systemen mehrere Petabyte und Billionen von Tokens erreicht. LLMs werden überwiegend mit selbstüberwachten oder teil-selbstüberwachten (self-/semi-supervised) Methoden trainiert, indem sie das nächste Token in einer Sequenz vorhersagen und dadurch die statistischen Regelmäßigkeiten der Sprache erlernen. Die Zunahme von Parametern, Daten und Rechenschritten führt zu einer vorhersagbaren Qualitätsverbesserung, was durch Scaling Laws bestätigt wird.
Seit dem Aufkommen von BERT (2017) und insbesondere GPT-3 (2020) dominiert der LLM-Ansatz die Verarbeitung natürlicher Sprache. Moderne Modelle (GPT-4o, Claude 3, Gemini 1.5, LLaMA 3 usw.) können ohne spezielle Anpassung Texte und Programmcode schreiben, übersetzen, zusammenfassen, Fragen beantworten und logische Schlussfolgerungsketten bilden; multimodale Versionen analysieren auch Bilder, Ton und Video. Die Anpassung an eine spezifische Aufgabe erfolgt durch Feinabstimmung (Fine-Tuning) oder Prompt-Engineering (prompt engineering, in-context learning). Neben ihren Erfolgen erben LLMs auch die Voreingenommenheiten und Ungenauigkeiten der Trainingsdaten, neigen zu „Halluzinationen“ und erfordern erhebliche Rechenressourcen. Daher konzentriert sich die aktuelle Forschung auf das Alignment des Verhaltens, die Filterung der Korpora und energieeffiziente Architekturen.
Architektur
In modernen LLMs wird fast immer die Transformer-Architektur verwendet – ein Netzwerk mit einem Self-Attention-Mechanismus. Das Transformer-Modell wurde erstmals 2017 von Entwicklern bei Google im Paper „Attention is All You Need“ vorgestellt.
Die Transformer-Architektur ist ein grundlegendes neuronales Netzwerkdesign für die Verarbeitung von Sequenzen, das aus zwei logischen Modulen besteht: einem Encoder (der die Eingabe kodiert) und einem Decoder (der die Ausgabe generiert). Eine Sequenz wird als Eingabe empfangen, ihre Vektorrepräsentation (engl. Embedding) wird erstellt, ein Vektor für die Positionskodierung wird addiert, woraufhin die Menge der Elemente ohne Berücksichtigung ihrer Reihenfolge in der Sequenz an die kodierende Komponente (parallele Verarbeitung) übergeben wird. Anschließend erhält die dekodierende Komponente einen Teil dieser Sequenz und die Ausgabe der kodierenden Komponente. Das Ergebnis ist eine neue Ausgabesequenz.
Die kodierende Komponente des Transformers besteht aus mehreren identischen Encoder-Schichten; die dekodierende Komponente ist analog aufgebaut. Der Transformer selbst ist eine Abfolge von Aufmerksamkeitsmodellen, die die ursprüngliche Vektorsequenz in eine neue Sequenz umwandeln, bei der jedes Element den Kontext der anderen berücksichtigt. Der Encoder bildet verborgene Repräsentationen der Eingabedaten und bewahrt dabei Informationen über die Beziehungen zwischen den Elementen. Der Decoder erstellt auf Basis dieser verborgenen Repräsentationen eine neue Sequenz von Embeddings für die Ausgabe-Tokens. Anschließend werden auf Basis dieser Embeddings mithilfe des Sprachmodells die endgültigen Ausgabe-Elemente generiert.
Da Transformer ursprünglich für Aufgaben wie maschinelle Übersetzung entwickelt wurden, umfasst ihre Architektur einen Encoder (der den Eingabetext, z. B. den Ausgangssatz, verarbeitet) und einen Decoder (der die Ausgabe, z. B. die Übersetzung, generiert). In vielen Sprachmodellen wird jedoch nur der Decoder-Teil verwendet, der im autoregressiven Modus arbeitet.
Transformer werden in drei Hauptkonfigurationen eingesetzt, die den Encoder und Decoder jeweils unterschiedlich nutzen und auf verschiedene Aufgaben ausgerichtet sind:
- Encoder-Transformer (bidirektional) lernen, absichtlich maskierte Textfragmente wiederherzustellen, und eignen sich daher gut für „Verständnis“-Aufgaben wie Klassifikation, Faktenextraktion und semantische Suche.
- Decoder-Transformer (autoregressiv) sind auf die Vorhersage des nächsten Tokens optimiert und werden dort eingesetzt, wo eine kontinuierliche Ausgabe erforderlich ist: bei dialogbasierten Agenten, Code-Vervollständigung und kreativer Texterstellung.
- Vollständige Encoder-Decoder-Architekturen kombinieren beide Ansätze: Der Encoder erstellt eine Repräsentation des gesamten Eingabetextes, und der Decoder generiert darauf basierend schrittweise das Ergebnis. Diese Konfiguration ist am effektivsten für maschinelle Übersetzung, Zusammenfassungen und Frage-Antwort-Systeme.
Tokenisierung
Tokenisierung ist ein zentraler erster Schritt bei der Textverarbeitung in großen Sprachmodellen. In dieser Phase wird eine kontinuierliche Zeichenkette in einzelne Einheiten – Tokens – zerlegt. Die Tokenisierung hat die Aufgabe, eine Zeichensequenz in eine Folge strukturierter Elemente umzuwandeln, die eine effiziente Verarbeitung durch das neuronale Netzwerk ermöglichen.
Aus linguistischer Sicht könnte die Tokenisierung in gewissem Maße dem Prozess der Identifizierung minimaler sprachlicher Einheiten mit eigenständiger Bedeutung oder funktionaler Rolle entsprechen, wie z. B. Wörter, Morpheme oder deren Fragmente. Dennoch ist ein Token oft nur eine statistisch häufig vorkommende Zeichensequenz, weshalb es wichtig ist, die linguistische Bedeutung aller Tokens nicht überzubewerten. Je nach gewähltem Schema kann ein Token sein: ein ganzes Wort, ein Teilwort (subword), ein einzelnes Zeichen oder ein spezielles Symbol (z. B. Marker für den Anfang und das Ende einer Sequenz).
Die Tokenisierung ermöglicht es:
- die Größe des Vokabulars auf ein handhabbares Maß zu beschränken;
- seltene und neue Wörter korrekt zu verarbeiten;
- eine eindeutige Abbildung von Text auf eine Sequenz numerischer Identifikatoren sicherzustellen.
Zur Zerlegung des Textes werden Subword-Algorithmen verwendet, von denen die gebräuchlichsten Byte Pair Encoding (BPE), WordPiece und UnigramLM sind. Jeder dieser Algorithmen erstellt ein Vokabular aus den häufigsten Fragmenten des Korpus und verwendet es zur schrittweisen Segmentierung jedes Eingabetextes.
Nach der Tokenisierung wird jede Texteinheit — ein Token — in eine numerische Darstellung umgewandelt, die für das neuronale Netzwerk verständlich ist. Dieser Prozess umfasst mehrere aufeinanderfolgende Schritte:
- Umwandlung von Tokens in IDs: Jedes Token wird einer eindeutigen numerischen ID zugeordnet, basierend auf einem zuvor erstellten Token-Vokabular. Text-Tokens werden durch ihre eindeutigen numerischen Identifikatoren (IDs) ersetzt. Jede ID ist die Nummer des Tokens im Vokabular, was dem neuronalen Netzwerk ermöglicht, mit Zahlen anstelle von Wörtern zu arbeiten.
- Umwandlung von IDs in Embeddings: Für jede Token-ID wird ein entsprechender Vektor fester Dimension – ein Embedding – abgerufen oder berechnet. Diese mehrdimensionale numerische Darstellung ersetzt die ID und enthält bereits Informationen über die Bedeutung und die kontextuellen Eigenschaften des Tokens. Alle Embeddings haben zur einfacheren Verarbeitung die gleiche Länge.
- Hinzufügen von Positionskodierungen: Da die Transformer-Architektur an sich die Reihenfolge der Elemente nicht berücksichtigt, werden den Embeddings Positionskodierungen (positional encodings) hinzugefügt, die Informationen über die Position des Tokens in der Sequenz liefern. Anders ausgedrückt, dadurch „weiß“ das Modell, welches Token im Satz an erster, zweiter, dritter Stelle usw. steht.
- Erstellung der Eingabematrizen: Das Ergebnis ist eine Matrix der Dimension
[Sequenzlänge × Embedding-Dimension], die als anfängliche Textrepräsentation dient und an den Eingang des neuronalen Netzwerks, insbesondere an die Self-Attention-Blöcke des Transformers, übergeben wird. Jede Zeile dieser Matrix entspricht einem Token, und der darin enthaltene Vektor trägt sowohl seine semantische Bedeutung (Embedding) als auch Informationen über seine Position im Text (Positionskodierung).
Text → Tokens → IDs → Embeddings + Positionskodierungen → Modelleingabe
Aufmerksamkeitsmechanismus
Der Aufmerksamkeitsmechanismus (Attention Mechanism) ist eine Schlüsselkomponente der Transformer-Architektur, die es ermöglicht, Abhängigkeiten zwischen Tokens unabhängig von ihrem Abstand in der Sequenz zu berücksichtigen. Nachdem der Eingabetext in eine Sequenz von Vektoren umgewandelt wurde, wird diese Sequenz an das zentrale Element des Transformers weitergeleitet – den Aufmerksamkeitsblock (Attention Block).
Der Aufmerksamkeitsmechanismus ist eine Methode, mit der ein neuronales Netzwerk bestimmen kann, auf welche Teile der Eingabedaten bei der Verarbeitung jedes Elements der Sequenz mehr Aufmerksamkeit gerichtet werden sollte. Dadurch können die Vektoren einzelner Textfragmente miteinander interagieren, sich gegenseitig mit Informationen anreichern und ihre Werte unter Berücksichtigung des umgebenden Kontexts aktualisieren. Dies ermöglicht es dem Modell, sowohl lokale als auch weitreichende Abhängigkeiten zwischen Tokens effektiv zu erfassen, was seine Fähigkeit zur Interpretation komplexer Textstrukturen erheblich verbessert.
In der natürlichen Sprache wird die Bedeutung eines Wortes oder Ausdrucks nicht isoliert bestimmt – sie hängt vom Kontext ab, d.h. von anderen Wörtern und Strukturen in der Umgebung. In neuronalen Netzen wird Text durch Vektorrepräsentationen – Embeddings – kodiert, die die lexikalischen und syntaktischen Eigenschaften von Tokens numerisch darstellen. Ohne einen direkten Aufmerksamkeitsmechanismus (wie im Transformer) würde die Kontextinformation entweder über große Distanzen verloren gehen (wie in einfachen Modellen) oder sequenziell weitergegeben, was zur Erfassung weitreichender Zusammenhänge weniger effizient ist. In der natürlichen Sprache ist die Bedeutung eines Wortes oder einer syntaktischen Konstruktion jedoch dynamisch, und ihre Interpretation muss sich je nach Kontext anpassen. Der Aufmerksamkeitsmechanismus führt eine Kontextualisierung der Vektorrepräsentationen durch, was bedeutet (oder einfach :):
- Jedes Token „bewertet“ seine Wichtigkeit im Verhältnis zu anderen Tokens im Satz.
- Während der Aktualisierung werden die Vektorrepräsentationen durch gegenseitige Informationen angereichert, die syntaktische Abhängigkeiten, semantische Rollen und den pragmatischen Kontext widerspiegeln.
Als Ergebnis dieses Informationsaustauschs kodieren die aktualisierten Vektoren nicht nur die Bedeutung des Tokens selbst, sondern auch seine grammatikalischen Verbindungen (Syntax), seine Rolle in der beschriebenen Situation (Semantik) und seine allgemeine Bedeutung im Kontext (Pragmatik).
Eingabevektoren der Tokens (mit Positionen) → Aufmerksamkeitsmechanismus (Interaktion der Vektoren) → Kontextualisierte Token-Vektoren (Vektoren, angereichert mit Informationen über Verbindungen zu anderen Tokens)
Technische Umsetzung des Aufmerksamkeitsmechanismus
Die interne Funktionsweise des Aufmerksamkeitsmechanismus umfasst mehrere wichtige Rechenschritte und Komponenten. Für jeden Eingabevektor werden drei Vektoren generiert: Anfrage (Query), Schlüssel (Key) und Wert (Value). Auf Basis ihrer Interaktion werden die Aufmerksamkeitsgewichte berechnet, die dann verwendet werden, um aktualisierte, kontextualisierte Vektorrepräsentationen zu erhalten. Ein gängiger Ansatz ist die Verwendung einer Multi-Head-Attention-Architektur zur parallelen Informationsverarbeitung.
Anfrage (Query), Schlüssel (Key), Wert (Value)
Die Berechnung des Aufmerksamkeitsmechanismus basiert auf der Umwandlung jedes Eingabevektors (der die Summe aus dem Token-Embedding und seiner Positionskodierung ist) in drei verschiedene Vektorrepräsentationen: Anfrage (Query, Q), Schlüssel (Key, K) und Wert (Value, V).
Konzeptuell erfüllen diese drei Vektoren folgende Rollen im Aufmerksamkeitsmechanismus:
- Anfrage (Query): Repräsentiert den Vektor des aktuellen Tokens, der den Prozess der Suche nach relevanter Information in der Sequenz initiiert. Er kann als "Frage" oder "Sonde" betrachtet werden, die zur Bewertung der Wichtigkeit anderer Tokens im Verhältnis zum aktuellen verwendet wird.
- Schlüssel (Key): Dient als Identifikator oder "Markierung", die einen Aspekt des Inhalts jedes Tokens beschreibt. Der Anfrage-Vektor (Q) des aktuellen Tokens wird mit allen Schlüssel-Vektoren (K) in der Sequenz (einschließlich seines eigenen) verglichen, um den Grad ihrer Übereinstimmung oder Relevanz zu bestimmen.
- Wert (Value): Enthält die eigentliche Information oder Repräsentation, die mit jedem Token assoziiert ist und weitergegeben wird. Nachdem die Aufmerksamkeitsgewichte auf der Grundlage der Interaktion von Anfragen und Schlüsseln berechnet wurden, werden diese Gewichte auf die Wert-Vektoren angewendet, um die endgültige gewichtete Repräsentation zu bilden, die die Ausgabe des Aufmerksamkeitsmechanismus für das jeweilige Token darstellt.
Training großer Sprachmodelle
Das Training von LLMs erfolgt hauptsächlich in zwei Phasen:
- Vortraining (Pre-Training): In dieser Phase wird das Modell auf großen, unannotierten Textkorpora mittels selbstüberwachtem Lernen (self-supervised learning) trainiert. Die Aufgabe besteht darin, das nächste Token in einer Sequenz vorherzusagen (Autoregression) oder maskierte (verdeckte) Fragmente wiederherzustellen (Masked Language Modeling). Das Vortraining ermöglicht es dem Modell, umfangreiche statistische Muster der Sprache, Grammatik, Fakten über die Welt und grundlegende Formen des logischen Denkens zu erlernen.
- Feinabstimmung (Fine-Tuning): Nach dem Vortraining wird das Modell auf spezialisierten Daten für die Ausführung bestimmter Aufgaben weiter trainiert, z. B. für die Generierung von Antworten, die Klassifizierung von Texten oder das Befolgen von Anweisungen. Zu den modernen Ansätzen gehören:
- Feinabstimmung auf annotierten Datensätzen (supervised fine-tuning).
- Bestärkendes Lernen durch menschliches Feedback (RLHF, reinforcement learning from human feedback), um das Verhalten des Modells gemäß den Zielmetriken für Qualität, Sicherheit und Nützlichkeit anzupassen.
Probleme und Einschränkungen
Trotz beeindruckender Fortschritte weisen moderne große Sprachmodelle (LLMs) eine Reihe von Problemen und Einschränkungen auf:
I. Rechnerische und Architektonische Einschränkungen
- Hoher Rechenaufwand: Das Training und der Betrieb von LLMs erfordern erhebliche Rechenleistung, Zeit und Energie, was hohe wirtschaftliche und ökologische Kosten verursacht. Darüber hinaus begrenzt die autoregressive Natur der Generierung (sequenzielle Erzeugung von Tokens) die Parallelisierung und verlangsamt die Inferenzgeschwindigkeit im Vergleich zu nicht-autoregressiven Ansätzen.
- Begrenzung der Kontextlänge: Die Transformer-Architektur weist eine quadratische Abhängigkeit des Rechenaufwands und des Speicherbedarfs von der Sequenzlänge auf. Dies erzwingt eine feste Obergrenze (Kontextfenster) für die Textmenge, die das Modell gleichzeitig verarbeiten kann, was zum Abschneiden langer Dokumente und zum Verlust von Informationen außerhalb des Fensters führt.
II. Probleme bei der Zuverlässigkeit und Genauigkeit der Generierung
- Halluzinationen: Die Generierung von faktisch falschen, aber plausibel klingenden Informationen. Dies hängt damit zusammen, dass das Modell kein echtes Weltverständnis besitzt, sich auf statistische Muster in den Daten stützt und nicht in der Lage ist, die generierten Aussagen zu verifizieren.
- Fehlerfortpflanzung (Error Propagation): Ein Prozess, bei dem Fehler, die in frühen Phasen der Generierung gemacht werden, sich verstärken und zu einer Zunahme von Ungenauigkeiten in den folgenden Schritten führen, was die Gesamtqualität und Kohärenz des Textes beeinträchtigt.
- Begrenzte Kompositionalität: Schwierigkeiten bei Aufgaben, die mehrstufige logische Schlussfolgerungen oder präzise Berechnungen erfordern (z. B. die Multiplikation mehrstelliger Zahlen, das Lösen von Rätseln). Die Genauigkeit der Modelle bei solchen Aufgaben nimmt mit zunehmender Komplexität aufgrund der autoregressiven Natur der Generierung stark ab.
- Wiederholungen: Die Neigung zur übermäßigen Wiederholung von Wörtern oder Phrasen, was die Informationsdichte und Lesbarkeit des Textes verringert. Dies ist auf Besonderheiten des Trainings und der Dekodierungsalgorithmen (Auswahl des nächsten Tokens) zurückzuführen.
- Reversal Curse: Die Unfähigkeit des Modells, Wissen automatisch in umgekehrter Richtung zu verallgemeinern: Wenn ein Modell auf der Aussage „A ist B“ trainiert wurde, kann es oft nicht schlussfolgern, dass „B ist A“ ist.
- Kompromiss zwischen Kreativität und Genauigkeit: Die Notwendigkeit, ein Gleichgewicht zwischen der Generierung vielfältiger, origineller Antworten und der Aufrechterhaltung der faktischen Genauigkeit zu finden. Die Verbesserung eines Aspekts wirkt sich oft negativ auf den anderen aus; so kann beispielsweise eine hohe Kreativität mit einer Zunahme von Halluzinationen korrelieren.
III. Probleme bei der Interaktion und Steuerung:
- Geringe Steuerbarkeit: Die Schwierigkeit, Stil, Ton, Inhalt des generierten Textes präzise zu kontrollieren oder komplexen Anweisungen zu folgen. Die Steuerbarkeit hängt stark von der Qualität der Eingabeanweisungen („Prompts“) und den Methoden der Feinabstimmung (Fine-Tuning) ab.
- Sensitivität gegenüber Formulierungen: Geringfügige Änderungen in der Eingabeanfrage (Prompt) können zu erheblich unterschiedlichen Antworten führen, auch wenn die Semantik der Anfrage erhalten bleibt. Dies erschwert das Erzielen stabiler und vorhersagbarer Ergebnisse.
IV. Ethische und Soziale Aspekte:
- Probleme der Voreingenommenheit und Fairness: Modelle können in den Trainingsdaten vorhandene soziale Stereotypen, Voreingenommenheit oder Toxizität reproduzieren und verstärken. Die Gewährleistung von Fairness und Sicherheit der Modelle ist eine komplexe Aufgabe.
- Das Alignment-Problem (LLM Alignment): Ein allgemeineres Problem, das den vorherigen Punkt einschließt. Es ist die Aufgabe, das Verhalten des Modells mit menschlichen Werten, Absichten und ethischen Normen in Einklang zu bringen. Dies umfasst den Kampf gegen Voreingenommenheit, Halluzinationen, die Generierung schädlicher Inhalte und die Verbesserung der Steuerbarkeit.
- Risiken des Missbrauchs: Die Möglichkeit, LLMs zur Erstellung und massenhaften Verbreitung von Desinformation, Phishing, Spam, bösartigem Code oder zur Generierung überzeugender gefälschter Texte zu verwenden, was eine Bedrohung für die Informations- und persönliche Sicherheit darstellt und das Vertrauen in der Gesellschaft untergräbt.
Links:
- «Большая языковая модель» // Википедия (Russische Version)
- Large Language Model // Wikipedia (Englische Version)
- Grand Modèle de Langage // Wikipédia (Französische Version)
- Sprachmodell // Wikipedia (Deutsche Version)
- Naveed H. et al. // A Comprehensive Overview of Large Language Models // arXiv:2307.06435, 2023
Literatur
- Vaswani, A. et al. (2017). Attention Is All You Need. arXiv:1706.03762.
- Devlin, J. et al. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
- Brown, T. et al. (2020). Language Models Are Few-Shot Learners. arXiv:2005.14165.
- Kaplan, J. et al. (2020). Scaling Laws for Neural Language Models. arXiv:2001.08361.
- Hoffmann, J. et al. (2022). Training Compute-Optimal Large Language Models. arXiv:2203.15556.
- Ouyang, L. et al. (2022). Training Language Models to Follow Instructions with Human Feedback. arXiv:2203.02155.
- Bai, Y. et al. (2022). Constitutional AI: Harmlessness from AI Feedback. arXiv:2212.08073.
- Bubeck, S. et al. (2023). Sparks of Artificial General Intelligence: Early Experiments with GPT-4. arXiv:2303.12712.
- OpenAI. (2023). GPT-4 Technical Report. arXiv:2303.08774.
- Touvron, H. et al. (2024). The Llama 3 Herd of Models. arXiv:2407.21783.