Wir sprechen in diesem Artikel bewusst nur über die zeitliche Komplexität.
Informationen zur Speicherplatzkomplexität finden Sie in meinem Artikel zu 1-Bit-Transformatoren, der hier verfügbar ist:
Wir rasen in die Zukunft, was die Technologie der generativen KI betrifft, und die Algorithmen hinter großen Sprachmodellen bilden da keine Ausnahme. In diesem Artikel werden wir drei der spannendsten Entwicklungen im Bereich der generativen KI in jüngster Zeit behandeln und ausführlich darüber sprechen. Eine davon hat auch die optimale Zeitkomplexität erreicht, um einen Algorithmus für große Sprachmodelle auszuführen. Mit anderen Worten: Eine aktuelle Entwicklung ist der optimalste und schnellste LLM-Transformer-Algorithmus, der möglich ist – mit unseren aktuellen Modellen ist es nicht möglich, schneller zu sein, was die asymptotische Zeitkomplexität betrifft, außer durch konstante Zeitoptimierungen. Da wir es mit Hunderten von Milliarden von Parametern zu tun haben, kann die Beschleunigung der Konstanten ziemlich groß sein! Ich hoffe, Sie sind genauso aufgeregt wie ich, denn das wird eine spannende Reise!
Jeder kennt das bahnbrechende Papier „Attention is all you need“ aus dem Jahr 2017, aber ich werde es trotzdem zusammenfassen, damit Neulinge ein klareres Bild davon haben, wovon wir sprechen.
Dies ist der Link zur Forschungsarbeit:
Aufmerksamkeit ist alles, was Sie brauchen
Aus der Einleitung des Papiers:
Rekurrierende neuronale Netzwerke, insbesondere das Langzeit-Kurzzeitgedächtnis und gesteuerte rekurrierende neuronale Netzwerke, haben sich als moderne Ansätze bei Sequenzmodellierungs- und -übertragungsproblemen wie Sprachmodellierung und maschineller Übersetzung fest etabliert.
Seitdem wurden durch zahlreiche Anstrengungen die Grenzen rekurrierender Sprachmodelle und Encoder-Decoder-Architekturen immer weiter erweitert.
Rekurrierende Modelle führen die Faktorberechnung typischerweise entlang der Symbolpositionen der Eingabe- und Ausgabesequenzen durch.
Indem sie die Positionen an Schritte in der Rechenzeit ausrichten, erzeugen sie eine Folge von verborgenen Zuständen ℎ𝑡 als Funktion des vorherigen verborgenen Zustands ℎ𝑡−1 und der Eingabe für Position 𝑡.
Diese inhärent sequentielle Natur verhindert eine Parallelisierung innerhalb der Trainingsbeispiele, was bei längeren Sequenzen kritisch wird, da Speicherbeschränkungen die Stapelverarbeitung über mehrere Beispiele hinweg begrenzen.
In jüngsten Arbeiten wurden durch Faktorisierungstricks und bedingte Berechnungen erhebliche Verbesserungen der Rechenleistung erzielt und im letzteren Fall gleichzeitig die Modellleistung verbessert.
Die grundsätzliche Einschränkung der sequentiellen Berechnung bleibt jedoch bestehen.
Aufmerksamkeitsmechanismen sind bei verschiedenen Aufgaben zu einem integralen Bestandteil überzeugender Sequenzmodellierung und Transduktionsmodelle geworden und ermöglichen die Modellierung von Abhängigkeiten ohne Berücksichtigung ihrer Distanz in den Eingabe- oder Ausgabesequenzen.
In allen bis auf wenige Fälle werden solche Aufmerksamkeitsmechanismen jedoch in Verbindung mit einem rekurrierenden Netzwerk verwendet.
In dieser Arbeit schlagen wir den Transformer vor, eine Modellarchitektur, die auf Rekurrenz verzichtet und sich stattdessen vollständig auf einen Aufmerksamkeitsmechanismus verlässt, um globale Abhängigkeiten zwischen Eingabe und Ausgabe herzustellen.
Der Transformer ermöglicht deutlich mehr Parallelisierung und kann bereits nach zwölf Stunden Training auf acht P100-GPUs einen neuen Stand der Übersetzungsqualität erreichen.
Und wie wir wissen, haben die Transformatoren GPT-1, GPT-2, GPT-3 und GPT 3.5 die generative KI bald für immer revolutioniert.
Plötzlich konnten Maschinen scheinbar menschliches Englisch sprechen.
Dies war das klassische Diagramm, das in den nächsten zwei Jahren die Artikel und Forschungsnachrichten dominierte:
Dann kam GPT-4 heraus – und das Leben war nie wieder dasselbe.
Wir hatten einen Wendepunkt überschritten.
Diese Transformatoren waren jedoch teuer, ihre Schulung dauerte lange und ihr Einsatz war aufgrund ihrer extrem hohen Betriebskosten schwierig.
Die Zeitkomplexität des Transformer-Algorithmus war quadratisch oder O(n*n), wobei n die Anzahl der Eingabeparameter war .
Bei einem Standard-Transformermodell mit 𝐿 Schichten beträgt die Zeitkomplexität des Inferenzalgorithmus 𝑂( L*n*n*d ) , wobei L die Anzahl der Schichten, n die Anzahl der Eingabetoken und d die Tiefe des Transformers ist .
Dies schien eine Zeit lang der aktuelle Stand der Technik zu sein.
Die Quantisierung wurde bereits 2021 in einem anderen Artikel eingeführt und schien der nächste hochmoderne Mechanismus zu sein (siehe Abschnitt „Einleitung“ ).
Doch schon bald stand uns ein weiterer Konkurrent bevor.
Dies war die entsprechende Forschungsarbeit:
Mamba: Lineare Sequenzmodellierung mit selektiven Zustandsräumen
Aus der Zusammenfassung der Forschungsarbeit:
Grundlegende Modelle, die heute die Grundlage für die meisten spannenden Deep-Learning-Anwendungen bilden, basieren fast ausnahmslos auf der Transformer-Architektur und ihrem zentralen Aufmerksamkeitsmodul.
Um die Rechenineffizienz von Transformern bei langen Sequenzen zu beheben, wurden zahlreiche Architekturen mit subquadratischer Zeit entwickelt, wie etwa lineare Aufmerksamkeits-, Gated-Convolution- und rekurrierende Modelle sowie strukturierte Zustandsraummodelle (SSMs). Allerdings haben sie bei wichtigen Modalitäten wie Sprache nicht die gleiche Leistung erbracht wie Aufmerksamkeitsmodelle.
Wir haben festgestellt, dass eine wesentliche Schwäche solcher Modelle darin liegt, dass sie keine inhaltsbasierten Schlussfolgerungen ziehen können, und nehmen daher mehrere Verbesserungen vor.
Erstens behebt man deren Schwäche mit diskreten Modalitäten, indem man die SSM-Parameter einfach als Funktionen der Eingabe betrachtet. Dadurch kann das Modell je nach aktuellem Token Informationen entlang der Sequenzlängendimension selektiv weitergeben oder vergessen.
Zweitens: Obwohl diese Änderung die Verwendung effizienter Faltung verhindert, entwerfen wir einen hardwarebewussten parallelen Algorithmus im rekurrierenden Modus.
Wir integrieren diese selektiven SSMs in eine vereinfachte End-to-End-Architektur neuronaler Netzwerke ohne Aufmerksamkeit oder sogar MLP-Blöcke (Mamba).
Mamba bietet schnelle Inferenz (5-mal höherer Durchsatz als Transformers) und lineare Skalierung der Sequenzlänge. Zudem verbessert sich die Leistung bei realen Daten bis hin zu Sequenzen mit einer Länge von Millionen.
Als Rückgrat eines allgemeinen Sequenzmodells erreicht Mamba modernste Leistung in mehreren Modalitäten wie Sprache, Audio und Genomik.
Bei der Sprachmodellierung übertrifft unser Mamba-3B-Modell Transformatoren der gleichen Größe und kann es mit Transformatoren aufnehmen, die doppelt so groß sind, sowohl beim Vortraining als auch bei der nachgelagerten Auswertung.
Plötzlich
Plötzlich hatten wir einen neuen Konkurrenten in der Stadt!
Die Hauptvorteile des Mamba-Transformer-Algorithmus waren:
Hybridarchitektur :
Mamba kombiniert Transformer- und Mamba-Ebenen und ermöglicht dadurch eine verbesserte Leistung und einen höheren Durchsatz bei gleichzeitig verwaltbarem Speicherbedarf.
Bewältigte Herausforderungen :
Speicher- und Rechenleistung : Mamba berücksichtigt den hohen Speicher- und Rechenleistungsbedarf von Transformers, insbesondere bei langen Kontexten.
Zusammenfassungsstatus : Im Gegensatz zu Transformers stellt Mamba einen einzigen Zusammenfassungsstatus bereit, der schnellere Schlussfolgerungen ermöglicht.
Architekturdetails :
Leistung :
Die Leistung von Mamba war mit bestehenden Modellen wie Mixtral-8x7B und Llama-2 70B vergleichbar und unterstützte Kontextlängen von bis zu 256.000 Token.
Effizienz : Der Durchsatz von Mamba war bei langen Kontexten dreimal so hoch wie der von Mixtral-8x7B und passte selbst bei großen Kontexten in eine einzelne GPU.
Die Mamba-Architektur stellt einen bedeutenden Fortschritt bei großen Sprachmodellen dar und kombiniert die Stärken der Transformer- und SSM-Ansätze.
Im weiteren Verlauf der Tests stellte sich jedoch heraus, dass der Mamba-Algorithmus nicht für alle Anwendungsfälle geeignet war.
Insbesondere versagte der Mamba-Algorithmus bei der Vorlage des IMDB-Datensatzes kläglich.
Allerdings war die Architektur immer noch auf dem neuesten Stand der Technik und erwies sich bei Anwendungsfällen im Bereich der Bildverarbeitung als äußerst nützlich.
Eine Implementierung in Python können Sie hier sehen:
Und dies ist eine hervorragende Erklärung des Mamba-Algorithmus, einschließlich der bereitgestellten Theorie.
Und hier ist die Standardimplementierung von Mamba in PyPI:
Der Mamba-Algorithmus hatte seine beste Zeit und ist immer noch ein sehr aktives Forschungsgebiet. Bald kam ein Nachfolger heraus, aber das Beste heben wir uns bis zum Schluss auf.
Wir kommen zum nächsten Kandidaten - dem xLSTM-Algorithmus
Sie können die Forschungsarbeit hier einsehen:
xLSTM: Erweitertes Langzeit-Kurzzeitgedächtnis – arXiv .
Aus der Zusammenfassung der Forschungsarbeit:
In den 1990er Jahren wurden das konstante Fehlerkarussell und das Gating als zentrale Ideen des Long Short-Term Memory (LSTM) eingeführt.
Seitdem haben LSTMs den Test der Zeit bestanden und zu zahlreichen Erfolgsgeschichten des Deep Learning beigetragen; insbesondere bildeten sie die ersten Large Language Models (LLMs).
Das Aufkommen der Transformer-Technologie, deren Kern die parallelisierbare Selbstaufmerksamkeit ist, markierte jedoch den Beginn einer neuen Ära und übertraf LSTMs in der Größenordnung.
Wir stellen nun eine einfache Frage: Wie weit kommen wir bei der Sprachmodellierung, wenn wir LSTMs auf Milliarden von Parametern skalieren, die neuesten Techniken moderner LLMs nutzen, aber die bekannten Einschränkungen von LSTMs abmildern?
Zunächst führen wir die exponentielle Gating-Funktion mit geeigneten Normalisierungs- und Stabilisierungstechniken ein.
Zweitens ändern wir die LSTM-Speicherstruktur und erhalten:
(i) sLSTM mit einem Skalarspeicher, einem Skalarupdate und neuer Speichermischung,
(ii) mLSTM, das mit einem Matrixspeicher und einer Kovarianz-Aktualisierungsregel vollständig parallelisierbar ist.
Durch die Integration dieser LSTM-Erweiterungen in Restblock-Backbones entstehen xLSTM-Blöcke, die dann in xLSTM-Architekturen gestapelt werden.
Durch exponentielles Gating und modifizierte Speicherstrukturen werden die Fähigkeiten von xLSTM gesteigert und im Vergleich zu modernsten Transformers und State Space Models weisen diese sowohl hinsichtlich der Leistung als auch der Skalierung eine bessere Leistung auf.
Der Long Short-Term Memory (LSTM)-Algorithmus war zu seiner Zeit äußerst nützlich und hatte seinen gerechten Anteil an Erfolgen.
Das xLSTM verwendet dasselbe Modell, jedoch in einer völlig anderen Architektur.
Dies war die wichtigste Neuerung, die in diesem Diagramm im Forschungsbericht zusammengefasst ist:
Die Hauptvorteile des xLSTM waren:
Umgang mit langen Sequenzen :
xLSTM wurde speziell für die Verarbeitung langer Sequenzen mit seinen Gating-Mechanismen entwickelt, die den Informationsfluss steuern. Dadurch ist es im Vergleich zum herkömmlichen LSTM effektiver bei der Erfassung langfristiger Abhängigkeiten in sequenziellen Daten.
Rechenleistung :
xLSTM könnte für bestimmte Aufgaben rechnerisch effizienter sein, insbesondere bei der Verarbeitung kleinerer Datensätze oder wenn die Sequenzlänge nicht übermäßig groß ist.
Transformatoren hingegen erforderten aufgrund ihres Selbstaufmerksamkeitsmechanismus, der quadratisch mit der Sequenzlänge skalierte, erhebliche Rechenressourcen.
Speichernutzung :
xLSTM benötigt im Allgemeinen weniger Speicher als Transformers.
Der Selbstaufmerksamkeitsmechanismus in Transformers erforderte die Speicherung großer Aufmerksamkeitsmatrizen, was insbesondere bei langen Sequenzen speicherintensiv sein konnte.
Trainingsstabilität :
xLSTM könnte während des Trainings aufgrund seiner rekurrierenden Natur und der Gating-Mechanismen, die zur Milderung des Problems des verschwindenden Gradienten beitrugen, stabiler sein.
Transformers sind zwar leistungsstark, können aber manchmal schwieriger zu trainieren sein und erfordern möglicherweise eine sorgfältige Abstimmung der Hyperparameter und Regularisierungstechniken.
Einfachheit und Interpretierbarkeit :
xLSTM-Modelle könnten im Vergleich zu Transformers einfacher zu verstehen und zu interpretieren sein.
Die rekurrierende Natur von LSTMs erleichterte die Verfolgung des Informationsflusses durch das Netzwerk, während die Aufmerksamkeitsmechanismen in Transformers abstrakter und schwieriger zu interpretieren sein könnten.
Leistung bei kleinen Datensätzen :
xLSTM könnte bei kleinen Datensätzen oder bei begrenzten gekennzeichneten Daten eine bessere Leistung erbringen.
Transformatoren benötigen typischerweise große Datenmengen, um ihr volles Potenzial zu erreichen, weshalb xLSTM in Szenarien mit eingeschränkter Datenverfügbarkeit die bessere Wahl ist.
.
Sequentielle Daten :
Bei bestimmten Typen sequenzieller Daten, etwa Zeitreihen oder bestimmten Typen von Aufgaben zur Verarbeitung natürlicher Sprache, hätte xLSTM aufgrund seines inhärenten Designs für die Verarbeitung von Sequenzen möglicherweise eine bessere Leistung geliefert.
Es ist jedoch wichtig zu beachten, dass Transformers ihre eigenen Vorteile haben, z. B. bessere Parallelisierungsfunktionen, überlegene Leistung bei großen Datensätzen und hochmoderne Ergebnisse bei vielen NLP-Aufgaben.
Die Wahl zwischen xLSTM und Transformer muss auf den spezifischen Anforderungen und Einschränkungen der jeweiligen Aufgabe basieren.
Sie können hier eine Implementierung von xLSTM in PyTorch sehen:
Eine ausführliche Erklärung zu xLSTM finden Sie hier:
Dies ist eine gute Zusammenfassung des aktuellen Status:
Aber es gab einen Nachfolger von Mamba, der den Heiligen Gral fand - die optimale Zeitkomplexität für einen LLM-Algorithmus
Das Forschungspapier finden Sie hier:
Jamba: Ein hybrides Transformer-Mamba-Sprachmodell
Aus der Zusammenfassung des Forschungspapiers:
Wir präsentieren Jamba, ein neues Basismodell für große Sprachen, das auf einer neuartigen hybriden Transformer-Mamba-Expertenmischung (MoE)-Architektur basiert.
Insbesondere verschachtelt Jamba Blöcke aus Transformer- und Mamba-Ebenen und nutzt so die Vorteile beider Modellfamilien.
In einigen dieser Schichten wird MoE hinzugefügt, um die Modellkapazität zu erhöhen und gleichzeitig die aktive Parameternutzung handhabbar zu halten.
Diese flexible Architektur ermöglicht ressourcen- und zielspezifische Konfigurationen.
In der speziellen Konfiguration, die wir implementiert haben, erhalten wir ein leistungsstarkes Modell, das in eine einzelne 80-GB-GPU passt.
Jamba wurde im großen Maßstab entwickelt und bietet im Vergleich zu Standard-Transformers einen hohen Durchsatz und einen geringen Speicherbedarf sowie gleichzeitig modernste Leistung bei Benchmarks für Standardsprachmodelle und Langkontextauswertungen.
Bemerkenswerterweise liefert das Modell starke Ergebnisse für eine Kontextlänge von bis zu 256.000 Token.
Wir untersuchen verschiedene Architekturentscheidungen, etwa wie Transformer- und Mamba-Ebenen kombiniert werden und wie Experten gemischt werden, und zeigen, dass einige davon bei der Modellierung im großen Maßstab von entscheidender Bedeutung sind.
Wir beschreiben außerdem mehrere interessante Eigenschaften dieser Architekturen, die beim Training und der Evaluierung von Jamba ans Licht gekommen sind, und planen, Kontrollpunkte aus verschiedenen Ablationsläufen freizugeben, um die weitere Erforschung dieser neuartigen Architektur zu fördern.
Wir machen die Gewichte unserer Jamba-Implementierung unter einer freizügigen Lizenz öffentlich zugänglich.
Die Implementierung ist hier im HuggingFace-Repository verfügbar:
Modell: https://huggingface.co/ai21labs/Jamba-v0.1
Vergleich mit anderen Modellen :
Bei der Bewertung anhand einer Reihe von Benchmarks weist Jamba eine vergleichbare Leistung wie andere hochmoderne Modelle wie Mistral-8x7B , Llama-2 70B und Mixtral-8x7B auf.
Insbesondere unterstützt Jamba Kontextlängen von bis zu 256K Tokens , was die längste unter den öffentlich verfügbaren Modellen ist
Bei Aufgaben wie Hellaswag , Arc Challenge und PIQA übertrifft Jamba Modelle wie Llama 2 , Mixtral 8x7B und Gemma .
Zusammenfassend lässt sich sagen, dass die Hybridarchitektur von Jamba die Stärken der Transformers- und Mamba-Ebenen kombiniert, was zu beeindruckender Leistung und Skalierbarkeit führt.
Das wichtigste Diagramm, das Sie sich merken sollten, ist das in der oben stehenden Forschungsarbeit dargestellte:
Die Verflechtung von Mamba- und Transformer-Modellen führt zu einer unglaublichen Steigerung der Zeitkomplexität, die im folgenden Artikel wunderbar zusammengefasst wird:
Autorin : Nimrita Koul
Datum : 1. April 2024
Zusammenfassung :
Jamba ist das erste produktionsreife, Mamba-basierte Large Language Model, das von AI21 eingeführt wurde.
Es kombiniert die Stärken der Transformer- und Mamba-Architekturen.
Transformer-basierte Modelle haben aufgrund ihrer Trainingszeitkomplexität von O(n²) Probleme mit langen Sequenzen.
Die Mamba-Architektur bietet eine lineare Trainingszeitkomplexität ( O(n) ) und eine konstante Inferenzzeit ( O(1) ).
Mamba basiert auf der State Space Model (SSM)-Architektur.
SSMs verwenden Zustandsvariablen, um ein System mithilfe von Differential- oder Differenzgleichungen zu beschreiben.
Der hybride Ansatz von Mamba zielt darauf ab, die Einschränkungen bestehender Modelle zu beheben.
Den ganzen Artikel können Sie hier lesen:
Mamba und Jamba – einfach erklärt , von Nimrita Koul, auf Medium.com.
Der entscheidende Punkt besteht hier darin, dass der Algorithmus zum Trainieren jedes Eingabetoken mindestens einmal betrachten muss, wodurch sich eine Zeitkomplexität von O(n) ergibt.
Außerdem beträgt die größtmögliche Geschwindigkeit, die die Inferenz für jedes LLM-Modell erreichen kann, O(1) – konstante Zeit, unabhängig von der Länge der Token (eine unglaubliche Leistung)!
Daher gilt bei Verbesserungen in konstanter Zeit – die immer noch sehr hoch sein können (diese Zahlen liegen im Hunderten von Milliarden) –:
Jamba hat die optimale Grenze für die Zeitkomplexität eines Transformer-Algorithmus erreicht!
Unter den gegebenen Systembedingungen können wir, sofern keine neue Technologie (wie etwa Quantencomputer) eingeführt wird, einfach keine schnellere asymptotische Zeitkomplexität erreichen!
Das ist ein sehr bedeutendes Ergebnis!
Die offizielle Ankündigung von A121 Labs:
Ein weiterer guter Artikel auf Medium zu Jamba:
Eine der besten derzeit verfügbaren Implementierungen von Jamba:
Noch einmal das Jamba-Modell des HuggingFace Hub:
Damit erreicht Jamba die höchste Zeitkomplexität, die mit einem aktuellen Transformatoralgorithmus unter dem bestehenden System erreicht werden kann, und zwar bei konstanter Pegelvariation. Noch einmal: Die Konstanten können sehr groß sein, denn sie liegen in der Größenordnung von Hunderten von Milliarden von Termen! Dies ist jedoch immer noch eine beachtliche Leistung. Und der Forschung hierzu sind keine Grenzen gesetzt, insbesondere in Kombination mit DPO (Direct Preference Optimization) und Quantisierung – weitere Informationen finden Sie im Nachwort.
Es gibt eine Seite davon, an der anscheinend niemand offen arbeitet.
Können Mamba, xLSTM und die Jamba-Modelle auf 1-Bit-Präzision quantisiert werden?
Natürlich!
Ich kann es kaum erwarten, die Leistungsverbesserungen von Mamba und Jamba zu sehen, wenn sie erst einmal auf ein Bit quantisiert sind! Oder 1,58 Bit {-1, 0, 1 }.
Weitere Einzelheiten finden Sie in diesem Artikel:
Die Zukunft dieser Technologie wird unglaublich spannend!
Möge Ihnen die Freude und der Nervenkitzel, auf diesem Gebiet zu arbeiten, immer erhalten bleiben!
Prost!
Zum Thema Quantisierung ist dieses Papier auf jeden Fall lesenswert:
Forschungsbericht - BitNet: Skalierung von 1-Bit-Transformatoren für große Sprachmodelle :
Zusammenfassung : Die zunehmende Größe großer Sprachmodelle stellt Herausforderungen für deren Bereitstellung dar und löst aufgrund des hohen Energieverbrauchs Bedenken hinsichtlich der Umweltauswirkungen aus. In dieser Arbeit stellen wir BitNet vor, eine skalierbare und stabile 1-Bit-Transformer-Architektur für große Sprachmodelle. Insbesondere stellen wir BitLinear als Drop-in-Ersatz für die nn.Linear
Schicht vor, um 1-Bit-Gewichte von Grund auf zu trainieren. Experimentelle Ergebnisse zur Sprachmodellierung zeigen, dass BitNet eine konkurrenzfähige Leistung erzielt und dabei den Speicherbedarf und Energieverbrauch im Vergleich zu modernsten 8-Bit-Quantisierungsmethoden und FP16-Transformer-Baselines erheblich reduziert. Außerdem weist BitNet ein Skalierungsgesetz ähnlich dem von Transformers mit voller Genauigkeit auf , was auf sein Potenzial für eine effektive Skalierung auf noch größere Sprachmodelle bei gleichzeitiger Beibehaltung von Effizienz- und Leistungsvorteilen hindeutet.
Lesen Sie das vollständige Forschungspapier
https://arxiv.org/abs/2310.11453
Und das Model auf HuggingFace:
Dieses Repository enthält eine quantisierte Version des BitNet b1.58-3B -Modells.
Während das ursprüngliche Repository beeindruckende Validierungsergebnisse vorweist, emuliert es die linearen Schichten von BitNet, was zu einer Speichernutzung ähnlich der von FP16-Modellen führt.
Entdecken Sie das Hugging Face-Modell