Artificial Intelligence
Decoderbasierte große Sprachmodelle: Ein vollständiger Leitfaden
Large Language Models (LLMs) haben den Bereich der Verarbeitung natürlicher Sprache (NLP) revolutioniert, indem sie bemerkenswerte Fähigkeiten bei der Generierung menschenähnlicher Texte, der Beantwortung von Fragen und der Unterstützung bei einer Vielzahl sprachbezogener Aufgaben unter Beweis gestellt haben. Das Herzstück dieser leistungsstarken Modelle ist die Nur-Decoder-Transformator-Architektur, eine Variante der ursprünglichen Transformatorarchitektur, die in der wegweisenden Arbeit „Aufmerksamkeit ist alles, was Sie brauchen” von Vaswani et al.
In diesem umfassenden Leitfaden werden wir das Innenleben decoderbasierter LLMs untersuchen und uns mit den grundlegenden Bausteinen, Architekturinnovationen und Implementierungsdetails befassen, die diese Modelle an die Spitze der NLP-Forschung und -Anwendungen gebracht haben.
Die Transformer-Architektur: Eine Auffrischung
Bevor wir uns mit den Besonderheiten decoderbasierter LLMs befassen, ist es wichtig, einen Blick auf die Transformatorarchitektur zu werfen, die Grundlage, auf der diese Modelle basieren. Der Transformator führte einen neuartigen Ansatz zur Sequenzmodellierung ein, der ausschließlich auf Aufmerksamkeitsmechanismen beruht, um Abhängigkeiten über große Entfernungen in den Daten zu erfassen, ohne dass wiederkehrende oder Faltungsschichten erforderlich sind.
Die ursprüngliche Transformatorarchitektur besteht aus zwei Hauptkomponenten: einem Encoder und einem Decoder. Der Encoder verarbeitet die Eingabesequenz und generiert eine kontextualisierte Darstellung, die dann vom Decoder zur Erzeugung der Ausgabesequenz verwendet wird. Diese Architektur wurde ursprünglich für maschinelle Übersetzungsaufgaben entwickelt, bei denen der Encoder den Eingabesatz in der Quellsprache verarbeitet und der Decoder den entsprechenden Satz in der Zielsprache generiert.
Selbstaufmerksamkeit: Der Schlüssel zum Erfolg von Transformer
Im Herzen der Transformator dahinter steckt der Selbstaufmerksamkeitsmechanismus, eine leistungsstarke Technik, die es dem Modell ermöglicht, Informationen aus verschiedenen Positionen in der Eingabesequenz zu gewichten und zu aggregieren. Im Gegensatz zu herkömmlichen Sequenzmodellen, die Eingabetokens nacheinander verarbeiten, ermöglicht die Selbstaufmerksamkeit dem Modell, Abhängigkeiten zwischen beliebigen Tokenpaaren zu erfassen, unabhängig von ihrer Position in der Sequenz.
Die Selbstaufmerksamkeitsoperation kann in drei Hauptschritte unterteilt werden:
- Abfrage-, Schlüssel- und Wertprojektionen: Die Eingabesequenz wird in drei separate Darstellungen projiziert: Abfragen (Q), Tasten (K) und Werte (V). Diese Projektionen werden durch Multiplikation der Eingabe mit erlernten Gewichtsmatrizen erhalten.
- Berechnung des Aufmerksamkeitswerts: Für jede Position in der Eingabesequenz werden Aufmerksamkeitswerte berechnet, indem das Skalarprodukt zwischen dem entsprechenden Abfragevektor und allen Schlüsselvektoren gebildet wird. Diese Bewertungen stellen die Relevanz jeder Position für die aktuell verarbeitete Position dar.
- Gewichtete Summe der Werte: Die Aufmerksamkeitswerte werden mithilfe einer Softmax-Funktion normalisiert und die resultierenden Aufmerksamkeitsgewichte werden verwendet, um eine gewichtete Summe der Wertevektoren zu berechnen und so die Ausgabedarstellung für die aktuelle Position zu erzeugen.
Multi-Head-Aufmerksamkeit, eine Variante des Selbstaufmerksamkeitsmechanismus, ermöglicht es dem Modell, verschiedene Arten von Beziehungen zu erfassen, indem es Aufmerksamkeitswerte über mehrereKöpfe” parallel, jedes mit seinem eigenen Satz von Abfrage-, Schlüssel- und Wertprojektionen.
Architekturvarianten und Konfigurationen
Während die Grundprinzipien decoderbasierter LLMs konsistent bleiben, haben Forscher verschiedene Architekturvarianten und Konfigurationen untersucht, um Leistung, Effizienz und Generalisierungsfähigkeiten zu verbessern. In diesem Abschnitt befassen wir uns mit den verschiedenen architektonischen Entscheidungen und ihren Auswirkungen.
Architekturtypen
Decoderbasierte LLMs können grob in drei Haupttypen eingeteilt werden: Encoder-Decoder, Kausal-Decoder und Präfix-Decoder. Jeder Architekturtyp weist unterschiedliche Aufmerksamkeitsmuster auf.
Encoder-Decoder-Architektur
Basierend auf dem Vanilla-Transformer-Modell besteht die Encoder-Decoder-Architektur aus zwei Stapeln: einem Encoder und einem Decoder. Der Encoder verwendet gestapelte Multi-Head-Selbstaufmerksamkeitsschichten, um die Eingabesequenz zu codieren und latente Darstellungen zu generieren. Der Decoder führt dann eine Queraufmerksamkeit auf diese Darstellungen durch, um die Zielsequenz zu generieren. Während sie bei verschiedenen NLP-Aufgaben effektiv sind, gibt es nur wenige LLMs, wie z Flan-T5, übernehmen Sie diese Architektur.
Kausale Decoder-Architektur
Die kausale Decoder-Architektur beinhaltet eine unidirektionale Aufmerksamkeitsmaske, die es jedem Eingabe-Token ermöglicht, sich nur um vergangene Token und sich selbst zu kümmern. Sowohl Eingabe- als auch Ausgabetoken werden im selben Decoder verarbeitet. Bemerkenswerte Modelle wie GPT-1, GPT-2 und GPT-3 basieren auf dieser Architektur, wobei GPT-3 bemerkenswerte kontextbezogene Lernfähigkeiten bietet. Viele LLMs, darunter OPT, BLOOM und Gopher, haben kausale Decoder weithin übernommen.
Präfix-Decoder-Architektur
Die Präfix-Decoder-Architektur, auch als nicht-kausaler Decoder bekannt, modifiziert den Maskierungsmechanismus von Kausal-Decodern, um bidirektionale Aufmerksamkeit auf Präfix-Tokens und unidirektionale Aufmerksamkeit auf generierte Token zu ermöglichen. Wie die Encoder-Decoder-Architektur können Präfixdecoder die Präfixsequenz bidirektional kodieren und Ausgabetokens mithilfe gemeinsam genutzter Parameter autoregressiv vorhersagen. Zu den auf Präfixdecodern basierenden LLMs gehören GLM130B und U-PaLM.
Alle drei Architekturtypen können mit erweitert werden Expertenmischung (MoE) Skalierungstechnik, die eine Teilmenge neuronaler Netzwerkgewichte für jede Eingabe sparsam aktiviert. Dieser Ansatz wurde in Modellen wie Switch Transformer und GLaM verwendet, wobei eine Erhöhung der Anzahl der Experten oder der Gesamtparametergröße zu erheblichen Leistungsverbesserungen führte.
Nur-Decoder-Transformator: Die autoregressive Natur berücksichtigen
Während die ursprüngliche Transformer-Architektur für Sequenz-zu-Sequenz-Aufgaben wie maschinelle Übersetzung konzipiert war, können viele NLP-Aufgaben wie Sprachmodellierung und Textgenerierung als autoregressive Probleme formuliert werden, bei denen das Modell jeweils ein Token generiert, abhängig von der zuvor generierte Token.
Geben Sie den Nur-Decoder-Transformator ein, eine vereinfachte Variante der Transformatorarchitektur, die nur die Decoder-Komponente beibehält. Diese Architektur eignet sich besonders gut für autoregressive Aufgaben, da sie Ausgabe-Tokens einzeln generiert und dabei die zuvor generierten Token als Eingabekontext nutzt.
Der Hauptunterschied zwischen dem Nur-Decoder-Transformator und dem Original-Transformator-Decoder liegt im Selbstaufmerksamkeitsmechanismus. In der Nur-Decoder-Einstellung wird die Selbstaufmerksamkeitsoperation geändert, um zu verhindern, dass das Modell zukünftige Token berücksichtigt, eine Eigenschaft, die als Kausalität bezeichnet wird. Dies wird durch eine Technik namens „maskierte Selbstaufmerksamkeit“ erreicht, bei der Aufmerksamkeitswerte für zukünftige Positionen auf negativ unendlich gesetzt werden, wodurch sie während des Softmax-Normalisierungsschritts effektiv ausgeblendet werden.
Architekturkomponenten von Decoder-basierten LLMs
Während die Grundprinzipien der Selbstaufmerksamkeit und der maskierten Selbstaufmerksamkeit dieselben bleiben, haben moderne, auf Decodern basierende LLMs mehrere Architekturinnovationen eingeführt, um Leistung, Effizienz und Generalisierungsfähigkeiten zu verbessern. Lassen Sie uns einige der Schlüsselkomponenten und Techniken erkunden, die in hochmodernen LLMs eingesetzt werden.
Eingabedarstellung
Vor der Verarbeitung der Eingabesequenz verwenden decoderbasierte LLMs Tokenisierungs- und Einbettungstechniken, um den Rohtext in eine für das Modell geeignete numerische Darstellung umzuwandeln.
Tokenisierung: Der Tokenisierungsprozess wandelt den Eingabetext in eine Folge von Token um, bei denen es sich je nach verwendeter Tokenisierungsstrategie um Wörter, Teilwörter oder sogar einzelne Zeichen handeln kann. Zu den beliebten Tokenisierungstechniken für LLMs gehören Byte-Pair Encoding (BPE), SentencePiece und WordPiece. Diese Methoden zielen darauf ab, ein Gleichgewicht zwischen Vokabulargröße und Darstellungsgranularität herzustellen, sodass das Modell seltene oder nicht im Vokabular vorkommende Wörter effektiv verarbeiten kann.
Token-Einbettungen: Nach der Tokenisierung wird jedes Token einer dichten Vektordarstellung zugeordnet, die als Token-Einbettung bezeichnet wird. Diese Einbettungen werden während des Trainingsprozesses gelernt und erfassen semantische und syntaktische Beziehungen zwischen Token.
Positionelle Einbettungen: Transformer-Modelle verarbeiten die gesamte Eingabesequenz gleichzeitig und es fehlt ihnen die inhärente Vorstellung von Token-Positionen, die in wiederkehrenden Modellen vorhanden sind. Um Positionsinformationen zu integrieren, werden den Token-Einbettungen Positionseinbettungen hinzugefügt, sodass das Modell Token anhand ihrer Positionen in der Sequenz unterscheiden kann. Frühe LLMs verwendeten feste Positionseinbettungen auf der Grundlage von Sinusfunktionen, während neuere Modelle lernbare Positionseinbettungen oder alternative Positionskodierungstechniken wie Rotationspositionseinbettungen untersuchten.
Mehrköpfige Aufmerksamkeitsblöcke
Die Kernbausteine decoderbasierter LLMs sind Multi-Head-Aufmerksamkeitsschichten, die die zuvor beschriebene maskierte Selbstaufmerksamkeitsoperation ausführen. Diese Schichten sind mehrfach gestapelt, wobei jede Schicht sich um die Ausgabe der vorherigen Schicht kümmert, sodass das Modell immer komplexere Abhängigkeiten und Darstellungen erfassen kann.
Aufmerksamkeitsköpfe: Jede Multi-Head-Aufmerksamkeitsschicht besteht aus mehreren „Aufmerksamkeitsköpfen“, von denen jeder über einen eigenen Satz von Abfrage-, Schlüssel- und Wertprojektionen verfügt. Dies ermöglicht es dem Modell, verschiedene Aspekte der Eingabe gleichzeitig zu berücksichtigen und unterschiedliche Beziehungen und Muster zu erfassen.
Restverbindungen und Layer-Normalisierung: Um das Training tiefer Netzwerke zu erleichtern und das Problem des verschwindenden Gradienten zu mildern, verwenden decoderbasierte LLMs Restverbindungen und Schichtnormalisierungstechniken. Restverbindungen fügen die Eingabe einer Ebene zu ihrer Ausgabe hinzu, wodurch Gradienten während der Backpropagation leichter fließen können. Die Layer-Normalisierung hilft, die Aktivierungen und Gradienten zu stabilisieren und so die Trainingsstabilität und -leistung weiter zu verbessern.
Feed-Forward-Ebenen
Zusätzlich zu Multi-Head-Aufmerksamkeitsschichten enthalten decoderbasierte LLMs Feed-Forward-Schichten, die ein einfaches Feed-Forward-Neuronales Netzwerk auf jede Position in der Sequenz anwenden. Diese Schichten führen Nichtlinearitäten ein und ermöglichen dem Modell, komplexere Darstellungen zu lernen.
Aktivierungsfunktionen: Die Wahl der Aktivierungsfunktion in den Feed-Forward-Ebenen kann die Leistung des Modells erheblich beeinflussen. Während frühere LLMs auf der weit verbreiteten ReLU-Aktivierung beruhten, haben neuere Modelle ausgefeiltere Aktivierungsfunktionen wie die Gaussian Error Linear Unit (GELU) oder die SwiGLU-Aktivierung übernommen, die eine verbesserte Leistung gezeigt haben.
Sparsame Aufmerksamkeit und effiziente Transformatoren
Der Selbstaufmerksamkeitsmechanismus ist zwar leistungsstark, weist jedoch eine quadratische Rechenkomplexität in Bezug auf die Sequenzlänge auf, was ihn für lange Sequenzen rechenintensiv macht. Um dieser Herausforderung zu begegnen, wurden mehrere Techniken vorgeschlagen, um den Rechen- und Speicherbedarf der Selbstaufmerksamkeit zu reduzieren und so eine effiziente Verarbeitung längerer Sequenzen zu ermöglichen.
Wenig Aufmerksamkeit: Sparse-Aufmerksamkeitstechniken, wie sie im GPT-3-Modell verwendet werden, kümmern sich selektiv um eine Teilmenge von Positionen in der Eingabesequenz, anstatt Aufmerksamkeitswerte für alle Positionen zu berechnen. Dies kann die Rechenkomplexität erheblich reduzieren und gleichzeitig eine angemessene Leistung aufrechterhalten.
Schiebefenster Achtung: Sliding Window Attention (SWA) wurde im Mistral 7B-Modell eingeführt und ist eine einfache, aber effektive Technik, die die Aufmerksamkeitsspanne jedes Tokens auf eine feste Fenstergröße beschränkt. Dieser Ansatz nutzt die Fähigkeit von Transformatorschichten, Informationen über mehrere Schichten hinweg zu übertragen, wodurch die Aufmerksamkeitsspanne effektiv erhöht wird, ohne dass die quadratische Komplexität vollständiger Selbstaufmerksamkeit entsteht.
Rolling Buffer Cache: Um den Speicherbedarf insbesondere bei langen Sequenzen weiter zu reduzieren, verwendet das Modell Mistral 7B einen Rolling Buffer Cache. Diese Technik speichert und verwendet die berechneten Schlüssel- und Wertvektoren für eine feste Fenstergröße, wodurch redundante Berechnungen vermieden und die Speichernutzung minimiert werden.
Gruppierte Abfrageaufmerksamkeit: Die im LLaMA 2-Modell eingeführte Grouped Query Attention (GQA) ist eine Variante des Multi-Query-Attention-Mechanismus, der Aufmerksamkeitsköpfe in Gruppen unterteilt, wobei jede Gruppe eine gemeinsame Schlüssel- und Wertematrix teilt. Dieser Ansatz stellt ein Gleichgewicht zwischen der Effizienz der Aufmerksamkeit bei mehreren Abfragen und der Leistung der Standard-Selbstaufmerksamkeit her und sorgt für verbesserte Inferenzzeiten bei gleichzeitiger Beibehaltung hochwertiger Ergebnisse.