🚀 Bist Du bereit für eine Karriere im Bereich Data? Finde es in nur 60 Sekunden heraus!

Hugging Face Transformers: Was ist das ?

-
4
 Minuten Lesezeit
-
hugging face

Hugging Face Transformers: Seit Jahren weckt die KI mit den durch maschinelles Lernen und insbesondere durch Deep Learning erzielten Leistungen ein wachsendes Interesse.

Diese Technologien haben eine entscheidende Rolle bei der Entwicklung der Verarbeitung natürlicher Sprache (NLP) gespielt. Sie haben dazu beigetragen, die gängigsten NLP-Aufgaben zu automatisieren, wie z. B. die Klassifizierung von Wörtern und Sätzen, die Texterzeugung, die Extraktion von Antworten und die Sprach- und Visionserkennung.

Heutzutage gibt es mehrere Open-Source-Bibliotheken mit vorab trainierten Modellen, die es Datenwissenschaftlern und Unternehmen ermöglichen, vorhandene Modelle zu verwenden, um Rechenkosten und Zeit zu sparen. Hugging Face ist eine dieser Bibliotheken.

Über Hugging Face Transformers

Hugging Face transformers ist eine Plattform, die die KI voranbringen soll, indem sie Modellsammlungen und Datensätze teilt, die es den Nutzern ermöglichen, ihre KI-Modelle zu verwalten, zu teilen und weiterzuentwickeln.

Es handelt sich um eine Open Source Deep-Learning-Bibliothek, die auf Python basiert und eine große Vielfalt an vortrainierten Modellen für verschiedene Arten von NLP-Aufgaben erweitert. Sie bietet eine API zur Verwendung in zahlreichen vorab trainierten Transformatorarchitekturen wie BERT, GPT-2, DistilBERT, BART oder GPT-3, die sehr gute Ergebnisse bei einer Vielzahl von NLP-Aufgaben wie Textklassifikation, Erkennung von benannten Entitäten, Textgenerierung usw. erzielen.

Die vortrainierten Transformatoren von Hugging Face können in drei Kategorien eingeteilt werden:

Autoregressive Transformatoren (GPT-ähnliche Architektur): Konzentrieren sich auf die Vorhersage des nächsten Wortes im Satz und eignen sich für generative Aufgaben wie die Texterzeugung.
Selbstkodierende Transformatoren (BERT-ähnliche Architektur): besser geeignet für Aufgaben, die ein vollständiges Verständnis der Eingabe erfordern. Zum Beispiel die Klassifizierung von Sätzen, die Erkennung von benannten Entitäten und ganz allgemein die Klassifizierung von Wörtern.
Sequenz-zu-Sequenz-Transformatoren (BART/T5-Architektur): Am besten geeignet für Aufgaben, bei denen es um die Generierung neuer Sätze auf der Grundlage einer gegebenen Eingabe geht, z. B. Textzusammenfassungen, Übersetzungen oder die Generierung von Fragen und Antworten.

Zusätzlich zu den offiziellen vortrainierten Vorlagen gibt es auf dem Hugging Face Hub Hunderte von Vorlagen für Satzumwandler (sentence-transformer).

Was ist der Sinn dieser Hugging Face Transformers?

Das Ziel eines Hugging Face Transformers ist es, die Entwicklung von Projekten zum maschinellen Lernen zu erleichtern, indem APIs und Werkzeuge zum Herunterladen und Trainieren von vortrainierten Modellen bereitgestellt werden. Die Verwendung dieser Modelle kann die Rechenkosten senken und die Zeit und Ressourcen einsparen, die nötig sind, um ein Modell von Grund auf zu trainieren. Sie sind schnell zur vorherrschenden Architektur geworden, um bei einer Vielzahl von NLP-Aufgaben zuverlässige Ergebnisse zu erzielen.

Diese Modelle unterstützen gängige Aufgaben in verschiedenen Modalitäten:

  • Text: Für alles, was mit Klassifizierung, Informationsgewinnung, Beantwortung von Fragen, Generierung, Erstellung und Übersetzung von Text in über 100 verschiedenen Sprachen zu tun hat.
  • Sprache: Für Aufgaben wie die Audioklassifizierung von Objekten und die Spracherkennung.
  • Vision: Für die Erkennung von Objekten, die Klassifizierung von Bildern und die Segmentierung.Tabellarische Daten: Für Regressions- und Klassifikationsprobleme.

 

Andererseits unterstützen die Transformers die Framework-Interoperabilität zwischen PyTorch, TensorFlow und JAX. Dies ermöglicht es, in jeder Phase des Lebens eines Modells ein anderes Framework zu verwenden: ein Modell mit drei Zeilen Code in einem Framework zu formen und es für die Inferenz in einem anderen Framework zu laden.

Einrichten der Transformers

In diesem Teil werden wir die Transformers in die Praxis umsetzen, indem wir das Pipeline-Tool kennen lernen. Anschließend zeigen wir, wie dieses Tool die Umsetzung von NLP– und Computer Vision-Aufgaben erleichtert.

Die Pipelines

Pipelines sind ein einfacher und effektiver Weg, um einen Großteil des komplexen Codes aus der Bibliothek zu extrahieren, die eine API bereitstellt, um Rückschlüsse auf eine Vielzahl von Aufgaben zu ziehen, darunter die Erkennung benannter Entitäten, die Analyse von Gefühlen, die Beantwortung von Fragen usw.

Sie werden verwendet, um den Gesamtprozess jeder NLP-Aufgabe wie Textreinigung, Tokenisierung, Einbettung usw. zu kapseln.

Es ist eine einfach zu verwendende Funktion: Die Instanziierung einer Pipeline erfolgt über die Methode pipeline(). Du musst nur die Aufgabe angeben, die gestartet werden soll.

Nachfolgend eine nicht erschöpfende Liste der verfügbaren Pipelines aus der Hugging Face Transformers-Bibliothek:

  • feature-extraction (um die Vektordarstellung eines Textes zu erhalten).
  • fill-mask (um maskierte Wörter vorherzusagen)
    ner (Erkennung von benannten Entitäten)
    question-answering (um Fragen zu beantworten)
  • sentiment-analysis (Analyse von Gefühlen)
    summarization (um einen Text zusammenzufassen)
  • text-generation (einen neuen Text erstellen)
    translation (einen Text übersetzen)
  • zero-shot-classification (um neue Beispiele aus neuen Klassen zu klassifizieren)

 

💡Auch interessant:

Deep Learning – was ist das eigentlich ?
Deep Fake Gefahren
Python Deep Learning Basics
Style Transfer Deep Learning
Alphacode Deepminds

 

Textgenerierung

Heutzutage ist die Textgenerierung mit der Veröffentlichung und Weiterentwicklung von ChatGPT zu einem Trend geworden. In diesem Zusammenhang ermöglicht uns die Pipeline, fortgeschrittene Modelle zur Textgenerierung in einer einzigen Codezeile zu verwenden.

In der obigen Zeile geben wir den gewünschten Anwendungsfall (Texterzeugung) an, und es wird automatisch die Standardvorlage (in diesem Fall GPT-2) herunterladen. Wir können auch andere Versionen verwenden, indem wir den Parameter ‚model‘ angeben.

Nun beginnen wir mit der Texterzeugung, indem wir einen Satz als Parameter übergeben.

In diesem Beispiel haben wir der Vorlage eine Frage gestellt: „Why artificial intelligence? „.

Das Modell hat eine Antwort im Schlüssel ‚generated_text‘ erzeugt, und wir können eine weitere Antwort erzeugen, indem wir den Code ein weiteres Mal ausführen. Dieses Beispiel zeigt, dass Transformers uns dabei helfen, einen Chatbot in kurzer Zeit zu implementieren.

Bildklassifizierung

Die Klassifizierung von Bildern ist ein Problem im Zusammenhang mit maschinellem Lernen (Machine Learning). Mit der Transformers API ist es einfach, das Modell für dieses Problem zu erwerben.

In einer Zeile haben wir die Vorlage Image Classifier erworben. Wir könnten ganz einfach eine Bilddatei aus einer beliebigen Quelle übergeben, um das Bild mit dieser Vorlage zu identifizieren.

Zum Beispiel übergeben wir den Link des Bildes darunter und lassen es von der Vorlage klassifizieren.

Die Pipeline hilft uns dabei, dies in einer einzigen Zeile Code zu tun. Das Modell bietet fünf Klassifizierungen, die jeweils mit einer Wahrscheinlichkeit verbunden sind. Die erste hat die höchste Punktzahl, also können wir „Sportwagen“ als Hauptvorhersage nehmen und das ist in der Tat richtig.

Dieses Beispiel zeigt, dass wir ein ausgeklügeltes Modell in kurzer Zeit und ohne große KI-Kenntnisse umsetzen können.

Angabe des Modells in einer Pipeline

In den vorherigen Beispielen haben wir die Standardvorlage für die jeweilige Aufgabe verwendet, aber es ist auch möglich, eine bestimmte Vorlage aus dem Hub auszuwählen und sie in einer Pipeline für eine bestimmte Aufgabe zu verwenden.

Fazit

Heute ist Hugging Face Transformers die am weitesten verbreitete Softwarebibliothek, die sowohl von Anfängern als auch von Profis für Modelle des maschinellen Lernens zur Bearbeitung von NLP-Aufgaben angenommen wird. Sie stellt dem Nutzer ein vortrainiertes Modell zur Verfügung, das zuvor aufgrund der technischen Anforderungen nicht zugänglich war.

DataScientest News

Melde Dich jetzt für unseren Newsletter an, um unsere Guides, Tutorials und die neuesten Entwicklungen im Bereich Data Science direkt per E-Mail zu erhalten.

Möchtest Du informiert bleiben?

Schreib uns Deine E-Mail-Adresse, damit wir Dir die neuesten Artikel zum Zeitpunkt der Veröffentlichung zusenden können!
icon newsletter

DataNews

Starte Deine Karriere im Bereich Data: Erhalte regelmäßig Insiderwissen und wertvolle Karrieretipps in Deinem Posteingang.