Einführung in Transformatormodelle: Was sie sind und wie sie funktionieren
Veröffentlicht: 2024-08-07Transformer sind ein Durchbruch in der KI, insbesondere in der Verarbeitung natürlicher Sprache (NLP). Sie sind bekannt für ihre Leistung und Skalierbarkeit und sind für Anwendungen wie Sprachübersetzung und Konversations-KI von entscheidender Bedeutung. In diesem Artikel werden ihre Struktur, Vergleiche mit anderen neuronalen Netzen sowie ihre Vor- und Nachteile untersucht.
Inhaltsverzeichnis
- Was ist ein Transformatormodell?
- Transformatoren vs. CNNs und RNNs
- Wie Transformatormodelle funktionieren
- Beispiele für Transformatormodelle
- Vorteile
- Nachteile
Was ist ein Transformatormodell?
Ein Transformer ist eine Art Deep-Learning-Modell, das im NLP weit verbreitet ist. Aufgrund seiner Aufgabenleistung und Skalierbarkeit ist es der Kern von Modellen wie der GPT-Serie (hergestellt von OpenAI), Claude (hergestellt von Anthropic) und Gemini (hergestellt von Google) und wird in der gesamten Branche häufig verwendet.
Deep-Learning-Modelle bestehen aus drei Hauptkomponenten: Modellarchitektur, Trainingsdaten und Trainingsmethoden. In diesem Rahmen stellt ein Transformator eine Art Modellarchitektur dar. Es definiert die Struktur der neuronalen Netze und ihre Interaktionen. Die wichtigste Innovation, die Transformers von anderen Modellen des maschinellen Lernens (ML) unterscheidet, ist die Verwendung von „Aufmerksamkeit“.
Aufmerksamkeit ist ein Mechanismus in Transformatoren, der es ihnen ermöglicht, Eingaben effizient zu verarbeiten und Informationen über lange Sequenzen hinweg (z. B. einen ganzen Aufsatz) aufrechtzuerhalten.
Hier ist ein Beispiel zur Veranschaulichung. „Die Katze saß am Ufer am Fluss. Dann wanderte es zum Ast des nahegelegenen Baumes.“ Sie können erkennen, dass „Bank“ hier nicht die Bank ist, bei der Sie Geld einzahlen. Um das herauszufinden, würden Sie wahrscheinlich den Kontexthinweis „Fluss“ verwenden. Aufmerksamkeit funktioniert ähnlich; Es verwendet die anderen Wörter, um zu definieren, was jedes Wort bedeutet. Worauf bezieht sich „es“ im Beispiel? Das Modell würde die Wörter „bewegt“ und „Baum“ als Hinweise betrachten, um zu erkennen, dass die Antwort „Katze“ lautet.
Die wichtige unbeantwortete Frage ist, woher das Modell weiß, welche Wörter es betrachten muss. Dazu kommen wir etwas später. Nachdem wir nun das Transformatormodell definiert haben, wollen wir näher erläutern, warum es so häufig verwendet wird.
Transformatoren vs. CNNs und RNNs
Recurrent Neural Networks (RNNs) und Convolutional Neural Networks (CNNs) sind zwei weitere gängige Deep-Learning-Modelle. Während RNNs und CNNs ihre Vorteile haben, werden Transformatoren häufiger verwendet, da sie lange Eingaben viel besser verarbeiten.
Transformatoren vs. RNNs
Rekurrente neuronale Netze sind sequentielle Modelle. Eine treffende Analogie ist ein Mensch, der ein Buch liest. Während sie Wort für Wort lesen, entwickeln sich ihre Erinnerung und ihr Verständnis für das Buch. Aufmerksame Leser können vielleicht sogar vorhersagen, was als Nächstes passieren wird, basierend auf dem, was zuvor passiert ist. Ein RNN funktioniert auf die gleiche Weise. Es liest Wort für Wort, aktualisiert seinen Speicher (sogenannter verborgener Zustand) und kann dann eine Vorhersage treffen (z. B. das nächste Wort im Satz oder die Stimmung eines Textes). Der Nachteil besteht darin, dass der verborgene Zustand nicht sehr viele Informationen speichern kann. Wenn Sie ein ganzes Buch in ein RNN einspeisen würden, würde es sich nicht an viele Details der Einleitungskapitel erinnern, da in seinem verborgenen Zustand nur eine begrenzte Menge Platz vorhanden ist. Spätere Kapitel haben Vorrang, da sie erst kürzlich in den verborgenen Zustand aufgenommen wurden.
Transformatoren haben nicht das gleiche Speicherproblem. Sie vergleichen jedes Wort mit jedem anderen Wort in der Eingabe (als Teil des Aufmerksamkeitsmechanismus), sodass sie keinen verborgenen Zustand verwenden oder sich „erinnern“ müssen, was zuvor passiert ist. In Anlehnung an die gleiche Buchanalogie ist ein Transformator wie ein Mensch, der das nächste Wort in einem Buch liest und dann jedes vorherige Wort im Buch betrachtet, um das neue Wort richtig zu verstehen. Wenn der erste Satz eines Buches den Satz „Er wurde in Frankreich geboren“ und der letzte Satz eines Buches den Satz „seine Muttersprache“ enthielte, könnte der Transformator daraus schließen, dass seine Muttersprache Französisch ist. Ein RNN ist dazu möglicherweise nicht in der Lage, da nicht gewährleistet ist, dass der verborgene Zustand diese Informationen behält. Darüber hinaus muss ein RNN jedes Wort einzeln lesen und dann seinen verborgenen Zustand aktualisieren. Ein Transformator kann seine Aufmerksamkeit parallel richten.
Transformers vs. CNNs
Faltungs-Neuronale Netze nutzen den umgebenden Kontext jedes Elements in einer Sequenz, um Bedeutung zuzuweisen. Bei einem Wort auf einer Seite würden sich CNNs die unmittelbar umgebenden Wörter ansehen, um die Bedeutung des Wortes herauszufinden. Es wäre nicht möglich, die letzte und die erste Seite eines Buches zu verbinden. CNNs werden überwiegend mit Bildern verwendet, da Pixel oft viel mehr mit ihren Nachbarn in Beziehung stehen als Wörter. Allerdings können CNNs auch für NLP verwendet werden.
Transformer unterscheiden sich von CNNs dadurch, dass sie mehr als nur die unmittelbaren Nachbarn eines Objekts berücksichtigen. Sie verwenden einen Aufmerksamkeitsmechanismus, um jedes Wort mit jedem anderen Wort in der Eingabe zu vergleichen und so ein breiteres und umfassenderes Verständnis des Kontexts zu ermöglichen.
Wie funktionieren Transformatormodelle?
Transformatoren verfügen über Schichten von Aufmerksamkeitsblöcken, Feedforward-Neuronalen Netzen und Einbettungen. Das Modell nimmt eine textbasierte Eingabe auf und gibt Ausgabetext zurück. Dazu gehen Sie folgendermaßen vor:
- Tokenisierung:Wandelt den Text in Token um (ähnlich der Zerlegung eines Satzes in einzelne Wörter).
- Einbettung:Wandelt die Token in Vektoren um und integriert Positionseinbettungen, damit das Modell die Position des Tokens in der Eingabe versteht.
- Aufmerksamkeitsmechanismus:Verarbeitet die Token mithilfe von Selbstaufmerksamkeit (für Eingabetokens) oder Kreuzaufmerksamkeit (zwischen Eingabetokens und generierten Tokens). Dieser Mechanismus ermöglicht es dem Modell, die Bedeutung verschiedener Token bei der Ausgabegenerierung abzuwägen.
- Feedforward-Neuronales Netzwerk:Leitet das Ergebnis durch ein Feedforward-Neuronales Netzwerk, das es dem Modell ermöglicht, durch Einführung von Nichtlinearität komplexe Muster zu erfassen.
- Wiederholung:Die Schritte 3–4 werden mehrmals über mehrere Ebenen hinweg wiederholt, um die Ausgabe zu verfeinern.
- Ausgabeverteilung:Erzeugt eine Wahrscheinlichkeitsverteilung über alle möglichen Token.
- Token-Auswahl:Wählt den Token mit der höchsten Wahrscheinlichkeit.
Dieser Prozess bildet einen Vorwärtsdurchlauf durch das Transformatormodell. Das Modell führt dies wiederholt aus, bis der Ausgabetext abgeschlossen ist. Innerhalb jedes Durchgangs kann der Einbettungsprozess parallel durchgeführt werden, ebenso wie der Aufmerksamkeitsmechanismus und die Feedforward-Phase. Im Wesentlichen muss der Transformator nicht jeden Token einzeln ausführen. Es kann die Aufmerksamkeit auf alle Token gleichzeitig lenken.
Wir können uns nun der Frage von vorhin zuwenden: Woher weiß das Modell, um welche Token es sich kümmern muss? Die Antwort liegt einfach darin, sich viele Trainingsdaten anzusehen. Zunächst kümmert sich das Modell um die falschen Token und generiert daher die falschen Ausgaben. Mithilfe der korrekten Ausgabe, die mit den Trainingsdaten geliefert wird, kann der Aufmerksamkeitsmechanismus so geändert werden, dass beim nächsten Mal die richtige Antwort ausgegeben wird. Über Milliarden (und sogar Billionen) von Beispielen kann der Aufmerksamkeitsmechanismus fast jederzeit die richtigen Token auswählen.
Beispiele für Transformatormodelle
Transformatoren gibt es überall. Obwohl Transformatoren ursprünglich für die Übersetzung entwickelt wurden, haben sie sich gut für fast alle Sprach-, Bild- und sogar Audioaufgaben skaliert.
Große Sprachmodelle
Die Transformer-Architektur unterstützt fast alle großen Sprachmodelle (LLMs): GPT, Claude, Gemini, Llama und viele kleinere Open-Source-Modelle. LLMs können verschiedene Textaufgaben (und zunehmend auch Bild- und Audioaufgaben) bewältigen, wie etwa die Beantwortung von Fragen, die Klassifizierung und die Generierung freier Formen.
Dies wird erreicht, indem das Transformatormodell anhand von Milliarden von Textbeispielen (normalerweise aus dem Internet) trainiert wird. Anschließend verfeinern Unternehmen das Modell anhand von Klassifizierungsbeispielen, um dem Modell beizubringen, wie die Klassifizierung korrekt durchgeführt wird. Kurz gesagt, das Modell erlernt eine breite Wissensbasis und erhält dann durch Feinabstimmung Fähigkeiten beigebracht.
Visionstransformatoren
Vision-Transformatoren sind Standardtransformatoren, die für die Bearbeitung von Bildern geeignet sind. Der Hauptunterschied besteht darin, dass der Tokenisierungsprozess mit Bildern statt mit Text funktionieren muss. Sobald die Eingabe in Token umgewandelt wird, erfolgt die normale Transformationsberechnung und schließlich werden die Ausgabe-Token zur Klassifizierung des Bildes (z. B. eines Bildes einer Katze) verwendet. Vision Transformer werden häufig mit Text-LLMs zu multimodalen LLMs zusammengeführt. Diese multimodalen Modelle können ein Bild aufnehmen und darüber nachdenken, z. B. eine Benutzeroberflächenskizze akzeptieren und den für ihre Erstellung erforderlichen Code zurückerhalten.
CNNs sind auch für Bildaufgaben beliebt, aber Transformatoren ermöglichen es dem Modell, alle Pixel im Bild zu verwenden, anstatt nur benachbarte Pixel. Wenn ein Bild beispielsweise ganz links ein Stoppschild und ganz rechts ein Auto enthält, könnte das Modell ermitteln, dass das Auto anhalten muss. Ein CNN kann diese beiden Datenpunkte möglicherweise nicht verbinden, da sie im Bild weit voneinander entfernt sind.
Audiotransformatoren
Audiotransformatoren sind wie Visiontransformatoren Standardtransformatoren mit einem einzigartigen, auf Audiodaten zugeschnittenen Tokenisierungsschema. Diese Modelle können sowohl Text als auch Rohaudio als Eingabe verarbeiten und entweder Text oder Audio ausgeben. Ein Beispiel hierfür ist Whisper, ein Speech-to-Text-Modell, das Rohaudio in ein Transkript umwandelt. Dies wird dadurch erreicht, dass das Audiomaterial in Blöcke segmentiert wird, diese Blöcke in Spektrogramme umgewandelt werden und die Spektrogramme in Einbettungen kodiert werden. Diese Einbettungen werden dann vom Transformator verarbeitet, der die endgültigen Transkript-Token generiert.
Über Sprache-zu-Text-Anwendungen hinaus gibt es für Audiotransformatoren verschiedene andere Anwendungsfälle, darunter Musikgenerierung, automatische Untertitelung und Sprachkonvertierung. Darüber hinaus integrieren Unternehmen Audiotransformatoren in LLMs, um sprachbasierte Interaktionen zu ermöglichen, sodass Benutzer über Sprachbefehle Fragen stellen und Antworten erhalten können.
Vorteile von Transformatormodellen
Aufgrund ihrer Skalierbarkeit und außergewöhnlichen Leistung bei einer Vielzahl von Aufgaben sind Transformatoren im Bereich des maschinellen Lernens allgegenwärtig geworden. Ihr Erfolg wird auf mehrere Schlüsselfaktoren zurückgeführt:
Langer Kontext
Der Aufmerksamkeitsmechanismus kann alle Token in der Eingabesequenz miteinander vergleichen. Daher werden Informationen während der gesamten Eingabe gespeichert und zur Generierung der Ausgabe verwendet. Im Gegensatz dazu vergessen RNNs ältere Informationen und CNNs können nur Informationen verwenden, die sich in der Nähe jedes Tokens befinden. Aus diesem Grund können Sie Hunderte von Seiten auf einen LLM-Chatbot hochladen, ihm eine Frage zu einer der Seiten stellen und eine genaue Antwort erhalten. Das Fehlen eines langen Kontexts in RNNs und CNNs ist derHauptgrunddafür, dass Transformer sie bei Aufgaben schlagen.
Parallelisierbarkeit
Der Aufmerksamkeitsmechanismus in Transformatoren kann parallel für alle Token in der Eingabesequenz ausgeführt werden. Dies steht im Gegensatz zu RNNs, die Token nacheinander verarbeiten. Dadurch können Transformatoren schneller geschult und eingesetzt werden, was den Benutzern schnellere Reaktionen ermöglicht. Diese Parallelverarbeitungsfähigkeit steigert die Effizienz von Transformatoren im Vergleich zu RNNs erheblich.
Skalierbarkeit
Forscher haben die Größe von Transformatoren und die Datenmenge, die zu ihrem Training verwendet wird, kontinuierlich erhöht. Sie haben noch keine Grenze dafür gesehen, wie viel Transformatoren lernen können. Je größer das Transformatormodell ist, desto komplexer und nuancierter ist der Text, den es verstehen und generieren kann (GPT-3 hat 175 Milliarden Parameter, während GPT-4 mehr als 1 Billion hat). Bemerkenswerterweise erfordert die Skalierung von Transformatormodellen, beispielsweise die Erstellung eines 10-Milliarden-Parameter-Modells im Vergleich zu einem 1-Milliarde-Parameter-Modell, nicht wesentlich mehr Zeit. Diese Skalierbarkeit macht Transformatoren zu leistungsstarken Werkzeugen für verschiedene erweiterte Anwendungen.
Nachteile von Transformatormodellen
Der Nachteil von Transformatormodellen besteht darin, dass sie viele Rechenressourcen erfordern. Der Aufmerksamkeitsmechanismus ist quadratisch: Jeder Token in der Eingabe wird mit jedem anderen Token verglichen. Zwei Token hätten 4 Vergleiche, drei Token hätten 9, vier Token hätten 16 und so weiter – im Wesentlichen ist der Rechenaufwand das Quadrat der Token-Anzahl. Diese quadratischen Kosten haben einige Auswirkungen:
Spezialisierte Hardware
LLMs können nicht einfach auf einem durchschnittlichen Computer ausgeführt werden. Aufgrund ihrer Größe benötigen sie oft Dutzende Gigabyte RAM, um die Modellparameter zu laden. Außerdem sind herkömmliche CPUs nicht für parallele Berechnungen optimiert. Stattdessen ist eine GPU erforderlich. Es kann Minuten dauern, bis ein LLM, das auf einer CPU läuft, einen einzelnen Token generiert. Leider sind GPUs nicht gerade die günstigste oder am besten zugängliche Hardware.
Begrenzte Eingabelänge
Transformer verfügen über eine begrenzte Textmenge, die sie verarbeiten können (bekannt als ihre Kontextlänge). GPT-3 konnte ursprünglich nur 2.048 Token verarbeiten. Fortschritte bei Aufmerksamkeitsimplementierungen haben zu Modellen mit Kontextlängen von bis zu 1 Million Token geführt. Dennoch ist umfangreiche Forschung erforderlich, um jedes zusätzliche Zeichen der Kontextlänge zu finden. Im Gegensatz dazu haben RNNs keine maximale Kontextlänge. Ihre Genauigkeit nimmt mit zunehmender Eingabe stark ab, aber Sie könnten jetzt eine Eingabe mit einer Länge von 2 Millionen Token in eine einspeisen.
Energiekosten
Die Rechenzentren, die die Transformatorberechnung betreiben, benötigen Energie für ihren Betrieb und Wasser für ihre Kühlung. Einer Schätzung zufolge benötigte GPT-3 zum Trainieren 1.300 Megawattstunden Strom: Das entspricht der Stromversorgung von 130 Haushalten in den USA für ein ganzes Jahr. Je größer die Modelle werden, desto mehr Energie wird benötigt. Bis 2027 könnte die KI-Industrie jedes Jahr so viel Strom benötigen wie die Niederlande. Es werden erhebliche Anstrengungen unternommen, um den Bedarf an Energietransformatoren zu reduzieren, aber dieses Problem ist noch nicht gelöst.