So verwenden Sie Hugging Face Transformers in Python

So Verwenden Sie Hugging Face Transformers In Python



Hugging Face ist als Open-Source-Community für künstliche Intelligenz anerkannt und bietet alle wichtigen Frameworks, Tools, Modelle und Architekturen, die bei der Kommunikation oder dem Training mit den Sprachmodellen (Verarbeitung natürlicher Sprache) helfen. Hugging Face Transformers ist eine Spracharchitektur, die bei der Bereitstellung der vorab trainierten Sprachverarbeitungsmodelle in Python hilft. Diese Transformatoren von Hugging Face bieten eine breite Palette an Datensätzen und mehrschichtigen APIs, die den Programmierern helfen, mit ihren Bibliothekspaketen einfach eine Interaktion mit den vorab trainierten Modellen zu erstellen.

Syntax

Die hochmodernen Hugging Face-Transformatoren verfügen über eine große Auswahl an vortrainierten Modellen. Diese Modelle können auf verschiedene Sprachmodelle angewendet werden, die im Folgenden aufgeführt sind:

  • Diese Transformatoren können den Text in verschiedenen Sprachen verarbeiten und verschiedene Aufgaben am Text ausführen, wie z. B. Textklassifizierung, Fragen und Antworten, Übersetzung des Textes in verschiedene Sprachen und die Generierung des Textes.
  • Wir können diese Transformatoren in Hugging Face auch für visionsbasierte Klassifizierungsaufgaben wie Objekterkennung und sprachbasierte Aufgaben verwenden, z. B. Sprecherklassifizierung oder Sprachidentifikation/-erkennung.

Zu den Transformern von Hugging Face gehören TensorFlow, PyTorch, ONNX usw. Für die Syntax der Installation des Pakets für diese Transformer verwenden wir den folgenden Befehl:







$ pip Transformatoren installieren

Jetzt versuchen wir, verschiedene Beispiele auszuprobieren, in denen wir die Modelle aus dem Hugging Face-Transformator für verschiedene Sprachverarbeitungsaufgaben verwenden.



Beispiel 1: Textgenerierung mit den Hugging Face Transformers

Dieses Beispiel behandelt die Methode zur Verwendung der Transformatoren für die Textgenerierung. Für die Textgenerierung nutzen und importieren wir das vorab trainierte Textgenerierungsmodell aus dem Transformer. Der Transformator verfügt über eine Basisbibliothek, die als „Pipelines“ bekannt ist. Diese Pipelines funktionieren für Transformatoren, indem sie die gesamte Vor- und Nachbearbeitung der Daten durchführen, die als Eingabe in die vorab trainierten Modelle eingespeist werden müssen.



Wir beginnen mit der Codierung des Beispiels, indem wir zunächst das Bibliothekspaket der „Transformer“ im Python-Terminal installieren. Um das Paket des Transformators herunterzuladen, verwenden Sie „pip install“ mit dem Namen des Pakets, z. B. „Transformator“. Sobald wir das Transformatorpaket heruntergeladen und installiert haben, importieren wir das Paket „Pipelines“ aus dem Transformator. Die Pipeline dient zur Verarbeitung der Daten, bevor sie dem Modell zugeführt werden.





Wir importieren den „pprint“ aus dem pprint. Dieses Paket wird installiert, um die Ausgabe des Textgenerierungsmodells in einer besser lesbaren, strukturierten und gut formatierten Form zu drucken. Wenn wir andernfalls die Funktion „print()“ verwenden, wird die Ausgabe in einer einzelnen Zeile angezeigt, die nicht gut formatiert und nicht gut lesbar ist. Die Textgenerierungsmodelle helfen dabei, den Text, den wir dem Modell ursprünglich als Eingabe bereitgestellt haben, zu generieren oder weiteren Text hinzuzufügen.

Um das trainierte Modell vom Transformator aufzurufen, verwenden wir die Funktion „pipeline()“, deren Eingabe die beiden Parameter sind. Der erste gibt den Namen der ausgewählten Aufgabe an und der zweite ist der Name des Modells aus einem Transformator. In diesem Szenario ist die ausgewählte Aufgabe die Textgenerierung. Das vorab trainierte Modell, das wir vom Transformator verwenden, ist „gpt“.



Nachdem wir die Pipeline-Funktion verwendet haben, entscheiden wir, welche Eingabe wir unserem Modell geben möchten, um zusätzlichen Text dafür zu generieren. Anschließend übergeben wir diese Eingabe an die Funktion „task_pipeline()“. Diese Funktion erstellt die Ausgabe für das Modell, indem sie die Eingabe, die maximale Länge der Ausgabe und die Anzahl der Sätze, die die Ausgabe haben soll, als Eingabeparameter berücksichtigt.

Wir geben die Eingabe als „Dies ist ein Sprachmodell“ ein. Wir legen die maximale Länge der Ausgabe auf „30“ und die Anzahl der Sätze in der Ausgabe auf „3“ fest. Jetzt rufen wir einfach die Funktion pprint() auf, um die Ergebnisse anzuzeigen, die aus unserem Modell generiert werden.

!pip Transformatoren installieren

aus der Transformatoren-Importpipeline
aus pprint pprint importieren

SELECTED_TASK = 'Textgenerierung'
MODEL = 'gpt2'
task = Pipeline(f'{SELECTED_TASK}', model = MODEL)

INPUT = „Dies ist ein Sprachmodell“
OUt_put = task(INPUT, max_length = 30, num_return_sequences=3)

pprint(OUt_put)

Anhand des zuvor erwähnten Codeausschnitts und der Ausgabe können wir erkennen, dass das Modell die zusätzlichen Informationen/Texte generiert, die für die Eingabe relevant sind, die wir ihm zugeführt haben.

Beispiel 2: Textklassifizierung mithilfe von Pipelines aus den Transformern

Das vorherige Beispiel behandelte die Methode zum Generieren des zusätzlichen Textes, der für die Eingabe relevant ist, mithilfe der Transformatoren und ihrer Paketpipelines. Dieses Beispiel zeigt uns, wie wir die Textklassifizierung mit den Pipelines durchführen. Bei der Textklassifizierung handelt es sich um den Prozess der Identifizierung der Eingabe, die dem Modell als Mitglied einer bestimmten Klasse zugeführt wird, z. B. positiv oder negativ.

Wir importieren zunächst die Rohrleitungen von den Transformatoren. Dann rufen wir die Funktion „pipeline()“ auf. Wir übergeben den Namen des Modells, in unserem Fall „Textklassifizierung“, an seine Parameter. Sobald das Modell mithilfe der Pipeline spezifiziert ist, können wir es nun als „Klassifikator“ bezeichnen. Bis zu diesem Zeitpunkt wird das Standardmodell für die Textklassifizierung auf unseren Host-Computer heruntergeladen. Jetzt können wir dieses Modell für unsere Aufgabe verwenden.

Importieren Sie die Pandas also als „pd“. Wir möchten dieses Paket importieren, da wir die Ausgabe des Modells in Form des DataFrame drucken möchten. Nun geben wir den Text an, den wir unserem Modell als Eingabe geben möchten, um ihn als positiven oder negativen Satz zu klassifizieren. Wir setzen den Text auf „Ich bin ein guter Kerl“. Wir übergeben diesen Text an das classifier()-Modell, das wir gerade in diesem Beispiel erstellt haben, und speichern die Ergebnisse in einer „Ausgabe“-Variablen.

Um die Ausgabe anzuzeigen, rufen wir das Präfix von Pandas, also pd, als „.Dataframe()“ auf und übergeben die Ausgabe des Klassifikatormodells an diese Funktion. Es zeigt nun die Ergebnisse des Klassifikatormodells an, wie im folgenden Ausgabeausschnitt dargestellt. Unser Klassifikatormodell klassifiziert den Text als positive Klasse.

!pip Transformatoren installieren
aus der Transformatoren-Importpipeline
Pandas als PD importieren
classifier = Pipeline('text-classification',model = 'textattack/distilbert-base-uncased-CoLA')
text = 'Ich bin ein guter Kerl'
Ergebnis = Klassifikator(Text)
pprint(Ergebnis)
df = pd.DataFrame(result)

Abschluss

In diesem Leitfaden wurde die Transformatorarchitektur von Hugging Face behandelt. Wir haben die „Pipeline“-Bibliothek des Hugging Face-Transformators besprochen. Mithilfe dieser Bibliothek nutzten wir dann die vorab trainierten Transformatormodelle für Textgenerierungs- und Klassifizierungsaufgaben.