Stummel Mamba: Sequenzmodellierung neu definieren und Transformers-Architektur übertreffen – Unite.AI
Vernetzen Sie sich mit uns

Künstliche Intelligenz

Mamba: Sequenzmodellierung neu definieren und Transformers-Architektur übertreffen

mm

Veröffentlicht

 on

Mamba AI-Modell

In diesem Artikel auf Mamba, werden wir untersuchen, wie dieses innovative Zustandsraummodell (SSM) die Sequenzmodellierung revolutioniert. Mamba wurde von Albert Gu und Tri Dao entwickelt und zeichnet sich durch seine Effizienz bei der Verarbeitung komplexer Sequenzen in Bereichen wie Sprachverarbeitung, Genomik und Audioanalyse aus. Seine lineare Zeitsequenzmodellierung mit selektiven Zustandsräumen gewährleistet eine außergewöhnliche Leistung bei diesen verschiedenen Modalitäten.

Wir werden uns mit Mambas Fähigkeit befassen, die Rechenherausforderungen herkömmlicher Transformer zu meistern, insbesondere bei langen Sequenzen. Sein selektiver Ansatz in Zustandsraummodellen ermöglicht eine schnellere Inferenz und lineare Skalierung mit der Sequenzlänge, was den Durchsatz deutlich verbessert.

Die Einzigartigkeit von Mamba liegt in seiner schnellen Verarbeitungsfähigkeit, der selektiven SSM-Schicht und dem hardwarefreundlichen Design, das von FlashAttention inspiriert ist. Diese Funktionen ermöglichen es Mamba, viele bestehende Modelle zu übertreffen, darunter auch solche, die auf dem Transformer-Ansatz basieren, was es zu einem bemerkenswerten Fortschritt im maschinellen Lernen macht.

Transformatoren vs Mamba 

Transformer wie GPT-4 haben Maßstäbe in der Verarbeitung natürlicher Sprache gesetzt. Allerdings sinkt ihre Effizienz bei längeren Sequenzen. Hier setzt Mamba mit seiner Fähigkeit, lange Sequenzen effizienter zu verarbeiten, und seiner einzigartigen Architektur, die den gesamten Prozess vereinfacht, einen Vorsprung.

Transformatoren sind in der Lage, Datensequenzen wie Text für Sprachmodelle zu verarbeiten. Im Gegensatz zu früheren Modellen, die Daten sequenziell verarbeiteten, verarbeiten Transformer ganze Sequenzen gleichzeitig und können so komplexe Beziehungen innerhalb der Daten erfassen.

Sie nutzen einen Aufmerksamkeitsmechanismus, der es dem Modell ermöglicht, sich bei Vorhersagen auf verschiedene Teile der Sequenz zu konzentrieren.

Diese Aufmerksamkeit wird mithilfe von drei Gewichtungssätzen berechnet: Abfragen, Schlüssel und Werte, die aus den Eingabedaten abgeleitet werden. Jedes Element in einer Sequenz wird mit jedem anderen Element verglichen und ergibt eine Gewichtung, die die Wichtigkeit oder „Aufmerksamkeit“ angibt, die jedes Element bei der Vorhersage des nächsten Elements in der Sequenz erhalten sollte.

Transformatoren bestehen aus zwei Hauptblöcken: dem Encoder, der die Eingabedaten verarbeitet, und dem Decoder, der die Ausgabe generiert. Der Encoder besteht aus mehreren Schichten, die jeweils zwei Unterschichten enthalten: einen Mehrkopf-Selbstaufmerksamkeitsmechanismus und ein einfaches, positionsmäßig vollständig verbundenes Feed-Forward-Netzwerk. Normalisierung und Restverbindungen werden auf jeder Unterschicht verwendet, um das Training tiefer Netzwerke zu unterstützen.

Der Decoder verfügt ebenfalls über Schichten mit zwei Unterschichten ähnlich dem Encoder, fügt jedoch eine dritte Unterschicht hinzu, die die Multi-Head-Aufmerksamkeit auf die Ausgabe des Encoders ausübt. Die sequentielle Natur des Decoders stellt sicher, dass Vorhersagen für eine Position nur frühere Positionen berücksichtigen können, wodurch die autoregressive Eigenschaft erhalten bleibt.

Im Gegensatz zu Transformers verfolgt das Mamba-Modell einen anderen Ansatz. Während Transformers das Problem langer Sequenzen mithilfe komplexerer Aufmerksamkeitsmechanismen angeht, verwendet Mamba selektive Zustandsräume und bietet so mehr Rechenleistung

Hier ist ein allgemeiner Überblick über die Funktionsweise eines Transformators:

  1. Eingabeverarbeitung: Transformatoren kodieren Eingabedaten zunächst in ein Format, das das Modell verstehen kann, und verwenden dabei häufig Einbettungen, die auch die Position jedes Elements in der Sequenz berücksichtigen.
  2. Aufmerksamkeitsmechanismus: Im Kern berechnet der Aufmerksamkeitsmechanismus einen Wert, der angibt, wie viel Fokus auf andere Teile der Eingabesequenz gelegt werden muss, wenn ein aktuelles Element verstanden wird.
  3. Encoder-Decoder-Architektur: Das Transformatormodell besteht aus einem Encoder zur Verarbeitung der Eingabe und einem Decoder zur Erzeugung der Ausgabe. Jede besteht aus mehreren Schichten, die das Verständnis des Modells für die Eingabe verfeinern.
  4. Mehrköpfige Aufmerksamkeit: Sowohl im Encoder als auch im Decoder ermöglicht die Mehrkopfaufmerksamkeit dem Modell, gleichzeitig verschiedene Teile der Sequenz aus verschiedenen Darstellungsräumen zu betrachten, wodurch seine Fähigkeit verbessert wird, aus verschiedenen Kontexten zu lernen.
  5. Positionsbezogene Feed-Forward-Netzwerke: Nach der Aufmerksamkeit verarbeitet ein einfaches neuronales Netzwerk die Ausgabe jeder Position separat und identisch. Dies wird mit der Eingabe über eine Restverbindung kombiniert und anschließend erfolgt eine Schichtnormalisierung.
  6. Ausgabeerzeugung: Der Decoder sagt dann eine Ausgabesequenz voraus, die vom Kontext des Encoders und dem, was er bisher generiert hat, beeinflusst wird.

Die Fähigkeit des Transformators, Sequenzen parallel zu verarbeiten, und sein robuster Aufmerksamkeitsmechanismus machen ihn leistungsstark für Aufgaben wie Übersetzung und Textgenerierung.

Im Gegensatz dazu funktioniert das Mamba-Modell anders, indem es selektive Zustandsräume zur Verarbeitung von Sequenzen verwendet. Dieser Ansatz behebt die Rechenineffizienz in Transformers beim Umgang mit langen Sequenzen. Das Design von Mamba ermöglicht eine schnellere Inferenz und skaliert linear mit der Sequenzlänge und setzt damit ein neues Paradigma für die Sequenzmodellierung, das effizienter sein könnte, insbesondere wenn Sequenzen immer länger werden.

Mamba

Was Mamba wirklich einzigartig macht, ist die Abkehr von traditionellen Aufmerksamkeits- und MLP-Blockaden. Diese Vereinfachung führt zu einem leichteren, schnelleren Modell, das linear mit der Sequenzlänge skaliert – eine Leistung, die von seinen Vorgängern nicht erreicht wurde.

Zu den Hauptfunktionen von Mamba gehören:

  1. Selektive SSMs: Dadurch kann Mamba irrelevante Informationen filtern und sich auf relevante Daten konzentrieren, wodurch die Handhabung von Sequenzen verbessert wird. Diese Selektivität ist entscheidend für effizientes inhaltliches Denken.
  2. Hardware-bewusster Algorithmus: Mamba verwendet einen parallelen Algorithmus, der für moderne Hardware, insbesondere GPUs, optimiert ist. Dieses Design ermöglicht schnellere Berechnungen und reduziert den Speicherbedarf im Vergleich zu herkömmlichen Modellen.
  3. Vereinfachte Architektur: Durch die Integration selektiver SSMs und die Eliminierung von Aufmerksamkeits- und MLP-Blockaden bietet Mamba eine einfachere, homogenere Struktur. Dies führt zu einer besseren Skalierbarkeit und Leistung.

Mamba hat in verschiedenen Bereichen, darunter Sprache, Audio und Genomik, eine überlegene Leistung gezeigt und sich sowohl bei Vortrainings- als auch bei domänenspezifischen Aufgaben hervorgetan. Beispielsweise erreicht oder übertrifft Mamba bei der Sprachmodellierung die Leistung größerer Transformer-Modelle.

Der Code und die vorab trainierten Modelle von Mamba sind für die Community-Nutzung unter offen verfügbar GitHub.

Standard-Kopieraufgaben sind für lineare Modelle einfach. Selektive Kopier- und Induktionsköpfe erfordern einen dynamischen, inhaltsbewussten Speicher für LLMs.

Standard-Kopieraufgaben sind für lineare Modelle einfach. Selektive Kopier- und Induktionsköpfe erfordern einen dynamischen, inhaltsbewussten Speicher für LLMs.

Modelle des strukturierten Zustandsraums (S4) haben sich kürzlich als vielversprechende Klasse von Sequenzmodellen herausgestellt, die Merkmale von RNNs, CNNs und klassischen Zustandsraummodellen umfassen. S4-Modelle sind von kontinuierlichen Systemen inspiriert, insbesondere von einem Systemtyp, der eindimensionale Funktionen oder Sequenzen durch einen impliziten latenten Zustand abbildet. Im Kontext des Deep Learning stellen sie eine bedeutende Innovation dar und bieten eine neue Methodik für den Entwurf von Sequenzmodellen, die effizient und hochgradig anpassungsfähig sind.

Die Dynamik von S4-Modellen

SSM (S4) Dies ist das grundlegende strukturierte Zustandsraummodell. Es braucht eine Sequenz x und erzeugt eine Ausgabe y unter Verwendung gelernter Parameter A, B, Cund einen Verzögerungsparameter Δ. Die Transformation umfasst die Diskretisierung der Parameter (die Umwandlung kontinuierlicher Funktionen in diskrete Funktionen) und die Anwendung der SSM-Operation, die zeitinvariant ist – das heißt, sie ändert sich über verschiedene Zeitschritte hinweg nicht.

Die Bedeutung der Diskretisierung

Diskretisierung ist ein Schlüsselprozess, der die kontinuierlichen Parameter durch feste Formeln in diskrete umwandelt und es den S4-Modellen ermöglicht, eine Verbindung mit zeitkontinuierlichen Systemen aufrechtzuerhalten. Dies verleiht den Modellen zusätzliche Eigenschaften, wie z. B. Auflösungsinvarianz, und sorgt für eine ordnungsgemäße Normalisierung, wodurch die Stabilität und Leistung des Modells verbessert wird. Die Diskretisierung weist auch Parallelen zu den Gating-Mechanismen in RNNs auf, die für die Verwaltung des Informationsflusses durch das Netzwerk von entscheidender Bedeutung sind.

Lineare Zeitinvarianz (LTI)

Ein Kernmerkmal der S4-Modelle ist ihre lineare Zeitinvarianz. Diese Eigenschaft impliziert, dass die Dynamik des Modells über die Zeit hinweg konsistent bleibt und die Parameter für alle Zeitschritte festgelegt sind. LTI ist ein Eckpfeiler von Wiederholungen und Faltungen und bietet ein vereinfachtes, aber leistungsstarkes Framework für die Erstellung von Sequenzmodellen.

Grundlegende Einschränkungen überwinden

Das S4-Framework war traditionell durch seinen LTI-Charakter eingeschränkt, der Herausforderungen bei der Modellierung von Daten mit sich bringt, die adaptive Dynamik erfordern. Das aktuelle Forschungspapier stellt einen Ansatz vor, der diese Einschränkungen durch die Einführung zeitlich variierender Parameter überwindet und so die Einschränkung des LTI beseitigt. Dadurch können die S4-Modelle vielfältigere Sequenzen und Aufgaben bewältigen, was ihre Anwendbarkeit erheblich erweitert.

Der Begriff „Zustandsraummodell“ deckt im Großen und Ganzen jeden wiederkehrenden Prozess ab, an dem ein latenter Zustand beteiligt ist, und wird zur Beschreibung verschiedener Konzepte in mehreren Disziplinen verwendet. Im Zusammenhang mit Deep Learning beziehen sich S4-Modelle oder strukturierte SSMs auf eine bestimmte Klasse von Modellen, die für effiziente Berechnungen optimiert wurden und gleichzeitig die Fähigkeit zur Modellierung komplexer Sequenzen beibehalten.

S4-Modelle können in End-to-End-Architekturen neuronaler Netzwerke integriert werden und als eigenständige Sequenztransformationen fungieren. Sie können als Analogie zu Faltungsschichten in CNNs betrachtet werden und bilden das Rückgrat für die Sequenzmodellierung in einer Vielzahl neuronaler Netzwerkarchitekturen.

SSM vs. SSM + Auswahl

SSM vs. SSM + Auswahl

Motivation für Selektivität in der Sequenzmodellierung

Strukturierte SSMs

Strukturierte SSMs

Der Artikel argumentiert, dass ein grundlegender Aspekt der Sequenzmodellierung die Komprimierung des Kontexts in einen überschaubaren Zustand ist. Modelle, die sich selektiv auf Eingaben konzentrieren oder diese filtern können, bieten eine effektivere Möglichkeit, diesen komprimierten Zustand aufrechtzuerhalten, was zu effizienteren und leistungsfähigeren Sequenzmodellen führt. Diese Selektivität ist für Modelle von entscheidender Bedeutung, um den Informationsfluss entlang der Sequenzdimension adaptiv zu steuern, eine wesentliche Fähigkeit zur Bewältigung komplexer Aufgaben in der Sprachmodellierung und darüber hinaus.

Selektive SSMs verbessern herkömmliche SSMs, indem sie ermöglichen, dass ihre Parameter eingabeabhängig sind, was ein Maß an Anpassungsfähigkeit mit sich bringt, das bisher mit zeitinvarianten Modellen nicht erreichbar war. Dies führt zu zeitvariablen SSMs, die keine Faltungen mehr für effiziente Berechnungen verwenden können, sondern stattdessen auf einem linearen Wiederholungsmechanismus basieren, was eine erhebliche Abweichung von herkömmlichen Modellen darstellt.

SSM + Auswahl (S6) Diese Variante beinhaltet einen Auswahlmechanismus, der den Parametern eine Eingabeabhängigkeit hinzufügt B und Cund einen Verzögerungsparameter Δ. Dadurch kann sich das Modell gezielt auf bestimmte Teile der Eingabesequenz konzentrieren x. Die Parameter werden unter Berücksichtigung der Auswahl diskretisiert und die SSM-Operation wird auf zeitvariable Weise mithilfe einer Scan-Operation angewendet, die Elemente nacheinander verarbeitet und den Fokus über die Zeit dynamisch anpasst.

Leistungshöhepunkte von Mamba

Mamba ist bei jedem einzelnen Bewertungsergebnis Klassenbester

Mamba ist bei jedem einzelnen Bewertungsergebnis Klassenbester

In Bezug auf die Leistung zeichnet sich Mamba sowohl durch die Inferenzgeschwindigkeit als auch durch die Genauigkeit aus. Sein Design ermöglicht eine bessere Nutzung längerer Kontexte, was sich sowohl in der DNA- als auch in der Audiomodellierung zeigt, und übertrifft frühere Modelle bei komplexen Aufgaben, die weitreichende Abhängigkeiten erfordern. Seine Vielseitigkeit wird auch bei Zero-Shot-Bewertungen über mehrere Aufgaben hinweg hervorgehoben und setzt einen neuen Standard für solche Modelle in Bezug auf Effizienz und Skalierbarkeit.

Erste Schritte mit Mamba

Für diejenigen, die Mamba nutzen möchten, umfassen die technischen Anforderungen ein Linux-Betriebssystem, eine NVIDIA-GPU, PyTorch 1.12+ und CUDA 11.6+. Die Installation umfasst einfache Pip-Befehle, um die erforderlichen Pakete von zu installieren Mamba-Repository. Wenn Kompatibilitätsprobleme mit PyTorch-Versionen auftreten, kann die Verwendung des Flags –no-build-isolation mit pip hilfreich sein. Diese Modelle, die auf umfangreichen Datensätzen wie dem Pile- und dem SlimPajama-Datensatz trainiert wurden, sind so konzipiert, dass sie verschiedene Rechenanforderungen und Leistungsbenchmarks erfüllen.

Mamba bietet verschiedene Schnittstellenebenen, von der selektiven SSM-Schicht über den Mamba-Block bis hin zu vollständigen Sprachmodellstrukturen. Der Mamba-Block, das Hauptmodul der Architektur, nutzt eine kausale Conv1d-Schicht und kann problemlos in neuronale Netzwerkdesigns integriert werden. Das bereitgestellte Anwendungsbeispiel in Python demonstriert die Instanziierung eines Mamba-Modells und die Verarbeitung von Daten damit und unterstreicht die Einfachheit und Flexibilität des Systems.

Vortrainierte Mamba-Modelle sind auf verfügbar Gesicht umarmen, mit Größen zwischen 130 Mio. und 2.8 Mrd. Parametern, trainiert auf dem umfangreichen Pile-Datensatz und dem SlimPajama-Datensatz. Diese Modelle sind so konzipiert, dass sie verschiedene Rechen- und Leistungsanforderungen erfüllen und dabei den Maßstandards von GPT-3 entsprechen. Benutzer können von diesen Modellen einen hohen Durchsatz und eine hohe Genauigkeit erwarten, was Mamba zu einer wettbewerbsfähigen Wahl für verschiedene Anwendungen macht, einschließlich, aber nicht beschränkt auf, Sprachmodellierung.

Mambas Wirkung

Mamba stellt einen Fortschritt in der Sequenzmodellierung dar und bietet eine leistungsstarke Alternative zu Transformer-Architekturen für die Verarbeitung informationsreicher Daten. Sein Design entspricht den Anforderungen moderner Hardware und optimiert sowohl die Speichernutzung als auch die Parallelverarbeitungsfähigkeiten. Die Open-Source-Verfügbarkeit der Codebasis von Mamba und seiner vorab trainierten Modelle macht es zu einem zugänglichen und robusten Werkzeug für Forscher und Entwickler im Bereich KI und Deep Learning.

Ich habe die letzten fünf Jahre damit verbracht, in die faszinierende Welt des maschinellen Lernens und des Deep Learning einzutauchen. Meine Leidenschaft und mein Fachwissen haben dazu geführt, dass ich an über 50 verschiedenen Software-Engineering-Projekten mitgewirkt habe, mit besonderem Schwerpunkt auf KI/ML. Meine anhaltende Neugier hat mich auch zur Verarbeitung natürlicher Sprache geführt, einem Bereich, den ich gerne weiter erforschen möchte.