Cum se folosește Hugging Face Transformers în Python

Cum Se Foloseste Hugging Face Transformers In Python



Hugging Face este recunoscută ca o comunitate inteligentă artificială, care este open-source și oferă toate cadrele, instrumentele, modelele și arhitecturile importante care ajută la comunicarea sau formarea cu modelele de limbaj (procesarea limbajului natural). Hugging Face transformers este o arhitectură de limbaj care ajută la furnizarea modelelor de procesare a limbajului pre-antrenate în Python. Aceste transformatoare de la Hugging Face oferă o gamă largă de seturi de date și API-uri stratificate care îi ajută pe programatori să creeze cu ușurință o interacțiune cu modelele pre-antrenate cu pachetele lor de bibliotecă.

Sintaxă

Transformatoarele Hugging Face de ultimă generație au o mare varietate de modele pre-antrenate. Aceste modele pot fi aplicate diferitelor modele de limbaj care sunt enumerate în următoarele:

  • Aceste transformatoare pot procesa textul în diferite limbi și pot efectua diferite sarcini asupra textului, cum ar fi clasificarea textului, întrebările și răspunsurile, traducerea textului în diferite limbi și generarea textului.
  • De asemenea, putem folosi aceste transformatoare în Hugging Face pentru sarcini de clasificare bazate pe viziune, cum ar fi detectarea obiectelor și sarcinile bazate pe vorbire, de ex. clasificarea vorbitorului sau identificarea/recunoașterea vorbirii.

Transformatoarele de la Hugging Face includ TensorFlow, PyTorch, ONNX etc. Pentru sintaxa instalării pachetului pentru aceste transformatoare, folosim următoarea comandă:







$ pip instalează transformatoare

Acum, încercăm să încercăm diferite exemple în care folosim modelele de la transformatorul Hugging Face pentru diferite sarcini de procesare a limbajului.



Exemplul 1: Generarea textului utilizând transformatoarele Hugging Face

Acest exemplu acoperă metoda de utilizare a transformatoarelor pentru generarea textului. Pentru generarea de text, utilizăm și importăm modelul de generare de text pre-antrenat din transformator. Transformatorul are o bibliotecă de bază care este cunoscută sub numele de „conducte”. Aceste conducte funcționează pentru transformatoare făcând toate procesele necesare pre și post pe datele care trebuie să fie transmise modelelor pre-antrenate ca intrare.



Începem să codificăm exemplul instalând mai întâi pachetul de bibliotecă al „transformatoarelor” în terminalul Python. Pentru a descărca pachetul transformatorului, utilizați „pip install cu numele pachetului, adică transformator”. Odată ce am descărcat și instalat pachetul de transformator, mergem mai departe importând pachetul „conducte” din transformator. Conducta este utilizată pentru a procesa datele înainte de a fi transmise modelului.





Importăm „pprint” din pprint. Acest pachet este instalat pentru a imprima rezultatul din modelul de generare de text într-o formă mai lizibilă, mai structurată și mai bine formatată. În caz contrar, dacă folosim funcția „print()”, aceasta afișează rezultatul într-o singură linie care nu este bine formatată și ușor de citit. Modelele de generare de text ajută la generarea sau adăugarea mai multor text textului pe care l-am furnizat inițial modelului ca intrare.

Pentru a apela modelul antrenat de la transformator, folosim funcția pipeline() care are ca intrare cei doi parametri. Primul specifică numele sarcinii selectate, iar al doilea este numele modelului de la un transformator. În acest scenariu, sarcina selectată este generarea de text. Modelul pre-antrenat pe care îl folosim de la transformator este „gpt”.



După ce folosim funcția pipeline, decidem intrarea pe care vrem să o dăm modelului nostru pentru a genera text suplimentar pentru acesta. Apoi, trecem această intrare funcției „task_pipeline()”. Această funcție creează ieșirea pentru model, luând intrarea, lungimea maximă a ieșirii și numărul de propoziții pe care ieșirea ar trebui să le aibă ca parametri de intrare.

Dăm intrarea ca „Acesta este un model de limbă”. Fixăm lungimea maximă a ieșirii la „30” și numărul de propoziții din ieșire la „3”. Acum, pur și simplu apelăm funcția pprint() pentru a afișa rezultatele care sunt generate din modelul nostru.

!pip instalează transformatoare

din conducta de import transformatoare
din pprint import pprint

SELECTED_TASK = „generare de text”
MODEL = „gpt2”
sarcină = pipeline(f'{SELECTED_TASK}', model = MODEL)

INPUT = „Acesta este un model de limbă”
OUT_put = sarcină (INPUT, max_length = 30, num_return_sequences=3)

pprint(OUT_put)

Din fragmentul și rezultatul codului menționat anterior, putem vedea că modelul generează informațiile/textul suplimentar care este relevant pentru intrarea pe care i-am introdus-o.

Exemplul 2: Clasificarea textului folosind conducte de la transformatoare

Exemplul anterior a acoperit metoda de generare a textului suplimentar care este relevant pentru intrare folosind transformatoare și conductele de pachete ale acestora. Acest exemplu ne arată cum să realizăm clasificarea textului cu conductele. Clasificarea textului este procesul de identificare a intrării care este transmisă modelului ca membru al unei clase specifice, de ex. pozitiv sau negativ.

Mai întâi importăm conductele de la transformatoare. Apoi, numim funcția „pipeline()”. Transmitem parametrilor săi numele modelului care, în cazul nostru, este „clasificare text”. Odată ce modelul este specificat folosind pipeline, acum îl putem numi „clasificator”. Până în acest moment, modelul implicit pentru clasificarea textului este descărcat pe mașina noastră gazdă. Acum, putem folosi acest model pentru sarcina noastră.

Deci, importați Pandas ca „pd”. Dorim să importăm acest pachet deoarece dorim să tipărim rezultatul din model sub forma DataFrame. Acum, specificăm textul pe care vrem să-l dăm modelului nostru ca intrare pentru a-l clasifica ca propoziție pozitivă sau negativă. Am setat textul ca „Sunt un tip bun”. Transmitem acest text modelului classifier() pe care tocmai l-am creat în acest exemplu și salvăm rezultatele într-o variabilă „ieșire”.

Pentru a afișa rezultatul, numim prefixul lui Pandas, adică pd ca „.Dataframe()” și transmitem rezultatul de la modelul de clasificator la această funcție. Acum afișează rezultatele din modelul de clasificator, așa cum se arată în următorul fragment de ieșire. Modelul nostru de clasificare clasifică textul drept clasa pozitivă.

!pip instalează transformatoare
din conducta de import transformatoare
import panda ca pd
clasificator = conductă ('clasificare text', model = 'atac text/distilbert-base-uncased-CoLA')
text = „Sunt un tip bun”
rezultat = clasificator(text)
pprint(rezultat)
df = pd.DataFrame(rezultat)

Concluzie

Acest ghid a acoperit arhitectura transformatorului de la Hugging Face. Am discutat despre biblioteca „pipeline” de la transformatorul Hugging Face. Apoi, cu ajutorul acestei biblioteci, am folosit modelele de transformatoare pre-antrenate pentru generarea de text și sarcinile de clasificare.