Cómo usar transformadores de caras abrazadas en Python

Como Usar Transformadores De Caras Abrazadas En Python



Hugging Face es reconocida como una comunidad de inteligencia artificial de código abierto y proporciona todos los marcos, herramientas, modelos y arquitecturas importantes que ayudan a comunicarse o entrenar con los modelos de lenguaje (procesamiento de lenguaje natural). Hugging Face transformers es una arquitectura de lenguaje que ayuda con la provisión de modelos de procesamiento de lenguaje previamente entrenados en Python. Estos transformadores de Hugging Face brindan una amplia gama de conjuntos de datos y API en capas que ayudan a los programadores a crear fácilmente una interacción con los modelos preentrenados con sus paquetes de biblioteca.

Sintaxis

Los transformadores Hugging Face de última generación tienen una gran variedad de modelos preentrenados. Estos modelos se pueden aplicar a varios modelos de lenguaje que se enumeran a continuación:

  • Estos transformadores pueden procesar el texto en diferentes idiomas y pueden realizar diferentes tareas en el texto, como clasificación de texto, preguntas y respuestas, traducción del texto a diferentes idiomas y generación del texto.
  • También podemos utilizar estos transformadores en Hugging Face para tareas de clasificación basadas en la visión, como detección de objetos y tareas basadas en el habla, p. clasificación de hablantes o identificación/reconocimiento de voz.

Los transformadores de Hugging Face incluyen TensorFlow, PyTorch, ONNX, etc. Para la sintaxis de instalación del paquete para estos transformadores, usamos el siguiente comando:







$ pip instalar transformadores

Ahora, intentamos probar diferentes ejemplos en los que usamos los modelos del transformador Hugging Face para diferentes tareas de procesamiento del lenguaje.



Ejemplo 1: Generación de texto utilizando los transformadores Hugging Face

Este ejemplo cubre el método para usar los transformadores para la generación de texto. Para la generación de texto, utilizamos e importamos el modelo de generación de texto preentrenado del transformador. El transformador tiene una biblioteca básica que se conoce como 'tuberías'. Estas canalizaciones funcionan para transformadores al realizar todo el procesamiento previo y posterior necesario en los datos que se requieren para alimentar los modelos preentrenados como entrada.



Comenzamos a codificar el ejemplo instalando primero el paquete de biblioteca de los 'transformadores' en la terminal de Python. Para descargar el paquete del transformador, use el 'pip install con el nombre del paquete, es decir, transformador'. Una vez que descargamos e instalamos el paquete del transformador, avanzamos importando el paquete de 'tuberías' del transformador. La canalización se utiliza para procesar los datos antes de que se envíen al modelo.





Importamos el “pprint” desde el pprint. Este paquete se instala para imprimir la salida del modelo de generación de texto en una forma más legible, estructurada y bien formateada. De lo contrario, si usamos la función 'imprimir ()', muestra la salida en una sola línea que no está bien formateada y no es fácil de leer. Los modelos de generación de texto ayudan a generar o agregar más texto al texto que proporcionamos inicialmente al modelo como entrada.

Para llamar al modelo entrenado desde el transformador, usamos la función pipeline() que tiene los dos parámetros como entrada. El primero especifica el nombre de la tarea seleccionada y el segundo es el nombre del modelo de un transformador. En este escenario, la tarea seleccionada es la generación de texto. El modelo preentrenado que utilizamos del transformador es 'gpt'.



Después de usar la función de tubería, decidimos la entrada que queremos dar a nuestro modelo para generar texto adicional para él. Luego, pasamos esta entrada a la función “task_pipeline()”. Esta función crea la salida para el modelo tomando la entrada, la longitud máxima de la salida y la cantidad de oraciones que la salida debe tener como parámetros de entrada.

Damos la entrada como 'Este es un modelo de lenguaje'. Fijamos la longitud máxima de la salida en '30' y el número de oraciones en la salida en '3'. Ahora, simplemente llamamos a la función pprint() para mostrar los resultados que se generan a partir de nuestro modelo.

!pip instalar transformadores

de oleoducto de importación de transformadores
de pprint importar pprint

SELECTED_TASK = 'generación de texto'
MODELO = 'gpt2'
tarea = tubería (f'{SELECTED_TASK}', modelo = MODELO)

INPUT = 'Este es un modelo de lenguaje'
OUT_put = tarea (ENTRADA, max_length = 30, num_return_sequences=3)

pprint(OUT_put)

A partir del fragmento de código y la salida mencionados anteriormente, podemos ver que el modelo genera la información/texto adicional que es relevante para la entrada que le proporcionamos.

Ejemplo 2: Clasificación de texto utilizando canalizaciones de los transformadores

El ejemplo anterior cubrió el método para generar el texto adicional que es relevante para la entrada utilizando los transformadores y sus canalizaciones de paquetes. Este ejemplo nos muestra cómo realizar la clasificación de texto con los pipelines. La clasificación de texto es el proceso de identificar la entrada que se alimenta al modelo como miembro de una clase específica, p. positivo o negativo.

Primero importamos las tuberías de los transformadores. Luego, llamamos a la función “pipeline()”. Pasamos el nombre del modelo que, en nuestro caso, es 'clasificación de texto' a sus parámetros. Una vez que el modelo se especifica usando la canalización, ahora podemos nombrarlo como 'clasificador'. Hasta este punto, el modelo predeterminado para la clasificación de texto se descarga en nuestra máquina host. Ahora, podemos usar este modelo para nuestra tarea.

Entonces, importe los Pandas como 'pd'. Queremos importar este paquete porque queremos imprimir la salida del modelo en forma de DataFrame. Ahora, especificamos el texto que queremos dar a nuestro modelo como entrada para clasificarlo como una oración positiva o negativa. Establecemos el texto como 'Soy un buen chico'. Pasamos este texto al modelo classifier() que acabamos de crear en este ejemplo y guardamos los resultados en una variable de 'salida'.

Para mostrar la salida, llamamos al prefijo de Pandas, es decir, pd como “.Dataframe()” y pasamos la salida del modelo clasificador a esta función. Ahora muestra los resultados del modelo clasificador como se muestra en el siguiente fragmento de código de salida. Nuestro modelo clasificador clasifica el texto como la clase positiva.

!pip instalar transformadores
de oleoducto de importación de transformadores
importar pandas como pd
clasificador = canalización ('clasificación de texto', modelo = 'textattack/distilbert-base-uncased-CoLA')
text = 'soy un buen chico'
resultado = clasificador(texto)
pprint(resultado)
df = pd.DataFrame(resultado)

Conclusión

Esta guía cubrió la arquitectura del transformador de Hugging Face. Discutimos la biblioteca de 'tuberías' del transformador Hugging Face. Luego, con la ayuda de esta biblioteca, utilizamos los modelos de transformadores previamente entrenados para tareas de clasificación y generación de texto.