Lección 16 del módulo “Redes Transformer” del curso Fundamentos de Deep Learning con Python.
En la lección anterior vimos cómo GPT y usa el aprendizaje no supervisado para emular la forma como el ser humano interpreta y resuelve tareas propias del lenguaje natural, usando un enfoque de fuerza bruta.
En esta práctica veremos cómo usar esta arquitectura para la generación de texto de forma automática.
Así que comencemos viendo en detalle el problema a resolver y cómo preparar el modelo que usaremos en este proyecto:
Contenido exclusivo para suscriptores
Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.
Debido al tamaño de los modelos GPT y las limitaciones de memoria en Google Colab, usaremos una versión simplificada de GPT-2 con 774 millones de parámetros, habilitando el procesamiento con GPU.
Además, usaremos la librería Hugging Face para reducir la cantidad de código, enfocándonos en la generación de texto y las limitaciones del modelo.
Y para lograr esto es necesario instalar la librería Transformers de Hugging Face. Específicamente usaremos los módulos «GPT2Tokenizer» para la «tokenización» del texto y «TFGPT2LMHeadModel» para instanciar el modelo pre-entrenado.
Una vez descargado este modelo usando los módulos en mención podremos verificar que ocupa un espacio en memoria de 2.88 GB.
Así que en este punto ya está disponible el modelo pre-entrenado y podemos comenzar a usarlo para generar algunas predicciones, es decir para generar texto. Veamos cómo hacerlo:
Contenido exclusivo para suscriptores
Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.
Acabamos de experimentar con dos de las principales estrategias de generación de texto que proporciona la librería Hugging Face:
- Greedy Search (o búsqueda codiciosa), que es la forma más simple de generación pero en la cual el texto generado no es de gran calidad.
- Con muestreo top-k y top-p en donde pudimos comprobar que el texto generado se asemeja mucho más al tipo de texto que escribiría un ser humano
Habiendo analizado estos ejemplos lo único que nos resta es analizar las limitaciones y el sesgo que puede llegar a tener este generador de texto:
Contenido exclusivo para suscriptores
Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.
¡Excelente! Con los ejemplos de generación de texto que acabamos de ver, pudimos comprobar el impresionante desempeño de este modelo GPT-2 para la generación de texto, pero también nos dimos cuenta de que en algunos casos este texto generado puede tener un sesgo debido precisamente a este enfoque de aprendizaje no supervisado y a los datos que fueron usados durante el entrenamiento del modelo.
Así que ya estamos listos para entrar a la última parte del curso, en donde veremos el potencial que tienen las Redes Transformer en ámbitos incluso diferentes al Procesamiento del Lenguaje Natural.
Entonces, en el proyecto final del curso veremos como llevar a cabo una tarea de visión por computador: la clasificación de imágenes con Redes Transformer.
Todas las lecciones del curso Fundamentos de Deep Learning con Python
