Sådan bruger du Hugging Face Transformers i Python

Sadan Bruger Du Hugging Face Transformers I Python



Hugging Face er anerkendt som et kunstigt intelligent fællesskab, der er open source, og det giver alle de vigtige rammer, værktøjer, modeller og arkitekturer, der hjælper med at kommunikere eller træne med sprogmodellerne (naturlig sprogbehandling). Hugging Face-transformere er en sprogarkitektur, der hjælper med leveringen af ​​de forudtrænede sprogbehandlingsmodeller i Python. Disse transformere fra Hugging Face giver en bred vifte af datasæt og lagdelte API'er, der hjælper programmørerne til nemt at skabe en interaktion med de forudtrænede modeller med deres bibliotekspakker.

Syntaks

De avancerede Hugging Face-transformere har et stort udvalg af præ-trænede modeller. Disse modeller kan anvendes på forskellige sprogmodeller, der er anført i følgende:

  • Disse transformatorer kan behandle teksten på forskellige sprog og kan udføre forskellige opgaver på teksten, såsom tekstklassificering, spørgsmål og besvarelse, oversættelse af teksten til forskellige sprog og generering af teksten.
  • Vi kan også bruge disse transformatorer i Hugging Face til synsbaserede klassifikationsopgaver såsom objektdetektering og talebaserede opgaver, f.eks. højttalerklassifikation eller taleidentifikation/-genkendelse.

Transformatorerne fra Hugging Face inkluderer TensorFlow, PyTorch, ONNX osv. Til syntaksen for at installere pakken til disse transformere bruger vi følgende kommando:







$ pip installere transformere

Nu prøver vi at prøve forskellige eksempler, hvor vi bruger modellerne fra Hugging Face-transformeren til forskellige sprogbehandlingsopgaver.



Eksempel 1: Tekstgenerering ved hjælp af krammeansigtstransformere

Dette eksempel dækker metoden til at bruge transformatorerne til tekstgenerering. Til tekstgenereringen anvender og importerer vi den fortrænede tekstgenereringsmodel fra transformeren. Transformatoren har et grundlæggende bibliotek, der er kendt som 'rørledninger'. Disse rørledninger fungerer for transformere ved at udføre al den nødvendige for- og efterbehandling af de data, der skal føres til de fortrænede modeller som input.



Vi begynder at kode eksemplet ved først at installere bibliotekspakken til 'transformatorerne' i Python-terminalen. For at downloade transformatorens pakke skal du bruge 'pip-installation med navnet på pakken, dvs. transformer'. Når vi har downloadet og installeret transformerpakken, går vi videre ved at importere 'pipelines'-pakken fra transformeren. Pipelinen bruges til at behandle dataene, før de føres til modellen.





Vi importerer 'pprint' fra pprint. Denne pakke er installeret for at udskrive output fra tekstgenereringsmodellen i en mere læsbar, struktureret og velformateret form. Ellers, hvis vi bruger 'print()'-funktionen, viser den outputtet på en enkelt linje, som ikke er velformateret og letlæselig. Tekstgenereringsmodellerne hjælper med at generere eller tilføje mere tekst til teksten, som vi oprindeligt gav til modellen som input.

For at kalde den trænede model fra transformeren bruger vi funktionen pipeline() som har de to parametre som input. Den første angiver navnet på den valgte opgave, og den anden er modellens navn fra en transformer. I dette scenarie er den valgte opgave tekstgenereringen. Den fortrænede model, som vi bruger fra transformeren, er 'gpt'.



Efter at have brugt pipeline-funktionen beslutter vi det input, vi vil give til vores model for at generere yderligere tekst til den. Derefter sender vi dette input til funktionen 'task_pipeline()'. Denne funktion skaber output for modellen ved at tage input, den maksimale længde af output og antallet af sætninger, som output skal have som inputparametre.

Vi giver inputtet som 'Dette er en sprogmodel'. Vi fastsætter den maksimale længde af output til '30' og antallet af sætninger i output til '3'. Nu kalder vi blot funktionen pprint() for at vise de resultater, der er genereret fra vores model.

!pip installere transformere

fra transformere importrørledning
fra pprint import pprint

SELECTED_TASK = 'tekstgenerering'
MODEL = 'gpt2'
opgave = pipeline(f'{SELECTED_TASK}', model = MODEL)

INPUT = 'Dette er en sprogmodel'
OUT_put = opgave(INPUT, max_length = 30, num_return_sequences=3)

pprint(OUT_put)

Fra den tidligere nævnte kodes snippet og output kan vi se, at modellen genererer den yderligere information/tekst, der er relevant for det input, vi har givet den.

Eksempel 2: Tekstklassificering ved hjælp af rørledninger fra transformatorerne

Det forrige eksempel dækkede metoden til at generere den ekstra tekst, der er relevant for inputtet ved hjælp af transformatorerne og deres pakkepipelines. Dette eksempel viser os, hvordan man udfører tekstklassificeringen med pipelines. Tekstklassificering er processen med at identificere det input, der føres til modellen som medlem af en specifik klasse, f.eks. positiv eller negativ.

Vi importerer først rørledningerne fra transformatorerne. Derefter kalder vi funktionen 'pipeline()'. Vi videregiver modellens navn, som i vores tilfælde er 'tekstklassificering' til dens parametre. Når modellen er specificeret ved hjælp af pipelinen, kan vi nu navngive den som 'klassifikator'. Indtil dette tidspunkt er standardmodellen for tekstklassificeringen downloadet til vores værtsmaskine. Nu kan vi bruge denne model til vores opgave.

Så importer pandaerne som 'pd'. Vi ønsker at importere denne pakke, fordi vi ønsker at udskrive output fra modellen i form af DataFrame. Nu specificerer vi den tekst, som vi vil give til vores model som input for at klassificere den som en positiv eller en negativ sætning. Vi sætter teksten som 'Jeg er en god fyr'. Vi sender denne tekst til classifier()-modellen, som vi lige har oprettet i dette eksempel, og gemmer resultaterne i en 'output'-variabel.

For at vise outputtet kalder vi præfikset for Pandas, dvs. pd som '.Dataframe()' og sender outputtet fra klassificeringsmodellen til denne funktion. Den viser nu resultaterne fra klassificeringsmodellen som vist i det følgende outputuddrag. Vores klassificeringsmodel klassificerer teksten som den positive klasse.

!pip installere transformere
fra transformere importrørledning
importer pandaer som pd
classifier = pipeline('tekst-klassificering', model = 'tekstangreb/distilbert-base-uncased-CoLA')
tekst = 'jeg er en god fyr'
resultat = klassificerer(tekst)
pprint(resultat)
df = pd.DataFrame(result)

Konklusion

Denne guide dækkede transformerarkitekturen fra Hugging Face. Vi diskuterede 'pipeline'-biblioteket fra Hugging Face-transformeren. Derefter brugte vi ved hjælp af dette bibliotek de fortrænede transformatormodeller til tekstgenerering og klassifikationsopgaver.