Está en la página 1de 2

Hugging face y Transformers

Hugging face es una empresa de tecnología dedicada al Machine Learning


desarrollo de herramientas y plataformas de
Disciplina dentro de la
procesamiento de lenguaje natural, también conocido
inteligencia artificial donde a
como NLP; una sub-rama dentro de la inteligencia
través de algoritmos un
artificial, en la que se usa Machine learning, Deep
ordenador es capaz de hacer
learning y lingüística computacional (aplicación de la
predicciones e identificar
informática al análisis y comprensión del lenguaje) para
patrones en una gran
procesar el lenguaje humano en forma de texto y voz y
cantidad de datos
así comprender su significado completo.

Esta empresa ha creado una plataforma de código abierto llamada


Deep Transformers,
Learning esta
plataforma sirve para que los desarrolladores puedan
acceder y utilizar modelos NLP pre-entrenados que ha Es una parte dentro del
sido adoptada por una gran cantidad de empresas y Machine learning donde a
desarrolladores. partir de una gran cantidad
de datos y tras capas de
Transformers, más concretamente, es una Open Source
procesamiento de algoritmo,
Library donde puedes descargar modelos ya entrenados
se consigue que el ordenador
para así reducir costos y tiempo respecto a entrenar a un
aprenda por su cuenta
modelo desde cero, además ayuda a reducir su huella de
carbono asociada. Estos Transformers han ayudado en muchos ámbitos dentro del NLP, ha
ayudado a los desarrolladores a crear rápida y fácilmente modelos de IA para una variedad de
tareas como generación de texto(GPT), imágenes(BEIT), audio(EnCodec) e incluso generación
de gráficos (Graphormer).

Debido a esto muchas empresas han estado utilizando estos Transformers y subiéndolos a la
plataforma como el Transformers GPT de OpenAI, BERT desarrollado por Google o BART de
Facebook.

El Transformer BERT de Google es un Transformer basado en redes neuronales para tener un


pre-entrenamiento en el proceso del lenguaje natural de los humanos, es una IA generadora
de texto capaz de identificar y comprender mensajes enviados por humanos haciendo posible
la comunicación entre estos dos, GPT de OpenAI no es muy distinto a lo nombrado
anteriormente, sin embargo tiene diferencias con este, GPT no usa una red neuronal como
base, sino que usa un modelo de lenguaje auto-regresivo combinado con Deep Learning, esto
significa que en vez de añadir nuevas “neuronas” sobre lo aprendido lo sobrescribe sobre la
información obsoleta y que escribe palabra a palabra teniendo en cuenta las palabras escritas
anteriormente para darle mayor sentido a la frase. BART de Facebook por otro lado, también
usa el lenguaje auto-regresivo y además lee las frases en ambos sentidos, normalmente una IA
leería de izquierda a derecha o de derecha a izquierda, BART no, es capaz de leer desde ambos
lados simultáneamente lo que le permite una mayor comprensión sobre el texto dado.

Dicho esto, estos Transformers son usados normalmente en chats interactivos, traductores, o
hacer resúmenes de texto, estos Transformers se están usando en sitios como ChatGPT, Meta
de Facebook o en el propio Google traductor así como en muchos más sitios.
Gradio
Gradio es una biblioteca de Phyton donde te permite crear modelos de interfaz solo
determinando las variables de entrada y salida esperados de su modelo de Machine Learning.
Para hacer uso de la biblioteca simplemente tienes que importar la biblioteca escribiendo
“import gradio”, escribir el código y crear una interfaz con gradio.interface() donde dentro de
los paréntesis tiene que poner “fn=nombre_funcion, inputs=”formato inputs(text, integer, long
…), outputs=” formato outputs(text, integer, long …)””. Poniendo esta información la biblioteca
de gradiio generara una interfaz que se abrirá en Jupyter notebook o en el localhost:7860 si se
hace mediante un script.

Gradio se puede implementar a los Transformers de Hugging face mediante pipelinen, para
ello se tiene que escribir “from Transformers import pipeline”, luego tiene que definir la
pipeline definiendo el modelo de Transformer que vaya a usar, el código que tendrá que llamar
la interfaz definiendo el formato en el que sale y la interfaz pasa a definirse como
gradio.interface.from_pipeline(nombrepipeline). Esto funciona de la siguiente forma: se inicia
el programa, se crea una pipeline que conecta con el transformer especificado, se le pasa por
el pipeline las variables necesarias, cuando ha terminado las devuelve, estas son recogidas por
la interfaz de gradio que genera una interfaz adaptada a las variables y función de estas.

Esto puede tener muchas ventajas como un ahorro significativo de tiempo ya que no tiene que
desarrollar la interfaz a mano y esta es generada, sin embargo al necesitar de factores externos
puede dar errores y no te permite una personalización de la interfaz.

También podría gustarte