Ako používať Hugging Face Transformers v Pythone

Ako Pouzivat Hugging Face Transformers V Pythone



Hugging Face je uznávaná ako komunita s umelou inteligenciou, ktorá je open source a poskytuje všetky dôležité rámce, nástroje, modely a architektúry, ktoré pomáhajú komunikovať alebo trénovať jazykové modely (spracovanie prirodzeného jazyka). Hugging Face transformers je jazyková architektúra, ktorá pomáha s poskytovaním vopred trénovaných modelov spracovania jazyka v Pythone. Tieto transformátory od Hugging Face poskytujú širokú škálu dátových sád a vrstvených API, ktoré pomáhajú programátorom ľahko vytvárať interakciu s predtrénovanými modelmi s ich knižničnými balíkmi.

Syntax

Najmodernejšie transformátory Hugging Face majú širokú škálu vopred pripravených modelov. Tieto modely možno použiť na rôzne jazykové modely, ktoré sú uvedené v nasledujúcom zozname:

  • Tieto transformátory môžu spracovať text v rôznych jazykoch a môžu s textom vykonávať rôzne úlohy, ako je klasifikácia textu, kladenie otázok a odpovedí, preklad textu do rôznych jazykov a generovanie textu.
  • Tieto transformátory môžeme použiť aj v Hugging Face na klasifikačné úlohy založené na videní, ako je detekcia objektov a úlohy založené na reči, napr. klasifikácia rečníka alebo identifikácia/rozpoznanie reči.

Transformátory od Hugging Face zahŕňajú TensorFlow, PyTorch, ONNX atď. Pre syntax inštalácie balíka pre tieto transformátory používame nasledujúci príkaz:







$ pip inštalovať transformátory

Teraz sa pokúsime vyskúšať rôzne príklady, kde použijeme modely z transformátora Hugging Face na rôzne úlohy spracovania jazyka.



Príklad 1: Generovanie textu pomocou transformátorov na objímanie tváre

Tento príklad pokrýva metódu použitia transformátorov na generovanie textu. Na generovanie textu využívame a importujeme vopred natrénovaný model generovania textu z transformátora. Transformátor má základnú knižnicu, ktorá je známa ako „potrubia“. Tieto potrubia fungujú pre transformátory tak, že vykonávajú všetko potrebné predbežné a následné spracovanie údajov, ktoré sa musia privádzať do vopred pripravených modelov ako vstup.



Začneme kódovať príklad tak, že najskôr nainštalujeme knižničný balík „transformátorov“ do terminálu Python. Na stiahnutie balíka transformátora použite „pip install s názvom balíka, t.j. transformátor“. Po stiahnutí a inštalácii balíka transformátora pokračujeme importovaním balíka „potrubia“ z transformátora. Potrubie sa používa na spracovanie údajov predtým, ako sa privedú do modelu.





Importujeme „pprint“ z pprint. Tento balík sa inštaluje na tlač výstupu z modelu generovania textu v čitateľnejšej, štruktúrovanejšej a dobre naformátovanej forme. V opačnom prípade, ak použijeme funkciu „print()“, zobrazí výstup v jednom riadku, ktorý nie je dobre naformátovaný a ľahko čitateľný. Modely generovania textu pomáhajú vygenerovať alebo pridať ďalší text do textu, ktorý sme pôvodne poskytli modelu ako vstup.

Na zavolanie trénovaného modelu z transformátora použijeme funkciu pipeline(), ktorá má ako vstup dva parametre. Prvý určuje názov vybranej úlohy a druhý je názov modelu z transformátora. V tomto scenári je vybranou úlohou generovanie textu. Predtrénovaný model, ktorý využívame z transformátora, je „gpt“.



Po použití funkcie potrubia rozhodneme o vstupe, ktorý chceme dať nášmu modelu, aby sme preň vygenerovali ďalší text. Potom tento vstup odovzdáme funkcii „task_pipeline()“. Táto funkcia vytvára výstup pre model tak, že ako vstupné parametre zoberie vstup, maximálnu dĺžku výstupu a počet viet, ktoré by výstup mal mať.

Vstup zadáme ako „Toto je jazykový model“. Maximálnu dĺžku výstupu fixujeme na „30“ a počet viet vo výstupe na „3“. Teraz jednoducho zavoláme funkciu pprint(), aby sme zobrazili výsledky generované z nášho modelu.

!pip inštalovať transformátory

z transformátorov import potrubia
z pprint importovať pprint

SELECTED_TASK = 'generovanie textu'
MODEL = 'gpt2'
task = pipeline(f'{SELECTED_TASK}', model = MODEL)

INPUT = 'Toto je jazykový model'
OUT_put = task(INPUT, max_length = 30, num_return_sequences=3)

pprint(OUT_put)

Z úryvku a výstupu vyššie uvedeného kódu môžeme vidieť, že model generuje dodatočné informácie/text, ktoré sú relevantné pre vstup, ktorý sme doň priviedli.

Príklad 2: Klasifikácia textu pomocou potrubí z transformátorov

Predchádzajúci príklad pokrýval metódu generovania dodatočného textu, ktorý je relevantný pre vstup pomocou transformátorov a ich balíkových potrubí. Tento príklad nám ukazuje, ako vykonať klasifikáciu textu pomocou kanálov. Klasifikácia textu je proces identifikácie vstupu, ktorý sa privádza do modelu ako člena špecifickej triedy, napr. pozitívne alebo negatívne.

Najprv dovážame potrubia z transformátorov. Potom zavoláme funkciu „pipeline()“. Názov modelu, ktorý je v našom prípade „klasifikácia textu“, odovzdáme jeho parametrom. Keď je model špecifikovaný pomocou potrubia, môžeme ho teraz pomenovať ako „klasifikátor“. Dovtedy sa do nášho hostiteľského počítača stiahne predvolený model pre klasifikáciu textu. Teraz môžeme tento model použiť pre našu úlohu.

Takže importujte Pandy ako „pd“. Tento balík chceme importovať, pretože chceme vytlačiť výstup z modelu vo forme DataFrame. Teraz špecifikujeme text, ktorý chceme dať nášmu modelu ako vstup, aby sme ho klasifikovali ako pozitívnu alebo negatívnu vetu. Text sme nastavili ako „Som dobrý chlap“. Tento text odovzdáme modelu classifier(), ktorý sme práve vytvorili v tomto príklade, a výsledky uložíme do premennej „output“.

Na zobrazenie výstupu zavoláme predponu Pandas, t. j. pd ako „.Dataframe()“ a odošleme výstup z modelu klasifikátora tejto funkcii. Teraz zobrazuje výsledky z modelu klasifikátora, ako je uvedené v nasledujúcom výstupnom úryvku. Náš model klasifikátora klasifikuje text ako pozitívnu triedu.

!pip inštalovať transformátory
z transformátorov import potrubia
importovať pandy ako pd
classifier = pipeline('text-classification',model = 'textattack/distilbert-base-uncased-CoLA')
text = 'som dobrý chlap'
výsledok = klasifikátor (text)
pprint (výsledok)
df = pd.DataFrame(výsledok)

Záver

Táto príručka pokrývala architektúru transformátora z Hugging Face. Diskutovali sme o knižnici „potrubia“ z transformátora Hugging Face. Potom sme pomocou tejto knižnice využili predtrénované modely transformátorov pre úlohy generovania textu a klasifikácie.