Jak používat Hugging Face Transformers v Pythonu

Jak Pouzivat Hugging Face Transformers V Pythonu



Hugging Face je uznávána jako komunita umělé inteligence, která je open source a poskytuje všechny důležité rámce, nástroje, modely a architektury, které pomáhají komunikovat nebo trénovat s jazykovými modely (zpracování přirozeného jazyka). Hugging Face transformers je jazyková architektura, která pomáhá s poskytováním předem trénovaných modelů zpracování jazyka v Pythonu. Tyto transformátory od Hugging Face poskytují širokou škálu datových sad a vrstvených API, které pomáhají programátorům snadno vytvářet interakci s předem trénovanými modely s jejich knihovními balíčky.

Syntax

Nejmodernější transformátory Hugging Face mají širokou škálu předem vyškolených modelů. Tyto modely lze aplikovat na různé jazykové modely, které jsou uvedeny v následujícím seznamu:

  • Tyto transformátory mohou zpracovávat text v různých jazycích a mohou s textem provádět různé úkoly, jako je klasifikace textu, dotazy a odpovědi, překlad textu do různých jazyků a generování textu.
  • Tyto transformátory můžeme také použít v Hugging Face pro klasifikační úlohy založené na vidění, jako je detekce objektů a úlohy založené na řeči, např. klasifikace mluvčího nebo identifikace/rozpoznávání řeči.

Transformátory od Hugging Face zahrnují TensorFlow, PyTorch, ONNX atd. Pro syntaxi instalace balíčku pro tyto transformátory použijeme následující příkaz:







$ pip instalovat transformátory

Nyní se pokusíme vyzkoušet různé příklady, kde použijeme modely z transformátoru Hugging Face pro různé úlohy zpracování jazyka.



Příklad 1: Generování textu pomocí transformátorů Hugging Face

Tento příklad popisuje způsob použití transformátorů pro generování textu. Pro generování textu využíváme a importujeme předem natrénovaný model generování textu z transformátoru. Transformátor má základní knihovnu, která je známá jako „potrubí“. Tato potrubí fungují pro transformátory tak, že provádějí veškeré před a po nezbytném zpracování dat, která musí být přiváděna do předem vyškolených modelů jako vstup.



Začneme kódovat příklad tak, že nejprve nainstalujeme knihovní balíček „transformers“ do terminálu Python. Ke stažení balíčku transformátoru použijte „pip install s názvem balíčku, tedy transformátor“. Jakmile stáhneme a nainstalujeme balíček transformátoru, pokračujeme v importu balíčku „potrubí“ z transformátoru. Potrubí se používá ke zpracování dat před tím, než se přivedou do modelu.





Importujeme „pprint“ z pprint. Tento balíček se instaluje, aby vytiskl výstup z modelu generování textu v čitelnější, strukturovanější a dobře formátované podobě. V opačném případě, pokud použijeme funkci „print()“, zobrazí výstup na jednom řádku, který není dobře naformátovaný a snadno čitelný. Modely generování textu pomáhají vygenerovat nebo přidat další text k textu, který jsme původně poskytli modelu jako vstup.

K volání trénovaného modelu z transformátoru použijeme funkci pipeline(), která má jako vstup dva parametry. První určuje název vybrané úlohy a druhý je název modelu z transformátoru. V tomto scénáři je vybranou úlohou generování textu. Předtrénovaný model, který využíváme z transformátoru, je „gpt“.



Po použití funkce potrubí rozhodneme o vstupu, který chceme dát našemu modelu, abychom pro něj vygenerovali další text. Poté tento vstup předáme funkci „task_pipeline()“. Tato funkce vytváří výstup pro model tak, že jako vstupní parametry vezme vstup, maximální délku výstupu a počet vět, které by výstup měl mít.

Vstup zadáme jako „Toto je jazykový model“. Maximální délku výstupu nastavíme na „30“ a počet vět ve výstupu na „3“. Nyní jednoduše zavoláme funkci pprint() pro zobrazení výsledků, které jsou generovány z našeho modelu.

!pip instalujte transformátory

z transformátorů import potrubí
z pprint importovat pprint

SELECTED_TASK = 'generování 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 výše zmíněného kódu můžeme vidět, že model generuje další informace/text, které jsou relevantní pro vstup, který jsme do něj vložili.

Příklad 2: Klasifikace textu pomocí potrubí z transformátorů

Předchozí příklad pokrýval metodu generování dodatečného textu, který je relevantní pro vstup pomocí transformátorů a jejich balíčků. Tento příklad nám ukazuje, jak provést klasifikaci textu pomocí potrubí. Klasifikace textu je proces identifikace vstupu, který je přiváděn do modelu jako člen specifické třídy, např. pozitivní nebo negativní.

Nejprve dovážíme potrubí z transformátorů. Poté zavoláme funkci „pipeline()“. Jeho parametrům předáme název modelu, který je v našem případě „klasifikace textu“. Jakmile je model specifikován pomocí potrubí, můžeme jej nyní pojmenovat jako „klasifikátor“. Do tohoto okamžiku je výchozí model pro klasifikaci textu stažen do našeho hostitelského počítače. Nyní můžeme tento model použít pro naši úlohu.

Takže importujte Pandy jako „pd“. Tento balíček chceme importovat, protože chceme vytisknout výstup z modelu ve formě DataFrame. Nyní specifikujeme text, který chceme dát našemu modelu jako vstup, abychom jej klasifikovali jako kladnou nebo zápornou větu. Text jsme nastavili jako „Jsem dobrý chlap“. Tento text předáme modelu classifier(), který jsme právě vytvořili v tomto příkladu, a výsledky uložíme do proměnné „output“.

Pro zobrazení výstupu zavoláme prefix Pandas, tj. pd jako „.Dataframe()“ a předáme výstup z modelu klasifikátoru této funkci. Nyní zobrazuje výsledky z modelu klasifikátoru, jak je znázorněno v následujícím úryvku výstupu. Náš model klasifikátoru klasifikuje text jako pozitivní třídu.

!pip instalujte transformátory
z transformátorů import potrubí
importovat pandy jako pd
classifier = pipeline('text-classification',model = 'textattack/distilbert-base-uncased-CoLA')
text = 'jsem hodný kluk'
výsledek = klasifikátor (text)
pprint (výsledek)
df = pd.DataFrame(výsledek)

Závěr

Tato příručka se zabývala architekturou transformátoru z Hugging Face. Diskutovali jsme o knihovně „potrubí“ z transformátoru Hugging Face. Poté jsme s pomocí této knihovny využili předtrénované modely transformátorů pro úlohy generování textu a klasifikace.