paint-brush
Große Sprachmodelle: Transformatoren erkunden – Teil 2von@shyamganesh
1,533 Lesungen
1,533 Lesungen

Große Sprachmodelle: Transformatoren erkunden – Teil 2

von Shyam Ganesh S5m2024/05/22
Read on Terminal Reader
Read this story w/o Javascript

Zu lang; Lesen

Transformer-Modelle sind eine Art von Deep-Learning-Neuralnetzmodellen, die häufig bei Aufgaben der Verarbeitung natürlicher Sprache (NLP) verwendet werden. In den letzten Jahren wurden Transformer als Basismodelle in vielen Large Language Models (LLMs) verwendet. In diesem Blog werden wir uns mit den Transformern, ihren Komponenten, ihrer Funktionsweise und vielem mehr befassen.

People Mentioned

Mention Thumbnail
Mention Thumbnail

Companies Mentioned

Mention Thumbnail
Mention Thumbnail

Coin Mentioned

Mention Thumbnail
featured image - Große Sprachmodelle: Transformatoren erkunden – Teil 2
Shyam Ganesh S HackerNoon profile picture


Hallo liebe Leser, ich freue mich, Sie bei uns begrüßen zu dürfen, wenn wir in die faszinierende Welt der Large Language Models (LLMs) eintauchen. Die Entwicklung von LLMs hat das Interesse von Menschen aus den verschiedensten Bereichen geweckt. Wenn Sie neu in diesem Thema sind, sind Sie hier richtig. In diesem Blog erkunden wir Transformatoren, ihre Komponenten, ihre Funktionsweise und vieles mehr.


Bereit, loszulegen? Lassen Sie uns eintauchen!

Transformatoren in NLP

Transformer-Modelle sind eine Art von Deep-Learning-Neuronalnetzmodellen, die häufig bei Aufgaben der Verarbeitung natürlicher Sprache (NLP) verwendet werden. Transformer-Modelle sind Experten darin, den Kontext der gegebenen Eingabedaten als Sequenz zu lernen und daraus neue Daten zu generieren. In den letzten Jahren wurden Transformer als Basismodelle in vielen Large Language Models (LLMs) verwendet.

Geschichte der Transformatoren

Die Transformer-Architektur wurde im Juni 2017 in dem Artikel „ Attention Is All You Need “ vorgestellt. Nach der Einführung der Transformer hat sich das Feld der NLP rund um die Transformer-Architektur drastisch weiterentwickelt. Viele Large Language Models (LLMs) und vorab trainierte Modelle wurden mit einem Transformer als Rückgrat eingeführt. Sehen wir uns einen kurzen Überblick über die Entwicklung von Transformern im Bereich der NLP an.


Geschichte der Transformatoren. (Bildnachweis: HuggingFace)

Im Juni 2018 wurde der erste transformerbasierte GPT (Generative Pre-trained Transformers) vorgestellt. Später im selben Jahr wurde BERT (Bi-directional Encoder Representations from Transformers) eingeführt. Im Februar 2019 wurde die erweiterte Version von GPT, d. h. GPT-2 , von OpenAI eingeführt. Im selben Jahr wurden viele vorab trainierte Modelle wie XLM und RoBERTa eingeführt, wodurch der Bereich NLP noch wettbewerbsfähiger wurde.


Ab dem Jahr 2020 boomte der Bereich NLP und es wurden viele neue vorab trainierte Modelle auf den Markt gebracht. Das Wachstum dieser Modelle war weitgehend von der Transformer-Architektur abhängig. Die oben genannten sind nur einige Vertreter aus der Liste, während in realen Szenarien sogar viele Modelle auf der Grundlage der Transformer-Architektur entwickelt wurden.


Bevor wir uns mit der Struktur von Transformatoren befassen, wollen wir zunächst einige grundlegende Konzepte verstehen.

Vortraining

Beim Vortraining wird ein Machine-Learning-Modell (ML) von Grund auf trainiert. Der Trainingsvorgang beginnt mit der anfänglichen Zufallsverteilung der Gewichte des Modells. Während dieser Phase wird dem Modell ein riesiger Datenkorpus zum Lernen zugeführt. Normalerweise ist diese Trainingsphase kostspielig und zeitaufwändig.

Vortraining und Feinabstimmung. (Bildnachweis: Wikipedia)


Feinabstimmung

Feinabstimmung ist ein Trainingsverfahren, das an einem vorab trainierten Modell mit domänenspezifischen Informationen durchgeführt wird. Vorab trainierte Modelle haben umfangreiches Wissen erworben, wodurch sie für bestimmte Domänen weniger geeignet sind. Während dieses Prozesses wird das vorab trainierte Modell erneut trainiert, allerdings zu geringeren Kosten, da es bereits einige Konzepte gelernt hat.


Um ein vorab trainiertes Modell zu optimieren, verwenden wir die Technik des Transferlernens. Transferlernen ist eine Methode des maschinellen Lernens, bei der ein Modell sein in einem Anwendungsfall erworbenes Wissen anwendet, um Schlussfolgerungen in einem anderen Anwendungsfall vorherzusagen.

Encoder

Ein Encoder in einem Transformator verwendet die Datenfolge als Eingabe und generiert eine Folge von Vektoren für die gegebene Eingabefolge. Encodermodelle erreichen dies, indem sie die in ihnen vorhandenen Selbstaufmerksamkeitsschichten nutzen. Wir werden diese Selbstaufmerksamkeitsschichten später ausführlicher besprechen.


Diese Modelle werden häufig als „bidirektionale“ Aufmerksamkeitsmodelle beschrieben und oft als Autocodierungsmodelle bezeichnet. Encodermodelle werden hauptsächlich bei der Satzklassifizierung und der Named Entity Recognition (NER) eingesetzt.

Nur-Encoder-Modelle sind Transformatormodelle, die in ihrer Architektur nur Encoder haben. Sie sind sehr effizient in Anwendungsfällen wie der Textklassifizierung, bei denen das Modell darauf abzielt, die zugrunde liegende Darstellung des Textes zu verstehen.


Encoder und Decoder. (Bildnachweis: Medium)


Decoder

Ein Decoder in einem Transformator verwendet eine Folge von Vektoren als Eingabe und erzeugt eine Folge von Ausgabetoken. Diese Ausgabetoken sind die Wörter im generierten Text. Wie Encoder verwenden auch Decoder viele Selbstaufmerksamkeitsebenen. Das Vortraining von Decodermodellen dreht sich normalerweise darum, das nächste Wort im Satz vorherzusagen. Diese Modelle eignen sich am besten für Aufgaben, bei denen Text generiert wird.

Nur-Decoder-Modelle sind Transformatormodelle, die in ihrer Architektur nur Decoder haben. Sie sind sehr effizient bei der Textgenerierung. Decoder sind auf die Generierung von Ausgabetoken (Text) spezialisiert. Maschinelle Übersetzung und Textzusammenfassung sind einige Anwendungsfälle, in denen Nur-Decoder-Modelle hervorstechen.

Aufmerksamkeitsebenen

Die Selbstaufmerksamkeitsebenen im Transformator ermöglichen es dem Modell, die Fernabhängigkeiten zwischen den Wörtern im Eingabetext zu erlernen.

Mit anderen Worten: Diese Ebene weist das Modell an, bestimmten Wörtern im gegebenen Eingabetext mehr Aufmerksamkeit zu schenken.

Das Modell berechnet hierzu den Ähnlichkeitswert zwischen Textpaaren in der Eingabesequenz. Die Ebene verwendet diesen Wert dann, um die Gewichte des Eingabevektors zu berechnen. Die Ausgabe dieser Ebenen sind die gewichteten Eingabevektoren.


Nachdem Sie nun eine Vorstellung von den grundlegenden Konzepten von Encodern, Decodern und Aufmerksamkeitsebenen haben, wollen wir uns nun mit der Architektur von Transformatoren befassen.


Architektur von Transformatoren

Die Struktur eines Transformatormodells ähnelt dem unten gezeigten Bild.


Architektur des Transformators. (Bildnachweis: HuggingFace)


Die Encoder sind auf der linken Seite und die Decoder auf der rechten Seite platziert. Die Encoder akzeptieren die Textsequenz als Eingabe und erzeugen eine Sequenz von Vektoren als Ausgabe, die den Decodern als Eingabe zugeführt werden. Die Decoder erzeugen eine Sequenz von Ausgabetoken. Die Encoder sind mit Selbstaufmerksamkeitsschichten gestapelt.


Jede Schicht nimmt einen Eingabevektor und gibt einen gewichteten Eingabevektor basierend auf dem bereits besprochenen Selbstaufmerksamkeitsmechanismus zurück. Die gewichtete Summe ist die Ausgabe der Selbstaufmerksamkeitsschicht.


Der Decoder enthält außerdem einen Stapel von Self-Attention-Schichten und ein Recurrent Neural Network (RNN). Die Self-Attention-Schichten funktionieren auf die gleiche Weise wie die Encoder, aber das RNN übernimmt die Verantwortung für die Umwandlung der gewichteten Summe der Vektoren in Ausgabetoken. Daher sollte jetzt klar sein, dass das RNN die gewichteten Vektoren als Eingabe akzeptiert und die Ausgabetoken als Ausgabe generiert. Einfach ausgedrückt sind Ausgabetoken die im Ausgabesatz vorhandenen Wörter.


Um ein Verständnis von Transformatoren auf Codeebene zu erhalten, würde ich es begrüßen, wenn Sie einen Blick auf diese PyTorch-Implementierung von Transformatoren werfen würden.


Abschluss

Transformer haben das Feld der künstlichen Intelligenz (KI) und der Verarbeitung natürlicher Sprache (NLP) revolutioniert, da sie sich durch die Verarbeitung großer Datenmengen auszeichnen. Führende Modelle wie Googles BERT und die GPT-Reihe von OpenAI zeigen ihre transformative Wirkung auf Suchmaschinen und die Textgenerierung.


Folglich sind sie für das moderne maschinelle Lernen unverzichtbar geworden, erweitern die Grenzen der KI und schaffen neue Möglichkeiten für den technologischen Fortschritt. Infolgedessen sind sie für das moderne maschinelle Lernen unverzichtbar geworden, erweitern die Grenzen der KI und eröffnen neue Wege für den technologischen Fortschritt.


Viel Spaß beim Lernen!


Verweise

Lesen Sie auch die anderen Artikel dieser Reihe zu Large Language Models (LLMs):