Deep Learning, der Transformer und der Aufstieg der generativen KI

Seit der Veröffentlichung von ChatGPT im November 2022 hat das Interesse an generativer KI (GenAI) explosionsartig zugenommen. Es gibt mehrere Faktoren, die zur Verbreitung und Popularität von GenAI-Modellen beigetragen haben. Dazu gehören qualitativ und quantitativ umfangreichere Datensätze, die Entwicklung leistungsfähigerer Computer und die Open-Source-Kultur.

Die grundlegende Triebkraft hinter dem Wachstum von GenAI ist die Entwicklung von Deep Learning (DL). DL ist ein Teilbereich des maschinellen Lernens (ML), bei dem Modelle in der Lage sind, die nichtlinearen Muster zu lernen, die in vielen realen Datensätzen vorhanden sind. Herkömmlichere ML-Algorithmen sind gut geeignet, um Vorhersagen für lineare Daten zu treffen, bei denen das Ziel spezifischer oder „enger“ ist. Diese Algorithmen schneiden jedoch schlecht ab, wenn sie mit komplexeren nicht-linearen Datensätzen konfrontiert werden. Viele Aufgaben der Verarbeitung natürlicher Sprache – wie z.B. die Analyse von Gefühlen, maschinelle Übersetzung und Texterstellung – nutzen nicht-lineare Daten. DL hat sich als sehr effektiv bei der Erfassung dieser nicht-linearen Beziehungen erwiesen.

Ein relativ neuer Durchbruch in DL war die Einführung der Transformer-Architektur, die 2017 von Vaswani et al. (Google Brain) veröffentlicht wurde. Die meisten der heutigen hochmodernen GenAI-Modelle nutzen den Transformer, einschließlich ChatGPT – also Generative Pre-trained Transformer. Es ist ein Verdienst der Open-Source-Kultur der Branche, dass die Google-Forschung den Fortschritt eines Unternehmens ermöglicht hat, das wohl sein Rivale ist – im Januar 2023 investierte Microsoft 10 Milliarden Dollar in OpenAI, die Muttergesellschaft von ChatGPT.

Die Architektur des Transformer, aus Vaswani et al. (2017)
Vor dem Transformer waren rekurrente neuronale Netze (RNNs) das Mittel der Wahl für Aufgaben, bei denen sequenzielle Daten wie z.B. Text verwendet werden. Eine Einschränkung von RNNs ist jedoch ihre Unfähigkeit, weitreichende Abhängigkeiten zu lernen. Langfristige Abhängigkeiten beziehen sich auf die Beziehungen zwischen Entitäten in einer Sequenz, die weit voneinander entfernt sind („Sequenz“ und „Satz“ werden im Folgenden synonym verwendet). Betrachten Sie den folgenden Satz als Beispiel: „Obwohl die Katze durch den plötzlichen Lärm erschrocken war, wagte sie sich schließlich unter dem Bett hervor und erkundete vorsichtig den Raum.“ Hier bezieht sich „sie“ auf „die Katze“, die am Anfang des Satzes erwähnt wird. Die Tatsache, dass diese beiden Sätze miteinander in Beziehung stehen, aber nicht nacheinander (sequentiell) erscheinen – sie sind durch mehrere dazwischenliegende Wörter getrennt – bedeutet, dass sie eine weitreichende Abhängigkeit darstellen.
RNNs können keine weitreichenden Abhängigkeiten lernen, weil sie auf einem Ansatz beruhen, der Daten sequentiell verarbeitet, d.h. ein Wort nach dem anderen. Dieser Ansatz kann zu dem Problem des verschwindenden Gradienten führen, bei dem die Wirkung von Eingabedaten, die zu einem früheren Zeitpunkt in der Sequenz aufgetreten sind, eine abnehmende Wirkung auf die Ausgabe oder das nächste vorhergesagte Wort haben kann. Betrachten Sie den folgenden Satz: „Louis, der im Alter von 10 Jahren aus Frankreich in die Vereinigten Staaten zog, spricht fließend Englisch mit einem leichten Akzent.“ Damit ein Modell lernen kann, warum Louis einen Akzent hat, wenn er Englisch spricht, muss es sich an seine französische Herkunft „erinnern“, die weiter oben im Satz erwähnt wird. RNNs könnten frühere Informationen in einer Sequenz „vergessen“, die für Informationen, die später in der Sequenz auftauchen, kontextuell relevant sind. In der Tat neigen sie eher dazu, solche Informationen zu „vergessen“, wenn die Sequenz länger ist. Wenn also mehr Wörter zwischen der Erwähnung von Louis‘ französischer Herkunft und der Erwähnung seines Akzents liegen, ist es für ein RNN weniger wahrscheinlich, dass es „versteht“, warum Louis einen Akzent hat.
Eine Aufschlüsselung der Elemente von GenAI.
Das Problem des verschwindenden Gradienten ist auf die Natur der Backpropagation zurückzuführen. Auf einer hohen Ebene ist Backpropagation ein Algorithmus, der zur Aktualisierung der Parameter eines Modells verwendet wird, um dessen Genauigkeit zu verbessern. Backpropagation arbeitet rückwärts und aktualisiert die Parameter des Modells unter Berücksichtigung der Auswirkungen der vorherigen Elemente auf die Parameter. Bei dem Satz über Louis und seinen Akzent würde also die Auswirkung von „moved“ – dem dritten Wort – auf die Parameter des Modells auch die Auswirkung des ersten und zweiten Wortes berücksichtigen: „Louis“ und „wer“. Das Problem des verschwindenden Gradienten tritt auf, wenn die Wirkung früherer Wörter im Satz immer geringer wird. In demselben Beispielsatz hätte „Louis“ – das erste Wort – die geringste Auswirkung auf die Parameter des Modells. Das ist eindeutig ein Problem, denn die Bedeutung von „Louis“ für den Rest des Satzes ist hoch signifikant.

Es gab zwar Varianten von RNNs wie das Langzeitgedächtnis und die Gated Recurrent Unit, die dazu beigetragen haben, die Auswirkungen des Problems des verschwindenden Gradienten zu verringern, aber diese Ansätze beruhen weiterhin auf der sequentiellen Verarbeitung von Daten. Mit der Einführung des Transformer wurde ein neuer Ansatz der parallelen Verarbeitung von Daten eingeführt. Das bedeutet, dass z.B. alle Wörter eines Satzes gleichzeitig verarbeitet werden. Dieser Ansatz hilft dabei, das Problem des verschwindenden Gradienten zu überwinden und somit dem Modell zu helfen, weitreichende Abhängigkeiten zu lernen. Die Fähigkeit des Transformers, Daten parallel zu verarbeiten, ist auf die wichtigste Innovation der Architektur zurückzuführen – den Aufmerksamkeitsmechanismus. Die Idee hinter diesem Mechanismus ist es, dem Modell zu ermöglichen, sich bei der Generierung einer Ausgabe auf bestimmte Teile der Eingabe zu konzentrieren, indem verschiedenen Teilen der Eingabe unterschiedliche Aufmerksamkeitsstufen zugewiesen werden.

Grundlegende Modelle und große Sprachmodelle (LLMs)
Das Problem des verschwindenden Gradienten ist auf die Natur der Backpropagation zurückzuführen. Auf einer hohen Ebene ist Backpropagation ein Algorithmus, der zur Aktualisierung der Parameter eines Modells verwendet wird, um dessen Genauigkeit zu verbessern. Backpropagation arbeitet rückwärts und aktualisiert die Parameter des Modells unter Berücksichtigung der Auswirkungen der vorherigen Elemente auf die Parameter. Bei dem Satz über Louis und seinen Akzent würde also die Auswirkung von „moved“ – dem dritten Wort – auf die Parameter des Modells auch die Auswirkung des ersten und zweiten Wortes berücksichtigen: „Louis“ und „wer“. Das Problem des verschwindenden Gradienten tritt auf, wenn die Wirkung früherer Wörter im Satz immer geringer wird. In demselben Beispielsatz hätte „Louis“ – das erste Wort – die geringste Auswirkung auf die Parameter des Modells. Das ist eindeutig ein Problem, denn die Bedeutung von „Louis“ für den Rest des Satzes ist hoch signifikant.

Es gab zwar Varianten von RNNs wie das Langzeitgedächtnis und die Gated Recurrent Unit, die dazu beigetragen haben, die Auswirkungen des Problems des verschwindenden Gradienten zu verringern, aber diese Ansätze beruhen weiterhin auf der sequentiellen Verarbeitung von Daten. Mit der Einführung des Transformer wurde ein neuer Ansatz der parallelen Verarbeitung von Daten eingeführt. Das bedeutet, dass alle Wörter eines Satzes gleichzeitig verarbeitet werden. Dieser Ansatz hilft, das Problem des verschwindenden Gradienten zu überwinden und somit dem Modell zu helfen, weitreichende Abhängigkeiten zu lernen. Die Fähigkeit des Transformers, Daten parallel zu verarbeiten, ist auf die wichtigste Innovation der Architektur zurückzuführen – den Aufmerksamkeitsmechanismus. Die Idee hinter diesem Mechanismus ist es, dem Modell zu ermöglichen, sich bei der Generierung einer Ausgabe auf bestimmte Teile der Eingabe zu konzentrieren, indem verschiedenen Teilen der Eingabe unterschiedliche Aufmerksamkeitsstufen zugewiesen werden.

Bevor wir den Aufmerksamkeitsmechanismus untersuchen, ist es sinnvoll, die Bedeutung von Worteinbettungen zu verstehen, die es einem Modell ermöglichen, die semantische Bedeutung von Wörtern zu „verstehen“. Einbettungen wandeln Wörter in numerische Vektoren um, z.B. „Königin“ = [1.2, 0.8, 0.5]. In der Praxis hat jedes Wort jedoch nicht nur drei, sondern Hunderte von Dimensionen. Eine hochdimensionale Vektordarstellung eines Wortes ermöglicht ein tiefes „Verständnis“ der Bedeutung dieses Wortes in Bezug auf andere Wörter. Word2Vec (word to vector) ist ein beliebter Ansatz für Worteinbettungen. Er lernt Einbettungen in Bezug auf die Wörter, die ihn umgeben, d.h. er lernt den Kontext. Die Werte der Dimensionen eines Vektors sind latente Merkmale, was bedeutet, dass sie aus den Daten gelernt werden und nicht direkt interpretierbar sind. Am Beispiel von „Königin“ bedeutet dies, dass wir seinen drei Dimensionen keine drei endgültigen Darstellungen geben können, z.B. 1,2 = „königlich“, 0,8 = „weiblich“ und 0,5 = „Macht“. Stattdessen stellen diese abstrakten Dimensionen die Ähnlichkeit oder den Unterschied zwischen einem Wort und einem anderen dar. So wird ein Modell wie Word2Vec wahrscheinlich feststellen, dass der Unterschied zwischen den Vektoren für „Königin“ und „König“ sehr gering ist, d.h. dass diese Wörter in ähnlichen Kontexten verwendet werden und somit eine ähnliche Bedeutung haben. Die Genauigkeit dieser Vektordarstellungen wird natürlich größer sein, wenn das Einbettungsmodell auf einem größeren und vielfältigeren Wortkorpus trainiert wird. Ohne Einbettungen hätten Sprachmodelle kein inhärentes Wissen über die Bedeutung eines bestimmten Wortes und wären daher nicht in der Lage, natürliche Sprache zu verstehen und zu erzeugen.

Der Aufmerksamkeitsmechanismus bildet da keine Ausnahme. Er verwendet Einbettungen, um den verarbeiteten Wörtern eine Bedeutung zu geben. Der erste Schritt des Mechanismus besteht in der Berechnung von Aufmerksamkeitswerten, die die Bedeutung jedes Eingabeworts in Bezug auf das zu erzeugende Ausgabewort darstellen. Nehmen wir zum Beispiel den folgenden Satz: „Die Katze saß auf dem…“, bei dem das Modell versucht, das nächste Wort vorherzusagen. Nehmen wir an, dass die Abfrage die Einbettung des letzten Wortes „the“ ist. Die Abfrage steht für das aktuelle Wort, das vom Modell verarbeitet wird, und die Schlüssel sind die Einbettungen der vorangegangenen Wörter, d.h. „die“, „Katze“, „saß“, „auf“. Das Modell berechnet einen Ähnlichkeitswert zwischen der Anfrage und den Schlüsseln. Es berechnet diese Punktzahl mit einer Methode, die als Dot-Produkt bekannt ist. Der Einfachheit halber nehmen wir an, dass die Einbettungen für diese Wörter nur eine einzige Dimension haben: {„Der“: 0.5, „Katze“: 0.9, „sat“: 0.1, „on“: 0.2, „der“: 0.7}. Die Einbettungen der Schlüssel werden dann jeweils mit der Einbettung der Abfrage (0,7) multipliziert, so dass sich die folgenden Aufmerksamkeitswerte ergeben: {„Die“: 0.35, „Katze“: 0.63, „sat“: 0.07, „ein“: 0.14}. Bei einer sehr großen Anzahl von Dimensionen ist es sinnvoll, die Werte durch die Quadratwurzel aus der Anzahl der Dimensionen zu dividieren – diese Variante ist als skaliertes Punktprodukt bekannt.

Der nächste Schritt besteht darin, die Aufmerksamkeitswerte mit einer Funktion wie Softmax zu normalisieren. Addieren Sie zunächst die Aufmerksamkeitswerte: 0.35 + 0.63 + 0.07 + 0.14 = 1.19. Als nächstes dividieren Sie jeden Wert durch die Summe (1.19), was folgendes ergibt: {„Die“: 0.29, „Katze“: 0.53, „sat“: 0.06, „on“: 0.12}; zusammen ergeben diese normalisierten Werte die Summe 1. Die Normalisierung ist ein wichtiger Schritt, denn sie skaliert die Werte, um sicherzustellen, dass sie eine Wahrscheinlichkeitsverteilung darstellen. In einigen Fällen werden bestimmte Dimensionen absolute (nicht normalisierte) Werte haben, die deutlich höher sind als die Werte anderer Dimensionen. Dieser Unterschied bedeutet jedoch nicht unbedingt, dass die Dimensionen mit den höheren Werten wichtiger sind. Die normalisierten Aufmerksamkeitswerte stellen die Bedeutung jedes Schlüssels bei der Vorhersage des nächsten Wortes nach dem Wert dar. In diesem Fall hat also „Katze“ (0,53) die größte Bedeutung für die Vorhersage des nächsten Wortes im Satz.

Dies ist eine vereinfachte Erklärung für die Fähigkeit des Aufmerksamkeitsmechanismus, Daten parallel zu verarbeiten und damit das Problem des verschwindenden Gradienten zu überwinden und weitreichende Abhängigkeiten zu lernen. Die parallele Verarbeitung, die durch den Aufmerksamkeitsmechanismus ermöglicht wird, wird wiederum durch leistungsstarke Prozessoren ermöglicht. AWS ist ein wichtiger Akteur in diesem Bereich und hat im April 2023 eine speziell für GenAI-Modelle entwickelte Hardware veröffentlicht. Inferentia2 ist ein leistungsstarker Instanztyp, der speziell für GenAI entwickelt wurde, und Trainium ist ein Beschleuniger, der für das Training von DL-Modellen mit über 100 Milliarden Parametern entwickelt wurde. Diese Verarbeitungsleistung ist über die AWS-Konsole einfach zu nutzen und kostengünstig verfügbar. Ebenfalls im April kündigte AWS Amazon Bedrock an, einen Service, der die beliebtesten Open-Source-Foundational-Modelle (FMs) von AI21 Labs, Anthropic, Stability AI und anderen über eine API leicht zugänglich macht. Bedrock ermöglicht auch den Zugriff auf die eigenen FMs von AWS, nämlich Titan Text und Titan Embeddings – zwei neue LLMs.

Lassen Sie uns die Macht der generativen KI und des Transformers mit der MLOps-Plattform von Firemind erkunden.

Gemeinsam identifizieren und nutzen wir das Potenzial von generativer KI und Transformers in Ihren maschinellen Lern-Workflows mit der Einführung der MLOps-Plattform von Firemind.

Mit unserem MLOps Platform Toolkit, das zu 100 % auf AWS-Services basiert, können Sie die schnelle Integration von generativer KI in Ihre bestehenden Pipelines für maschinelles Lernen anhand von Best Practices erleben. Dies ermöglicht Ihrem Unternehmen den Zugriff auf beeindruckende visuelle Inhalte, die Generierung natürlicher Sprache und die Verbesserung von Datensyntheseprozessen.

Zum Schluss noch ein kurzes Lob an Khalil Adib, der mich zu diesem Beitrag inspiriert und mir geholfen hat, das Problem des verschwindenden Farbverlaufs zu verstehen!

Kontakt aufnehmen

Möchten Sie mehr erfahren?

Haben Sie eine bestimmte Fallstudie oder einen Einblick gesehen und möchten Sie mehr erfahren? Oder denken Sie über Ihr nächstes Projekt nach? Schreiben Sie uns eine Nachricht!