Com utilitzar Hugging Face Transformers a Python

Com Utilitzar Hugging Face Transformers A Python



Hugging Face és reconeguda com una comunitat intel·ligent artificial que és de codi obert i proporciona tots els marcs, eines, models i arquitectures importants que ajuden a comunicar-se o entrenar amb els models de llenguatge (processament del llenguatge natural). Hugging Face transformers és una arquitectura de llenguatge que ajuda a proporcionar els models de processament de llenguatge pre-entrenats a Python. Aquests transformadors d'Hugging Face ofereixen una àmplia gamma de conjunts de dades i API en capes que ajuden els programadors a crear fàcilment una interacció amb els models pre-entrenats amb els seus paquets de biblioteca.

Sintaxi

Els transformadors Hugging Face d'última generació tenen una gran varietat de models pre-entrenats. Aquests models es poden aplicar a diversos models de llenguatge que s'enumeren a continuació:

  • Aquests transformadors poden processar el text en diferents idiomes i poden realitzar diferents tasques sobre el text, com ara la classificació del text, les preguntes i les respostes, la traducció del text a diferents idiomes i la generació del text.
  • També podem utilitzar aquests transformadors a Hugging Face per a tasques de classificació basades en la visió, com ara la detecció d'objectes i les tasques basades en la parla, p. classificació del parlant o identificació/reconeixement de la parla.

Els transformadors d'Hugging Face inclouen TensorFlow, PyTorch, ONNX, etc. Per a la sintaxi d'instal·lar el paquet d'aquests transformadors, utilitzem l'ordre següent:







$ pip instal·lar transformadors

Ara, intentem provar diferents exemples en què fem servir els models del transformador Hugging Face per a diferents tasques de processament d'idiomes.



Exemple 1: generació de text amb els transformadors Hugging Face

Aquest exemple cobreix el mètode per utilitzar els transformadors per a la generació de text. Per a la generació de text, utilitzem i importem el model de generació de text prèviament entrenat des del transformador. El transformador té una biblioteca bàsica que es coneix com a 'conductes'. Aquestes canonades funcionen per als transformadors fent tots els processaments previs i posteriors necessaris sobre les dades que s'han d'alimentar als models pre-entrenats com a entrada.



Comencem a codificar l'exemple instal·lant primer el paquet de la biblioteca dels 'transformadors' al terminal de Python. Per descarregar el paquet del transformador, utilitzeu 'pip install amb el nom del paquet, és a dir, transformador'. Un cop descarregat i instal·lat el paquet del transformador, avancem important el paquet de 'conductes' del transformador. El pipeline s'utilitza per processar les dades abans d'introduir-les al model.





Importem el 'pprint' del pprint. Aquest paquet s'instal·la per imprimir la sortida del model de generació de text d'una forma més llegible, estructurada i ben formatada. En cas contrari, si fem servir la funció “print()”, mostra la sortida en una sola línia que no està ben formatada i fàcil de llegir. Els models de generació de text ajuden a generar o afegir més text al text que vam proporcionar inicialment al model com a entrada.

Per cridar el model entrenat des del transformador, utilitzem la funció pipeline() que té els dos paràmetres com a entrada. El primer especifica el nom de la tasca seleccionada i el segon és el nom del model d'un transformador. En aquest escenari, la tasca seleccionada és la generació de text. El model pre-entrenat que utilitzem del transformador és 'gpt'.



Després d'utilitzar la funció pipeline, decidim l'entrada que volem donar al nostre model per generar-hi text addicional. Aleshores, passem aquesta entrada a la funció 'task_pipeline()'. Aquesta funció crea la sortida per al model incorporant l'entrada, la longitud màxima de la sortida i el nombre de frases que hauria de tenir la sortida com a paràmetres d'entrada.

Donem l'entrada com a 'Aquest és un model lingüístic'. Fixem la longitud màxima de la sortida a '30' i el nombre de frases de la sortida a '3'. Ara, simplement cridem a la funció pprint() per mostrar els resultats que es generen a partir del nostre model.

!pip instal·lar transformadors

des de la canonada d'importació de transformadors
des de pprint importació pprint

SELECTED_TASK = 'generació de text'
MODEL = 'gpt2'
tasca = pipeline(f'{SELECTED_TASK}', model = MODEL)

INPUT = 'Aquest és un model d'idioma'
OUT_put = tasca (INPUT, max_length = 30, num_return_sequences=3)

pprint(OUT_put)

A partir del fragment i la sortida del codi esmentat anteriorment, podem veure que el model genera la informació/text addicional que és rellevant per a l'entrada que li hem introduït.

Exemple 2: Classificació de text mitjançant pipelines dels Transformers

L'exemple anterior cobria el mètode per generar el text addicional que és rellevant per a l'entrada utilitzant els transformadors i les seves canonades de paquet. Aquest exemple ens mostra com realitzar la classificació de text amb les pipelines. La classificació de text és el procés d'identificar l'entrada que s'està alimentant al model com a membre d'una classe específica, p. positiu o negatiu.

Primer importem les canonades dels transformadors. Aleshores, anomenem la funció 'pipeline()'. Passem el nom del model que, en el nostre cas, és 'classificació de text' als seus paràmetres. Un cop especificat el model mitjançant la canalització, ara podem anomenar-lo 'classificador'. Fins a aquest punt, el model predeterminat per a la classificació de text es descarrega a la nostra màquina host. Ara, podem utilitzar aquest model per a la nostra tasca.

Per tant, importeu els Pandas com a 'pd'. Volem importar aquest paquet perquè volem imprimir la sortida del model en forma de DataFrame. Ara, especifiquem el text que volem donar al nostre model com a entrada per classificar-lo com a frase positiva o negativa. Vam establir el text com 'Sóc un bon noi'. Passem aquest text al model classifier() que acabem de crear en aquest exemple i desem els resultats en una variable de 'sortida'.

Per mostrar la sortida, anomenem el prefix de Pandas, és a dir, pd com '.Dataframe()' i passem la sortida del model de classificador a aquesta funció. Ara mostra els resultats del model de classificador tal com es mostra al fragment de sortida següent. El nostre model de classificador classifica el text com a classe positiva.

!pip instal·lar transformadors
des de la canonada d'importació de transformadors
importar pandes com a pd
classificador = pipeline ('classificació de text', model = 'atac de text/distilbert-base-uncased-CoLA')
text = 'Sóc un bon noi'
resultat = classificador (text)
pprint(resultat)
df = pd.DataFrame(resultat)

Conclusió

Aquesta guia va cobrir l'arquitectura del transformador de Hugging Face. Hem parlat de la biblioteca 'pipeline' del transformador Hugging Face. Després, amb l'ajuda d'aquesta biblioteca, vam utilitzar els models de transformadors pre-entrenats per a tasques de generació de text i classificació.