Imágenes de IA con GPT y modelos de difusión


El mundo está fascinado por la inteligencia artificial (IA), en particular los avances recientes en el procesamiento del lenguaje natural (NLP) y la IA generativa, y por una buena razón. Estas tecnologías innovadoras tienen el potencial de aumentar la productividad diaria en tareas de todo tipo. Por ejemplo, GitHub Copilot ayuda a los desarrolladores a codificar algoritmos completos rápidamente, OtterPilot genera automáticamente notas de reuniones para ejecutivos y Mixo permite a los empresarios lanzar sitios web rápidamente.

Este artículo proporciona una breve descripción general de la IA generativa, incluidos ejemplos de tecnología de IA relevantes, y luego pone la teoría en acción con un tutorial de IA generativa en el que creamos representaciones artísticas utilizando GPT y modelos de difusión.

Seis imágenes generadas por IA del autor del artículo en diferentes estilos animados y artísticos.
Seis imágenes generadas por IA creadas por el autor utilizando las técnicas de este tutorial.
Índice del contenido

Breve descripción de la IA generativa

Nota: Quienes estén familiarizados con los conceptos técnicos detrás de la IA generativa pueden omitir esta sección y continuar con el tutorial.

En 2022, numerosas implementaciones de modelos base llegarán al mercado, lo que acelerará los avances de la IA en muchos sectores. Podemos definir mejor un modelo fundamental después de comprender algunos conceptos clave:

  • Inteligencia artificial es un término general que describe cualquier software que pueda abordar de manera inteligente una tarea específica.
  • aprendizaje automático es un subconjunto de inteligencia artificial que utiliza algoritmos que aprenden de los datos.
  • A red neuronal es un subconjunto de aprendizaje automático que utiliza nodos en capas modelados a partir del cerebro humano.
  • A red neuronal profunda es una red neuronal con muchas capas y parámetros de aprendizaje.

A modelo fundador es una red neuronal profunda entrenada en grandes cantidades de datos sin procesar. En términos más prácticos, un modelo base es un tipo de IA muy exitoso que es fácil de personalizar y realizar varias tareas. Los modelos básicos son el núcleo de la IA generativa: tanto los modelos de lenguaje que generan texto como GPT como los modelos de difusión que generan imágenes son modelos básicos.

Texto: modelos de PNL

La IA generativa entrena modelos NLP (procesamiento del lenguaje natural) para producir texto que se lee como si fuera escrito por un humano. En particular, los modelos de lenguaje extenso (LLM) son particularmente relevantes para los sistemas de IA actuales. Los LLM, que se clasifican utilizando grandes cantidades de datos, pueden reconocer y generar texto y otro contenido.

En la práctica, estos modelos pueden servir como asistentes de escritura o incluso de codificación. Las aplicaciones de procesamiento de lenguaje natural incluyen simplemente reformular conceptos complejos, traducir texto, redactar documentos legales e incluso crear planes de capacitación (aunque este uso tiene ciertas limitaciones).

Lex es un ejemplo de una herramienta de escritura de PNL con muchas funciones: sugerir títulos, completar oraciones y escribir párrafos completos sobre un tema específico. El LLM actualmente más reconocible es GPT. Desarrollado por OpenAI, GPT puede responder a casi cualquier pregunta o comando en segundos y con gran precisión. Los diversos modelos de OpenAI están disponibles a través de una sola API. A diferencia de Lex, GPT puede trabajar con código, codificar soluciones para necesidades funcionales e identificar problemas en el código para facilitar mucho la vida de los desarrolladores.

Imágenes: modelos de difusión de IA

Un modelo de difusión es una red neuronal profunda que contiene variables latentes capaces de aprender la estructura de una imagen determinada eliminando su desenfoque (es decir, el ruido). Una vez que la red de un modelo ha sido entrenada para "conocer" la abstracción conceptual detrás de una imagen, puede crear nuevas variaciones de esa imagen. Por ejemplo, al eliminar el ruido de la imagen de un gato, el modelo de difusión "ve" una imagen limpia del gato, aprende cómo es el gato y aplica ese conocimiento para crear nuevas variaciones de la imagen del gato.

Los modelos de difusión se pueden usar para eliminar el ruido o agudizar (mejorar y refinar) las imágenes, manipular las expresiones faciales o generar imágenes del envejecimiento facial para sugerir cómo se vería una persona con el tiempo. Puede buscar en el motor de búsqueda Lexica para experimentar las habilidades de estos modelos de IA para generar nuevas imágenes.

Tutorial: modelo de difusión e implementación de GPT

Para demostrar cómo implementar y usar estas tecnologías, practicaremos la creación de imágenes de estilo anime usando un modelo de difusión HuggingFace y GPT, que no requiere infraestructura ni software complejos. Empezamos con un modelo listo para usar (es decir, uno que ya ha sido construido y pre-entrenado) que solo necesitamos refinar.

Nota: Este artículo explica cómo puede usar imágenes generativas de IA y modelos de lenguaje para crear imágenes de usted mismo de alta calidad en estilos interesantes. La información de este artículo no debe usarse (indebidamente) para crear falsificaciones profundas que violen los Términos de servicio de Google Colaboratory.

Requisitos de instalación y fotografía

Para prepararse para este tutorial, regístrese en:

También necesitará 20 fotos de usted mismo, o incluso más para un mejor rendimiento, almacenadas en el dispositivo que planea usar para este tutorial. Para obtener los mejores resultados, las fotos deben:

  • No puede ser inferior a 512 x 512 píxeles.
  • Ser uno de ustedes y solo usted.
  • ¿Tienes el mismo formato de extensión?
  • Se puede tomar desde diferentes ángulos.
  • Tome al menos de tres a cinco tomas de cuerpo completo y de dos a tres tomas de medio cuerpo. El resto deben ser fotos de caras.

Sin embargo, las fotos no tienen que ser perfectas; incluso puede ser instructivo ver cómo las desviaciones de estos requisitos afectan la salida.

Imágenes de IA utilizando el modelo de difusión HuggingFace

Primero, abra el cuaderno de Google Colab que acompaña a este tutorial, que contiene el código requerido.

  1. Ejecute la celda 1 para conectar Colab a su Google Drive para guardar el modelo y guardar las imágenes generadas más tarde.
  2. Ejecute la celda 2 para instalar las dependencias requeridas.
  3. Ejecute la celda 3 para descargar el modelo HuggingFace.
  4. En la celda 4, escriba "Cómo me veo". Session_Name y luego ejecute la celda. El nombre de la sesión normalmente identifica el concepto que aprenderá el modelo.
  5. Completa la celda 5 y sube tus fotos.
  6. Vaya a la celda 6 para entrenar el modelo. Al comprobar el Resume_Training Si marca la opción antes de ejecutar la celda, puede volver a entrenarla varias veces. (Este paso puede tardar alrededor de una hora.)
  7. Finalmente, ejecute la celda 7 para probar su modelo y verlo en acción. El sistema te devolverá una URL donde encontrarás una interfaz para crear tus imágenes. Después de ingresar un aviso, presione la tecla para generar Botón de renderizar imagen.
Una captura de pantalla de la interfaz de usuario del modelo con muchas configuraciones, un cuadro de texto de entrada, un botón de generación y una salida de un personaje animado.
La interfaz de usuario de generación de imágenes

Con un modelo de trabajo, ahora podemos experimentar con diferentes indicaciones para crear diferentes estilos visuales (por ejemplo, "Yo como un personaje animado" o "Yo como una pintura impresionista"). Sin embargo, el uso de GPT para indicaciones de dibujo es óptimo porque proporciona detalles adicionales en comparación con las indicaciones generadas por el usuario y maximiza el potencial de nuestro modelo.

Indicadores efectivos para modelos de difusión con GPT

Agregaremos GPT a nuestra canalización sobre OpenAI, aunque Cohere y las otras opciones brindan una funcionalidad similar para nuestros propósitos. Primero, regístrese en la plataforma OpenAI y cree su clave API. Ahora, en el cuaderno de Colab, en la sección Generar buenas indicaciones, instale la biblioteca OpenAI:

pip install openai

A continuación, cargue la biblioteca y configure su clave API:

import openai
openai.api_key = "YOUR_API_KEY"

Crearemos avisos optimizados para GPT para generar nuestra imagen de estilo de personaje de anime y reemplazarla YOUR_SESSION_NAME con "Cómo me veo", el nombre de la sesión establecido en la celda 4 del cuaderno:

ASKING_TO_GPT = 'Write a prompt to feed a diffusion model to generate beautiful images '\
                'of YOUR_SESSION_NAME styled as an anime character.' 
response = openai.Completion.create(model="text-davinci-003", prompt=ASKING_TO_GPT,
                                    temperature=0, max_tokens=1000)
print(response["choices"][0].text)

El temperature El parámetro varía de 0 a 2 y determina si el modelo debe ceñirse estrictamente a los datos con los que entrenó (valores cercanos a 0) o ser más creativo con sus resultados (valores cercanos a 2). El max_tokens El parámetro especifica la cantidad de texto que se devolverá, donde cuatro tokens corresponden aproximadamente a una palabra en inglés.

En mi caso, la salida del modelo GPT es:

"Juan is styled as an anime character, with large, expressive eyes and a small, delicate mouth.
His hair is spiked up and back, and he wears a simple, yet stylish, outfit. He is the perfect
example of a hero, and he always manages to look his best, no matter the situation."

Finalmente, al alimentar este texto como entrada al modelo de difusión, llegamos a nuestra salida final:

Seis imágenes generadas por IA por el autor del artículo al estilo de diferentes personajes de anime.
Seis imágenes del autor generadas por IA mejoradas con indicaciones generadas por GPT.

Conseguir que GPT escriba mensajes de modelo de difusión significa que no tiene que pensar en detalle sobre los matices de cómo se ve un personaje de anime: GPT generará una descripción adecuada para usted. Siempre puede personalizar aún más el aviso según sus gustos. Después de completar este tutorial, podrá crear imágenes creativas complejas de usted mismo o de cualquier concepto.

Los beneficios de la IA están a tu alcance

Los modelos GPT y de difusión son dos importantes implementaciones modernas de IA. Hemos visto cómo aplicarlos de forma aislada y multiplicar su rendimiento emparejándolos usando la salida GPT como entrada al modelo de difusión. De esta forma, hemos creado una canalización de dos grandes modelos de lenguaje que pueden maximizar su propia usabilidad.

Estas tecnologías de IA tendrán un profundo impacto en nuestras vidas. Muchos anticipan que los grandes modelos lingüísticos tendrán un impacto drástico en el mercado laboral en una variedad de ocupaciones al automatizar ciertas tareas y remodelar los roles existentes. Si bien no podemos predecir el futuro, es innegable que los primeros usuarios que utilizan la PNL y la IA generativa para optimizar su trabajo tendrán una ventaja sobre los que no lo hacen.

El equipo editorial del Blog de Ingeniería de Toptal le agradece Federico Albanese para revisar los ejemplos de código y otro contenido técnico presentado en este artículo.

Si quieres conocer otros artículos parecidos a Imágenes de IA con GPT y modelos de difusión puedes visitar la categoría Software.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir