Paano Gamitin ang Hugging Face Transformers sa Python

Paano Gamitin Ang Hugging Face Transformers Sa Python



Ang Hugging Face ay kinikilala bilang isang Artificial Intelligent na komunidad na open-source at nagbibigay ito ng lahat ng mahahalagang framework, tool, modelo, at arkitektura na tumutulong sa pakikipag-usap o pagsasanay sa mga modelo ng wika (natural na pagpoproseso ng wika). Ang Hugging Face transformers ay isang arkitektura ng wika na tumutulong sa pagbibigay ng mga pre-trained na mga modelo sa pagpoproseso ng wika sa Python. Ang mga transformer na ito mula sa Hugging Face ay nagbibigay ng malawak na hanay ng mga dataset at layered na API na tumutulong sa mga programmer na madaling gumawa ng pakikipag-ugnayan sa mga pre-trained na modelo sa kanilang mga library package.

Syntax

Ang mga makabagong Hugging Face transformer ay may malawak na iba't ibang mga pre-trained na modelo. Maaaring ilapat ang mga modelong ito sa iba't ibang modelo ng wika na nakalista sa sumusunod:

  • Maaaring iproseso ng mga transformer na ito ang teksto sa iba't ibang wika at maaaring magsagawa ng iba't ibang gawain sa teksto tulad ng pag-uuri ng teksto, pagtatanong at pagsagot, pagsasalin ng teksto sa iba't ibang wika, at ang pagbuo ng teksto.
  • Maaari rin naming gamitin ang mga transformer na ito sa Hugging Face para sa mga gawain sa pag-uuri na nakabatay sa paningin gaya ng pagtuklas ng bagay at mga gawaing nakabatay sa pagsasalita, hal. klasipikasyon ng tagapagsalita o pagkilala/pagkilala sa pagsasalita.

Kasama sa mga transformer mula sa Hugging Face ang TensorFlow, PyTorch, ONNX, atbp. Para sa syntax ng pag-install ng package para sa mga transformer na ito, ginagamit namin ang sumusunod na command:







$ pip install ng mga transformer

Ngayon, sinusubukan naming subukan ang iba't ibang mga halimbawa kung saan ginagamit namin ang mga modelo mula sa Hugging Face transformer para sa iba't ibang mga gawain sa pagproseso ng wika.



Halimbawa 1: Pagbuo ng Teksto Gamit ang Hugging Face Transformers

Sinasaklaw ng halimbawang ito ang paraan ng paggamit ng mga transformer para sa pagbuo ng teksto. Para sa pagbuo ng teksto, ginagamit at ini-import namin ang pre-trained na modelo ng pagbuo ng teksto mula sa transpormer. Ang transpormer ay may pangunahing aklatan na kilala bilang 'pipelines'. Gumagana ang mga pipeline na ito para sa mga transformer sa pamamagitan ng paggawa ng lahat ng pre at post na kinakailangang pagproseso sa data na kinakailangang ibigay sa mga pre-trained na modelo bilang input.



Sinisimulan namin ang pag-coding ng halimbawa sa pamamagitan ng pag-install muna ng library package ng 'mga transformer' sa terminal ng Python. Para i-download ang package ng transformer, gamitin ang 'pip install na may pangalan ng package, i.e. transformer'. Kapag na-download at na-install na namin ang transformer package, sumusulong kami sa pamamagitan ng pag-import ng 'pipelines' package mula sa transformer. Ang pipeline ay ginagamit upang iproseso ang data bago ito ipakain sa modelo.





Ini-import namin ang 'pprint' mula sa pprint. Ang package na ito ay naka-install upang i-print ang output mula sa text generation model sa isang mas nababasa, structured, at well-formatted na form. Kung hindi, kung gagamitin natin ang function na 'print()', ipinapakita nito ang output sa isang linya na hindi maayos na na-format at madaling mabasa. Ang mga modelo ng pagbuo ng teksto ay tumutulong na bumuo o magdagdag ng higit pang teksto sa teksto na una naming ibinigay sa modelo bilang input.

Upang tawagan ang sinanay na modelo mula sa transpormer, ginagamit namin ang pipeline() function na mayroong dalawang parameter bilang input nito. Ang una ay tumutukoy sa pangalan ng napiling gawain at ang pangalawa ay ang pangalan ng modelo mula sa isang transpormer. Sa sitwasyong ito, ang napiling gawain ay ang pagbuo ng teksto. Ang pre-trained na modelo na ginagamit namin mula sa transformer ay 'gpt'.



Pagkatapos gamitin ang pipeline function, nagpapasya kami sa input na gusto naming ibigay sa aming modelo upang makabuo ng karagdagang text para dito. Pagkatapos, ipinapasa namin ang input na ito sa function na 'task_pipeline()'. Ang function na ito ay lumilikha ng output para sa modelo sa pamamagitan ng pagkuha sa input, ang maximum na haba ng output, at ang bilang ng mga pangungusap na dapat magkaroon ng output bilang mga parameter ng input nito.

Ibinibigay namin ang input bilang 'Ito ay isang modelo ng wika'. Inaayos namin ang maximum na haba ng output sa '30' at ang bilang ng mga pangungusap sa output sa '3'. Ngayon, tinatawagan lang namin ang pprint() function upang ipakita ang mga resulta na nabuo mula sa aming modelo.

!pip mag-install ng mga transformer

mula sa mga transformer import pipeline
mula sa pprint import pprint

SELECTED_TASK = 'text-generation'
MODEL = 'gpt2'
gawain = pipeline(f'{SELECTED_TASK}', modelo = MODEL)

INPUT = 'Ito ay isang modelo ng wika'
OUT_put = gawain(INPUT, max_length = 30, num_return_sequences=3)

pprint(OUT_put)

Mula sa naunang binanggit na snippet at output ng code, makikita natin na ang modelo ay bumubuo ng karagdagang impormasyon/text na nauugnay sa input na ipinadala namin dito.

Halimbawa 2: Pag-uuri ng Teksto Gamit ang mga Pipeline mula sa mga Transformer

Sinasaklaw ng nakaraang halimbawa ang paraan upang makabuo ng karagdagang teksto na nauugnay sa input gamit ang mga transformer at ang kanilang mga pipeline ng package. Ipinapakita sa amin ng halimbawang ito kung paano isagawa ang pag-uuri ng teksto gamit ang mga pipeline. Ang pag-uuri ng teksto ay ang proseso ng pagtukoy sa input na ibinibigay sa modelo bilang miyembro ng isang partikular na klase, hal. positibo o negatibo.

Una naming ini-import ang mga pipeline mula sa mga transformer. Pagkatapos, tinatawag namin ang function na 'pipeline()'. Ipinapasa namin ang pangalan ng modelo na, sa aming kaso, ay 'pag-uuri ng teksto' sa mga parameter nito. Kapag natukoy na ang modelo gamit ang pipeline, maaari na natin itong pangalanan bilang 'classifier'. Hanggang sa puntong ito, ang default na modelo para sa pag-uuri ng teksto ay dina-download sa aming host machine. Ngayon, magagamit natin ang modelong ito para sa ating gawain.

Kaya, i-import ang mga Panda bilang 'pd'. Gusto naming i-import ang package na ito dahil gusto naming i-print ang output mula sa modelo sa anyo ng DataFrame. Ngayon, tinukoy namin ang teksto na gusto naming ibigay sa aming modelo bilang input upang maiuri ito bilang positibo o negatibong pangungusap. Itinakda namin ang text bilang 'I'm a good guy'. Ipinapasa namin ang text na ito sa classifier() model na kakagawa lang namin sa halimbawang ito at i-save ang mga resulta sa isang variable na 'output'.

Upang ipakita ang output, tinatawag namin ang prefix ng Pandas, ibig sabihin, pd bilang '.Dataframe()' at ipasa ang output mula sa classifier model sa function na ito. Ipinapakita na nito ngayon ang mga resulta mula sa modelo ng classifier tulad ng ipinapakita sa sumusunod na snippet ng output. Inuri ng aming modelo ng classifier ang teksto bilang positibong klase.

!pip mag-install ng mga transformer
mula sa mga transformer import pipeline
mag-import ng mga panda bilang pd
classifier = pipeline('text-classification',modelo = 'textattack/distilbert-base-uncased-CoLA')
text = 'Ako ay isang mabuting tao'
resulta = classifier(text)
pprint(resulta)
df = pd.DataFrame(resulta)

Konklusyon

Sinasaklaw ng gabay na ito ang arkitektura ng transformer mula sa Hugging Face. Tinalakay namin ang library ng 'pipeline' mula sa Hugging Face transformer. Pagkatapos, sa tulong ng library na ito, ginamit namin ang mga pre-trained na mga transformer na modelo para sa pagbuo ng teksto at mga gawain sa pag-uuri.