KĂŒnstliche Intelligenz
Decoder-basierte Large Language Modelle: Ein umfassender Leitfaden
Large Language Modelle (LLMs) haben das Feld der natürlichen Sprachverarbeitung revolutioniert, indem sie bemerkenswerte Fähigkeiten bei der Generierung von menschlich klingendem Text, der Beantwortung von Fragen und der Unterstützung bei einer Vielzahl von sprachbezogenen Aufgaben demonstriert haben. Im Kern dieser leistungsstarken Modelle liegt die Decoder-only-Transformer-Architektur, eine Variante der ursprünglichen Transformer-Architektur, die in dem grundlegenden Paper “Attention is All You Need” von Vaswani et al. vorgeschlagen wurde.
In diesem umfassenden Leitfaden werden wir die inneren Mechanismen von decoder-basierten LLMs erkunden, indem wir uns mit den grundlegenden Bausteinen, architektonischen Innovationen und Implementierungsdetails befassen, die diese Modelle an die Spitze der NLP-Forschung und -Anwendungen gebracht haben.
Die Transformer-Architektur: Eine Wiederholung
Bevor wir uns mit den spezifischen Details von decoder-basierten LLMs befassen, ist es wichtig, die Transformer-Architektur zu wiederholen, auf der diese Modelle basieren. Die Transformer-Architektur führte einen neuen Ansatz für die Sequenzmodellierung ein, der ausschließlich auf Aufmerksamkeitsmechanismen basiert, um lange Abhängigkeiten in den Daten zu erfassen, ohne die Notwendigkeit von rekurrenten oder konvolutionellen Schichten.
Die ursprüngliche Transformer-Architektur besteht aus zwei Hauptkomponenten: einem Encoder und einem Decoder. Der Encoder verarbeitet die Eingabesequenz und generiert eine kontextualisierte Darstellung, die dann vom Decoder verwendet wird, um die Ausgabesequenz zu erzeugen. Diese Architektur wurde ursprünglich für Maschinennübersetzungs-Aufgaben konzipiert, bei denen der Encoder die Eingabesequenz in der Quellsprache verarbeitet und der Decoder die entsprechende Sequenz in der Zielsprache generiert.
Self-Attention: Der Schlüssel zum Erfolg von Transformers
Im Herzen der Transformer-Architektur liegt der Self-Attention-Mechanismus, eine leistungsstarke Technik, die es dem Modell ermöglicht, Informationen aus verschiedenen Positionen in der Eingabesequenz zu gewichten und zu aggregieren. Im Gegensatz zu traditionellen Sequenzmodellen, die die Eingabetoken sequenziell verarbeiten, ermöglicht Self-Attention es dem Modell, Abhängigkeiten zwischen beliebigen Token-Paaren zu erfassen, unabhängig von ihrer Position in der Sequenz.
Der Self-Attention-Vorgang kann in drei Hauptschritte unterteilt werden:
- Query-, Key- und Value-Projektionen: Die Eingabesequenz wird in drei separate Darstellungen projiziert: Querys (Q), Keys (K) und Values (V). Diese Projektionen werden durch Multiplikation der Eingabe mit gelernten Gewichtsmatrizen erhalten.
- Aufmerksamkeits-Score-Berechnung: Für jede Position in der Eingabesequenz werden Aufmerksamkeits-Scores berechnet, indem das Skalarprodukt zwischen dem entsprechenden Query-Vektor und allen Key-Vektoren genommen wird. Diese Scores repräsentieren die Relevanz jeder Position für die aktuell verarbeitete Position.
- Gewichtete Summe der Werte: Die Aufmerksamkeits-Scores werden durch eine Softmax-Funktion normalisiert, und die resultierenden Aufmerksamkeits-Gewichte werden verwendet, um eine gewichtete Summe der Value-Vektoren zu berechnen, was die Ausgabedarstellung für die aktuell verarbeitete Position ergibt.
Multi-Head-Attention, eine Variante des Self-Attention-Mechanismus, ermöglicht es dem Modell, verschiedene Arten von Beziehungen zu erfassen, indem es Aufmerksamkeits-Scores über mehrere “Köpfe” parallel berechnet, jeder mit seinen eigenen Query-, Key- und Value-Projektionen.
Architektonische Varianten und Konfigurationen
Während die Kernprinzipien von decoder-basierten LLMs konsistent bleiben, haben Forscher verschiedene architektonische Varianten und Konfigurationen erforscht, um die Leistung, Effizienz und Generalisierungsfähigkeit zu verbessern. In diesem Abschnitt werden wir uns mit den verschiedenen architektonischen Entscheidungen und ihren Auswirkungen befassen.
Architektur-Typen
Decoder-basierte LLMs können in drei Haupttypen unterteilt werden: Encoder-Decoder, kausaler Decoder und Präfix-Decoder. Jeder Architektur-Typ zeigt unterschiedliche Aufmerksamkeitsmuster.
Encoder-Decoder-Architektur
Basierend auf dem Vanilla-Transformer-Modell besteht die Encoder-Decoder-Architektur aus zwei Stacks: einem Encoder und einem Decoder. Der Encoder verwendet gestapelte Multi-Head-Self-Attention-Schichten, um die Eingabesequenz zu encodieren und latente Darstellungen zu generieren. Der Decoder führt dann Cross-Attention auf diesen Darstellungen aus, um die Ziel-Sequenz zu generieren. Obwohl diese Architektur in verschiedenen NLP-Aufgaben effektiv ist, verwenden nur wenige LLMs, wie z.B. Flan-T5, diese Architektur.
Kausaler Decoder-Architektur
Die kausale Decoder-Architektur integriert eine unidirektionale Aufmerksamkeits-Maske, die es jedem Eingabe-Token ermöglicht, nur auf vorherige Token und sich selbst zu achten. Sowohl Eingabe- als auch Ausgabe-Token werden innerhalb desselben Decoders verarbeitet. Bekannte Modelle wie GPT-1, GPT-2 und GPT-3 basieren auf dieser Architektur, wobei GPT-3 bemerkenswerte Fähigkeiten bei der in-Kontext-Lernung zeigt. Viele LLMs, einschließlich OPT, BLOOM und Gopher, haben kausale Decoder weitgehend übernommen.
Präfix-Decoder-Architektur
Auch bekannt als nicht-kausaler Decoder, modifiziert die Präfix-Decoder-Architektur den Maskierungsmechanismus von kausalen Decodern, um bidirektionale Aufmerksamkeit über Präfix-Token und unidirektionale Aufmerksamkeit auf generierte Token zu ermöglichen. Wie die Encoder-Decoder-Architektur können Präfix-Decoder die Präfix-Sequenz bidirektional encodieren und Ausgabe-Token autoregressiv mit gemeinsamen Parametern vorhersagen. LLMs, die auf Präfix-Decodern basieren, umfassen GLM130B und U-PaLM.
Alle drei Architektur-Typen können durch die Mixture-of-Experts (MoE)-Skalierungstechnik erweitert werden, die eine Teilmenge der neuronalen Netzwerk-Gewichte für jeden Eingabe-Vektor spärlich aktiviert. Diese Methode wurde in Modellen wie Switch Transformer und GLaM eingesetzt, wobei die Erhöhung der Anzahl der Experten oder der Gesamtparametergröße eine signifikante Leistungsverbesserung zeigt.
Decoder-Only-Transformer: Die Autoregressive Natur annehmen
Während die ursprüngliche Transformer-Architektur für Sequenz-zu-Sequenz-Aufgaben wie Maschinennübersetzung konzipiert wurde, können viele NLP-Aufgaben, wie Sprachmodellierung und Textgenerierung, als autoregressive Probleme formuliert werden, bei denen das Modell ein Token nach dem anderen generiert, bedingt auf den zuvor generierten Token.
Daher ist der Decoder-Only-Transformer, eine vereinfachte Variante der Transformer-Architektur, die nur den Decoder-Teil beibehält, besonders gut für autoregressive Aufgaben geeignet. Diese Architektur generiert Ausgabe-Token ein nach dem anderen, indem sie die zuvor generierten Token als Eingabe-Kontext verwendet.
Der Hauptunterschied zwischen dem Decoder-Only-Transformer und dem ursprünglichen Transformer-Decoder liegt im Self-Attention-Mechanismus. Im Decoder-Only-Setting wird der Self-Attention-Vorgang modifiziert, um zu verhindern, dass das Modell auf zukünftige Token achtet, eine Eigenschaft, die als Kausalität bezeichnet wird. Dies wird durch eine Technik namens “maskierter Self-Attention” erreicht, bei der die Aufmerksamkeits-Scores, die zukünftigen Positionen entsprechen, auf negative Unendlichkeit gesetzt werden, was sie effektiv während der Softmax-Normalisierung ausblendet.
Architektonische Komponenten von Decoder-basierten LLMs
Während die Kernprinzipien von Self-Attention und maskiertem Self-Attention gleich bleiben, haben moderne decoder-basierte LLMs verschiedene architektonische Innovationen eingeführt, um die Leistung, Effizienz und Generalisierungsfähigkeit zu verbessern. Lassen Sie uns einige der wichtigsten Komponenten und Techniken erkunden, die in state-of-the-art-LLMs eingesetzt werden.
Eingabe-Darstellung
Bevor die Eingabesequenz verarbeitet wird, verwenden decoder-basierte LLMs Tokenisierungs- und Einbettungstechniken, um den rohen Text in eine numerische Darstellung umzuwandeln, die für das Modell geeignet ist.
Tokenisierung: Der Tokenisierungsprozess wandelt den Eingabe-Text in eine Sequenz von Token um, die Wörter, Subwörter oder sogar einzelne Zeichen sein können, je nach Tokenisierungsstrategie. Beliebte Tokenisierungstechniken für LLMs umfassen Byte-Pair-Encoding (BPE), SentencePiece und WordPiece. Diese Methoden zielen darauf ab, einen Balance zwischen Vokabular-Größe und Darstellungs-Granularität zu finden, um es dem Modell zu ermöglichen, seltene oder unbekannte Wörter effektiv zu verarbeiten.
Token-Einbettungen: Nach der Tokenisierung wird jedes Token auf eine dichte Vektor-Darstellung abgebildet, die als Token-Einbettung bezeichnet wird. Diese Einbettungen werden während des Trainingsprozesses gelernt und erfassen semantische und syntaktische Beziehungen zwischen Token.
Positionale Einbettungen: Transformer-Modelle verarbeiten die gesamte Eingabesequenz gleichzeitig und haben daher keine inhärente Vorstellung von Token-Positionen wie rekurrente Modelle. Um Positions-Informationen zu integrieren, werden positionale Einbettungen zu den Token-Einbettungen hinzugefügt, was es dem Modell ermöglicht, Token basierend auf ihrer Position in der Sequenz zu unterscheiden. Frühe LLMs verwendeten feste positionale Einbettungen basierend auf sinusförmigen Funktionen, während neuere Modelle erlernbare positionale Einbettungen oder alternative Positions-Codierungs-Techniken wie rotierende positionale Einbettungen erforscht haben.
Multi-Head-Attention-Blöcke
Die Kern-Bausteine von decoder-basierten LLMs sind Multi-Head-Attention-Schichten, die den maskierten Self-Attention-Vorgang ausführen, der zuvor beschrieben wurde. Diese Schichten werden mehrmals gestapelt, wobei jede Schicht auf die Ausgabe der vorherigen Schicht achtet, was es dem Modell ermöglicht, zunehmend komplexe Abhängigkeiten und Darstellungen zu erfassen.
Aufmerksamkeits-Köpfe: Jede Multi-Head-Attention-Schicht besteht aus mehreren “Aufmerksamkeits-Köpfen”, jeder mit seinen eigenen Query-, Key- und Value-Projektionen. Dies ermöglicht es dem Modell, gleichzeitig auf verschiedene Aspekte der Eingabe zu achten und vielfältige Beziehungen und Muster zu erfassen.
Residuelle Verbindungen und Schicht-Normalisierung: Um das Training von tiefen Netzen zu erleichtern und das Verschwinden von Gradienten zu vermeiden, verwenden decoder-basierte LLMs residuelle Verbindungen und Schicht-Normalisierungstechniken. Residuelle Verbindungen addieren die Eingabe einer Schicht zu ihrer Ausgabe, was es Gradienten ermöglicht, während des Backpropagations-Prozesses leichter zu fließen. Schicht-Normalisierung hilft, die Aktivierungen und Gradienten zu stabilisieren, was die Trainingsstabilität und Leistung weiter verbessert.
Feed-Forward-Schichten
Zusätzlich zu Multi-Head-Attention-Schichten verwenden decoder-basierte LLMs Feed-Forward-Schichten, die ein einfaches Feed-Forward-Neuronales Netzwerk auf jede Position in der Sequenz anwenden. Diese Schichten introduzieren Nichtlinearitäten und ermöglichen es dem Modell, komplexere Darstellungen zu lernen.
Aktivierungs-Funktionen: Die Wahl der Aktivierungs-Funktion in den Feed-Forward-Schichten kann die Leistung des Modells erheblich beeinflussen. Während frühe LLMs auf die weit verbreitete ReLU-Aktivierungs-Funktion setzten, haben neuere Modelle komplexere Aktivierungs-Funktionen wie die Gaussian Error Linear Unit (GELU) oder die SwiGLU-Aktivierungs-Funktion adoptiert, die verbesserte Leistungen gezeigt haben.
Sparse Attention und effiziente Transformer
Während der Self-Attention-Mechanismus leistungsstark ist, kommt er mit einer quadratischen Rechenkomplexität in Bezug auf die Sequenzlänge, was ihn für lange Sequenzen rechenintensiv macht. Um diese Herausforderung zu meistern, wurden verschiedene Techniken vorgeschlagen, um die Rechen- und Speicheranforderungen des Self-Attention zu reduzieren, was eine effiziente Verarbeitung längerer Sequenzen ermöglicht.
Sparse Attention: Sparse-Attention-Techniken, wie die im GPT-3-Modell verwendete, achten selektiv auf eine Teilmenge von Positionen in der Eingabesequenz, anstatt Aufmerksamkeits-Scores für alle Positionen zu berechnen. Dies kann die Rechenkomplexität erheblich reduzieren, während eine vernünftige Leistung beibehalten wird.
Sliding Window Attention: Im Mistral-7B-Modell eingeführt, ist Sliding Window Attention (SWA) eine einfache, aber effektive Technik, die den Aufmerksamkeits-Bereich jedes Tokens auf eine feste Fenstergröße beschränkt. Dieser Ansatz nutzt die Fähigkeit von Transformer-Schichten, Informationen über mehrere Schichten hinweg zu übertragen, was den Aufmerksamkeits-Bereich effektiv vergrößert, ohne die quadratische Komplexität des vollständigen Self-Attention.
Rolling Buffer Cache: Um die Speicheranforderungen weiter zu reduzieren, insbesondere für lange Sequenzen, verwendet das Mistral-7B-Modell einen Rolling Buffer Cache. Diese Technik speichert und wiederverwendet die berechneten Key- und Value-Vektoren für eine feste Fenstergröße, was redundante Berechnungen vermeidet und den Speicherbedarf minimiert.
Grouped Query Attention: Im LLaMA-2-Modell eingeführt, ist Grouped Query Attention (GQA) eine Variante des Multi-Query-Attention-Mechanismus, der die Aufmerksamkeits-Köpfe in Gruppen unterteilt, wobei jede Gruppe eine gemeinsame Key- und Value-Matrix teilt. Dieser Ansatz findet einen Balance zwischen der Effizienz des Multi-Query-Attention und der Leistung des Standard-Self-Attention, was zu verbesserten Inferenzzeiten bei gleichbleibender Qualität führt.
















