Πώς να χρησιμοποιήσετε το Hugging Face Transformers στην Python

Pos Na Chresimopoiesete To Hugging Face Transformers Sten Python



Το Hugging Face αναγνωρίζεται ως μια κοινότητα Τεχνητής Νοημοσύνης που είναι ανοιχτού κώδικα και παρέχει όλα τα σημαντικά πλαίσια, εργαλεία, μοντέλα και αρχιτεκτονικές που βοηθούν στην επικοινωνία ή την εκπαίδευση με τα μοντέλα γλώσσας (επεξεργασία φυσικής γλώσσας). Οι μετασχηματιστές Hugging Face είναι μια αρχιτεκτονική γλώσσας που βοηθά στην παροχή των προεκπαιδευμένων μοντέλων επεξεργασίας γλώσσας στην Python. Αυτοί οι μετασχηματιστές από το Hugging Face παρέχουν μια ευρεία γκάμα συνόλων δεδομένων και πολυεπίπεδων API που βοηθούν τους προγραμματιστές να δημιουργήσουν εύκολα μια αλληλεπίδραση με τα προεκπαιδευμένα μοντέλα με τα πακέτα βιβλιοθήκης τους.

Σύνταξη

Οι υπερσύγχρονοι μετασχηματιστές Hugging Face διαθέτουν μια τεράστια ποικιλία προεκπαιδευμένων μοντέλων. Αυτά τα μοντέλα μπορούν να εφαρμοστούν σε διάφορα μοντέλα γλώσσας που παρατίθενται παρακάτω:

  • Αυτοί οι μετασχηματιστές μπορούν να επεξεργάζονται το κείμενο σε διαφορετικές γλώσσες και μπορούν να εκτελέσουν διαφορετικές εργασίες στο κείμενο, όπως ταξινόμηση κειμένου, ερωτήσεις και απαντήσεις, μετάφραση του κειμένου σε διαφορετικές γλώσσες και δημιουργία του κειμένου.
  • Μπορούμε επίσης να χρησιμοποιήσουμε αυτούς τους μετασχηματιστές στο Hugging Face για εργασίες ταξινόμησης που βασίζονται στην όραση, όπως η ανίχνευση αντικειμένων και οι εργασίες που βασίζονται στην ομιλία, π.χ. ταξινόμηση ομιλητή ή αναγνώριση/αναγνώριση ομιλίας.

Οι μετασχηματιστές από το Hugging Face περιλαμβάνουν TensorFlow, PyTorch, ONNX κ.λπ. Για τη σύνταξη εγκατάστασης του πακέτου για αυτούς τους μετασχηματιστές, χρησιμοποιούμε την ακόλουθη εντολή:







$ pip εγκατάσταση μετασχηματιστών

Τώρα, προσπαθούμε να επιχειρήσουμε διαφορετικά παραδείγματα όπου χρησιμοποιούμε τα μοντέλα από τον μετασχηματιστή Hugging Face για διαφορετικές εργασίες επεξεργασίας γλώσσας.



Παράδειγμα 1: Δημιουργία κειμένου με χρήση των μετασχηματιστών αγκαλιάς προσώπου

Αυτό το παράδειγμα καλύπτει τη μέθοδο χρήσης των μετασχηματιστών για τη δημιουργία κειμένου. Για τη δημιουργία κειμένου, χρησιμοποιούμε και εισάγουμε το προεκπαιδευμένο μοντέλο δημιουργίας κειμένου από τον μετασχηματιστή. Ο μετασχηματιστής έχει μια βασική βιβλιοθήκη που είναι γνωστή ως «σωλήνες». Αυτοί οι αγωγοί λειτουργούν για μετασχηματιστές κάνοντας όλη την προ και μετά την απαραίτητη επεξεργασία των δεδομένων που απαιτείται να τροφοδοτηθούν στα προεκπαιδευμένα μοντέλα ως είσοδος.



Ξεκινάμε την κωδικοποίηση του παραδείγματος εγκαθιστώντας πρώτα το πακέτο βιβλιοθήκης των «transformers» στο τερματικό της Python. Για να κατεβάσετε το πακέτο του μετασχηματιστή, χρησιμοποιήστε την 'εγκατάσταση pip με το όνομα του πακέτου, δηλαδή μετασχηματιστή'. Μόλις κατεβάσουμε και εγκαταστήσουμε το πακέτο μετασχηματιστή, προχωράμε εισάγοντας το πακέτο «σωλήνες» από τον μετασχηματιστή. Ο αγωγός χρησιμοποιείται για την επεξεργασία των δεδομένων προτού τροφοδοτηθούν στο μοντέλο.





Εισάγουμε το 'pprint' από το pprint. Αυτό το πακέτο εγκαθίσταται για να εκτυπώνει τα αποτελέσματα από το μοντέλο δημιουργίας κειμένου σε πιο ευανάγνωστη, δομημένη και καλά μορφοποιημένη μορφή. Διαφορετικά, αν χρησιμοποιήσουμε τη συνάρτηση “print()”, εμφανίζει την έξοδο σε μία γραμμή που δεν είναι καλά διαμορφωμένη και ευανάγνωστη. Τα μοντέλα δημιουργίας κειμένου βοηθούν στη δημιουργία ή προσθήκη περισσότερου κειμένου στο κείμενο που αρχικά παρείχαμε στο μοντέλο ως είσοδο.

Για να καλέσουμε το εκπαιδευμένο μοντέλο από τον μετασχηματιστή, χρησιμοποιούμε τη συνάρτηση pipeline() που έχει τις δύο παραμέτρους ως είσοδο. Το πρώτο καθορίζει το όνομα της επιλεγμένης εργασίας και το δεύτερο είναι το όνομα του μοντέλου από έναν μετασχηματιστή. Σε αυτό το σενάριο, η επιλεγμένη εργασία είναι η δημιουργία κειμένου. Το προεκπαιδευμένο μοντέλο που χρησιμοποιούμε από τον μετασχηματιστή είναι το 'gpt'.



Αφού χρησιμοποιήσουμε τη συνάρτηση pipeline, αποφασίζουμε την είσοδο που θέλουμε να δώσουμε στο μοντέλο μας για να δημιουργήσουμε πρόσθετο κείμενο για αυτό. Στη συνέχεια, περνάμε αυτήν την είσοδο στη συνάρτηση “task_pipeline()”. Αυτή η συνάρτηση δημιουργεί την έξοδο για το μοντέλο λαμβάνοντας την είσοδο, το μέγιστο μήκος της εξόδου και τον αριθμό των προτάσεων που πρέπει να έχει η έξοδος ως παραμέτρους εισόδου.

Δίνουμε την είσοδο ως 'Αυτό είναι ένα μοντέλο γλώσσας'. Καθορίζουμε το μέγιστο μήκος της εξόδου σε '30' και τον αριθμό των προτάσεων στην έξοδο σε '3'. Τώρα, απλά καλούμε τη συνάρτηση pprint() για να εμφανίσουμε τα αποτελέσματα που παράγονται από το μοντέλο μας.

!pip εγκατάσταση μετασχηματιστών

από αγωγό εισαγωγής μετασχηματιστών
από pprint εισαγωγή pprint

SELECTED_TASK = 'δημιουργία κειμένου'
ΜΟΝΤΕΛΟ = 'gpt2'
task = pipeline(f'{SELECTED_TASK}', model = MODEL)

INPUT = 'Αυτό είναι ένα μοντέλο γλώσσας'
OUt_put = task (INPUT, max_length = 30, num_return_sequences=3)

pprint(OUt_put)

Από το απόσπασμα και την έξοδο του κώδικα που αναφέρθηκε προηγουμένως, μπορούμε να δούμε ότι το μοντέλο δημιουργεί τις πρόσθετες πληροφορίες/κείμενο που σχετίζονται με την είσοδο που τροφοδοτήσαμε σε αυτό.

Παράδειγμα 2: Ταξινόμηση κειμένου με χρήση αγωγών από τους μετασχηματιστές

Το προηγούμενο παράδειγμα κάλυψε τη μέθοδο δημιουργίας του πρόσθετου κειμένου που είναι σχετικό με την είσοδο χρησιμοποιώντας τους μετασχηματιστές και τις σωληνώσεις πακέτων τους. Αυτό το παράδειγμα μας δείχνει πώς να εκτελέσουμε την ταξινόμηση κειμένου με τους αγωγούς. Ταξινόμηση κειμένου είναι η διαδικασία αναγνώρισης της εισόδου που τροφοδοτείται στο μοντέλο ως μέλος μιας συγκεκριμένης κλάσης, π.χ. θετικό ή αρνητικό.

Εισάγουμε πρώτα τους αγωγούς από τους μετασχηματιστές. Στη συνέχεια, καλούμε τη συνάρτηση 'pipeline()'. Μεταβιβάζουμε το όνομα του μοντέλου που, στην περίπτωσή μας, είναι «ταξινόμηση κειμένου» στις παραμέτρους του. Μόλις καθοριστεί το μοντέλο χρησιμοποιώντας τη διοχέτευση, μπορούμε τώρα να το ονομάσουμε ως 'ταξινομητή'. Μέχρι αυτό το σημείο, το προεπιλεγμένο μοντέλο για την ταξινόμηση κειμένου γίνεται λήψη στον κεντρικό υπολογιστή μας. Τώρα, μπορούμε να χρησιμοποιήσουμε αυτό το μοντέλο για την εργασία μας.

Έτσι, εισάγετε τα Panda ως 'pd'. Θέλουμε να εισαγάγουμε αυτό το πακέτο επειδή θέλουμε να εκτυπώσουμε την έξοδο από το μοντέλο με τη μορφή του DataFrame. Τώρα, καθορίζουμε το κείμενο που θέλουμε να δώσουμε στο μοντέλο μας ως είσοδο για να το ταξινομήσουμε ως θετική ή αρνητική πρόταση. Ορίσαμε το κείμενο ως 'I'm a good guy'. Περνάμε αυτό το κείμενο στο μοντέλο classifier() που μόλις δημιουργήσαμε σε αυτό το παράδειγμα και αποθηκεύουμε τα αποτελέσματα σε μια μεταβλητή 'output'.

Για να εμφανίσουμε την έξοδο, καλούμε το πρόθεμα των Pandas, δηλ. pd ως “.Dataframe()” και περνάμε την έξοδο από το μοντέλο ταξινομητή σε αυτή τη συνάρτηση. Τώρα εμφανίζει τα αποτελέσματα από το μοντέλο ταξινομητή όπως φαίνεται στο παρακάτω απόσπασμα εξόδου. Το μοντέλο ταξινομητή μας ταξινομεί το κείμενο ως θετική κλάση.

!pip εγκατάσταση μετασχηματιστών
από αγωγό εισαγωγής μετασχηματιστών
εισαγωγή panda ως pd
classifier = pipeline ('text-classification',model = 'textattack/distilbert-base-uncased-CoLA')
text = 'Είμαι καλός τύπος'
αποτέλεσμα = ταξινομητής (κείμενο)
pprint (αποτέλεσμα)
df = pd.DataFrame(αποτέλεσμα)

συμπέρασμα

Αυτός ο οδηγός κάλυψε την αρχιτεκτονική του μετασχηματιστή από το Hugging Face. Συζητήσαμε για τη βιβλιοθήκη «pipeline» από τον μετασχηματιστή Hugging Face. Στη συνέχεια, με τη βοήθεια αυτής της βιβλιοθήκης, χρησιμοποιήσαμε τα προεκπαιδευμένα μοντέλα μετασχηματιστών για εργασίες δημιουργίας κειμένου και ταξινόμησης.