IA generativa La idea detrás de CHATGPT, Dall-E, Midjourney y más

Generative AI CHATGPT, Dall-E, Midjourney, and more

El mundo del arte, la comunicación y cómo percibimos la realidad está transformándose rápidamente. Si echamos un vistazo a la historia de la innovación humana, podríamos considerar la invención de la rueda o el descubrimiento de la electricidad como saltos monumentales. Hoy en día, una nueva revolución está teniendo lugar: la unión entre la creatividad humana y la computación de las máquinas. Eso es la IA Generativa.

Los modelos generativos han borrado la línea entre humanos y máquinas. Con la llegada de modelos como el GPT-4, que emplea módulos transformadores, nos hemos acercado a la generación de lenguaje natural y rico en contexto. Estos avances han impulsado aplicaciones en la creación de documentos, sistemas de diálogo de chatbots e incluso composición de música sintética.

Decisiones recientes de las grandes tecnológicas subrayan su importancia. Microsoft ya está discontinuando su aplicación Cortana este mes para priorizar las nuevas innovaciones de IA Generativa, como Bing Chat. Apple también ha dedicado una parte significativa de su presupuesto de I+D de 22.6 mil millones de dólares a la IA generativa, según ha indicado su CEO Tim Cook.

Una Nueva Era de Modelos: Generativos Vs. Discriminativos

La historia de la IA Generativa no solo se trata de sus aplicaciones, sino fundamentalmente de su funcionamiento interno. En el ecosistema de la inteligencia artificial existen dos modelos: discriminativos y generativos.

Los modelos discriminativos son los que la mayoría de las personas encuentran en su vida diaria. Estos algoritmos toman datos de entrada, como un texto o una imagen, y los relacionan con un resultado objetivo, como una traducción de palabras o un diagnóstico médico. Se trata de mapeo y predicción.

Los modelos generativos, por otro lado, son creadores. No solo interpretan o predicen; generan nuevas salidas complejas a partir de vectores de números que a menudo ni siquiera están relacionados con valores del mundo real.

 

Las Tecnologías Detrás de los Modelos Generativos

Los modelos generativos deben su existencia a las redes neuronales profundas, estructuras sofisticadas diseñadas para imitar la funcionalidad del cerebro humano. Capturando y procesando variaciones multifacéticas en los datos, estas redes sirven como base de numerosos modelos generativos.

¿Cómo cobran vida estos modelos generativos? Por lo general, se construyen con redes neuronales profundas, optimizadas para capturar las variaciones multifacéticas en los datos. Un ejemplo destacado es la Red Generativa Antagónica (GAN, por sus siglas en inglés), donde dos redes neuronales, el generador y el discriminador, compiten y aprenden entre sí en una relación única de profesor-alumno. Desde pinturas hasta transferencia de estilo, desde composición musical hasta juegos, estos modelos están evolucionando y expandiéndose de formas antes inimaginables.

Esto no se detiene con las GAN. Los Autoencoders Variacionales (VAEs, por sus siglas en inglés) son otro jugador clave en el campo de los modelos generativos. Los VAE se destacan por su capacidad para crear imágenes fotorrealistas a partir de números aparentemente aleatorios. ¿Cómo? Al procesar estos números a través de un vector latente, nace un arte que refleja las complejidades de la estética humana.

Tipos de IA Generativa: Texto a Texto, Texto a Imagen

Transformers y LLM

El artículo “Attention Is All You Need” de Google Brain marcó un cambio en la forma en que pensamos sobre la modelización de texto. En lugar de arquitecturas complejas y secuenciales como las Redes Neuronales Recurrentes (RNN) o las Redes Neuronales Convolucionales (CNN), el modelo Transformer introdujo el concepto de atención, que básicamente significa enfocarse en diferentes partes del texto de entrada según el contexto. Uno de los principales beneficios de esto fue la facilidad de paralelización. A diferencia de las RNN que procesan el texto de manera secuencial, lo que dificulta su escalabilidad, los Transformers pueden procesar partes del texto simultáneamente, lo que hace que el entrenamiento sea más rápido y eficiente en conjuntos de datos grandes.

Arquitectura del modelo Transformer

En un texto largo, no todas las palabras o frases que leemos tienen la misma importancia. Algunas partes requieren más atención según el contexto. Esta capacidad de cambiar nuestro enfoque en función de la relevancia es lo que imita el mecanismo de atención.

Para entender esto, piensa en una frase: “Unite AI Publica noticias de IA y robótica”. Ahora, predecir la siguiente palabra requiere comprender qué es lo más importante en el contexto anterior. El término “Robótica” podría sugerir que la siguiente palabra podría estar relacionada con un avance o evento específico en el campo de la robótica, mientras que “Publica” podría indicar que el siguiente contexto podría adentrarse en una publicación o artículo reciente.

Ilustración de Autoatención

Los mecanismos de atención en los Transformers están diseñados para lograr este enfoque selectivo. Evalúan la importancia de diferentes partes del texto de entrada y deciden dónde “mirar” al generar una respuesta. Esto es un cambio con respecto a arquitecturas más antiguas como las RNN que intentaban condensar la esencia de todo el texto de entrada en un solo ‘estado’ o ‘memoria’.

El funcionamiento de la atención se puede asemejar a un sistema de recuperación de clave-valor. Al intentar predecir la siguiente palabra en una oración, cada palabra precedente ofrece una ‘clave’ que sugiere su relevancia potencial, y en función de qué tan bien coincidan estas claves con el contexto actual (o consulta), contribuyen con un ‘valor’ o peso a la predicción.

Estos modelos avanzados de aprendizaje profundo de IA se han integrado sin problemas en varias aplicaciones, desde las mejoras del motor de búsqueda de Google con BERT hasta GitHub’s Copilot, que aprovecha la capacidad de los Modelos de Lenguaje Grande (LLMs) para convertir fragmentos de código simples en código fuente completamente funcional.

Los Modelos de Lenguaje Grande (LLMs) como GPT-4, Bard y LLaMA son construcciones colosales diseñadas para descifrar y generar lenguaje humano, código y más. Su inmenso tamaño, que varía desde miles de millones hasta billones de parámetros, es una de las características definitorias. Estos LLMs se alimentan con cantidades ingentes de datos de texto, lo que les permite comprender las complejidades del lenguaje humano. Una característica destacada de estos modelos es su aptitud para el aprendizaje “few-shot”. A diferencia de los modelos convencionales que necesitan grandes cantidades de datos de entrenamiento específicos, los LLMs pueden generalizar a partir de un número muy limitado de ejemplos (o “shots”).

Estado de los Modelos de Lenguaje Grande (LLMs) a post-mediados de 2023

Nombre del Modelo Desarrollador Parámetros Disponibilidad y Acceso Características Notables y Observaciones
GPT-4 OpenAI 1,5 billones No es de código abierto, solo acceso a través de API Rendimiento impresionante en una variedad de tareas, puede procesar imágenes y texto, longitud máxima de entrada de 32,768 tokens
GPT-3 OpenAI 175 mil millones No es de código abierto, solo acceso a través de API Demostró capacidad de aprendizaje con pocos ejemplos y aprendizaje sin ejemplos. Realiza completado de texto en lenguaje natural.
BLOOM BigScience 176 mil millones Modelo descargable, API hospedada disponible LLM multilingüe desarrollado mediante colaboración global. Admite 13 lenguajes de programación.
LaMDA Google 173 mil millones No es de código abierto, no hay API o descarga Entrenado en diálogos, puede aprender a hablar sobre virtualmente cualquier tema
MT-NLG Nvidia/Microsoft 530 mil millones Acceso a través de API por solicitud Utiliza la arquitectura Megatron basada en transformadores para diversas tareas de procesamiento del lenguaje natural.
LLaMA Meta AI 7B a 65B Descargable por solicitud Destinado a democratizar la IA al ofrecer acceso a aquellos en investigación, gobierno y academia.

¿Cómo se utilizan los LLM?

Los LLM se pueden utilizar de varias formas, incluyendo:

  1. Utilización directa: Simplemente usando un LLM pre-entrenado para generar o procesar texto. Por ejemplo, utilizar GPT-4 para escribir una entrada de blog sin necesidad de ajustes adicionales.
  2. Ajuste fino: Adaptar un LLM pre-entrenado para una tarea específica, un método conocido como transfer learning. Un ejemplo sería personalizar T5 para generar resúmenes de documentos en una industria específica.
  3. Recuperación de información: Utilizar LLMs, como BERT o GPT, como parte de arquitecturas más grandes para desarrollar sistemas que puedan obtener y categorizar información.
Arquitectura de Ajuste Fino de ChatGPT

Atención de Múltiples Cabezas: ¿Por qué tener una cuando puedes tener muchas?

Sin embargo, depender de un mecanismo de atención único puede ser limitante. Diferentes palabras o secuencias en un texto pueden tener diferentes tipos de relevancia o asociaciones. Aquí es donde entra en juego la atención de múltiples cabezas. En lugar de un conjunto de pesos de atención, la atención de múltiples cabezas utiliza varios conjuntos, lo que permite que el modelo capture una variedad más amplia de relaciones en el texto de entrada. Cada “cabeza” de atención puede enfocarse en diferentes partes o aspectos de la entrada, y su conocimiento combinado se utiliza para la predicción final.

A partir de la creación de GPT en 2018, el modelo se construyó básicamente sobre la base de 12 capas, 12 cabezas de atención y 120 millones de parámetros, entrenados principalmente en un conjunto de datos llamado BookCorpus. Este fue un comienzo impresionante, que ofrecía un vistazo al futuro de los modelos de lenguaje.

GPT-2, presentado en 2019, presumía de un aumento cuádruple en capas y cabezas de atención. Significativamente, su cantidad de parámetros se disparó a 1.5 mil millones. Esta versión mejorada se entrenó con WebText, un conjunto de datos enriquecido con 40 GB de texto de varios enlaces de Reddit.

GPT-3, lanzado en mayo de 2020, tenía 96 capas, 96 cabezas de atención y una enorme cantidad de parámetros de 175 mil millones. Lo que diferenciaba a GPT-3 era su diverso conjunto de datos de entrenamiento, que incluía CommonCrawl, WebText, la Wikipedia en inglés, corpora de libros y otras fuentes, lo que sumaba un total de 570 GB.

Las complejidades del funcionamiento de ChatGPT siguen siendo un secreto bien guardado. Sin embargo, se sabe que un proceso denominado “aprendizaje por refuerzo a partir de la retroalimentación humana” (RLHF) es esencial. Originario de un proyecto anterior de ChatGPT, esta técnica fue fundamental para mejorar el modelo GPT-3.5 y hacerlo más acorde con las instrucciones escritas.

El entrenamiento de ChatGPT consta de un enfoque de tres niveles:

  1. Ajuste fino supervisado: Implica la curación de entradas y salidas conversacionales escritas por humanos para refinar el modelo subyacente de GPT-3.5.
  2. Modelado de recompensa: Los humanos clasifican varias salidas del modelo en función de su calidad, lo que ayuda a entrenar un modelo de recompensa que puntúa cada salida teniendo en cuenta el contexto de la conversación.
  3. Aprendizaje por refuerzo: El contexto de la conversación sirve como telón de fondo en el que el modelo subyacente propone una respuesta. Esta respuesta es evaluada por el modelo de recompensa y el proceso se optimiza utilizando un algoritmo llamado “optimización de política proximal” (PPO).

Para aquellos que están comenzando a usar ChatGPT, se puede encontrar una guía de inicio completa aquí. Si estás interesado en profundizar en la ingeniería de indicaciones con ChatGPT, también tenemos una guía avanzada que se centra en las últimas técnicas de indicaciones de vanguardia, disponible en ‘ChatGPT e Ingeniería Avanzada de Indicaciones: Impulsando la Evolución de la IA’.

Modelos de Difusión y Multimodales

Mientras que los modelos como los VAE y GAN generan sus salidas a través de un solo paso, quedando limitados a lo que producen, los modelos de difusión han introducido el concepto de “refinamiento iterativo”. A través de este método, vuelven atrás, refinando los errores de los pasos anteriores y produciendo gradualmente un resultado más pulido.

Central a los modelos de difusión está el arte de la “corrupción” y el “refinamiento”. En su fase de entrenamiento, una imagen típica se va corrompiendo progresivamente añadiendo diferentes niveles de ruido. Esta versión ruidosa se alimenta luego al modelo, que intenta “desruido” o “descorromper” la imagen. A través de múltiples rondas de esto, el modelo se vuelve experto en la restauración, comprendiendo tanto las aberraciones sutiles como las significativas.

Imagen generada por Midjourney

El proceso de generar nuevas imágenes después del entrenamiento es intrigante. Comenzando con una entrada completamente aleatorizada, se va refinando continuamente utilizando las predicciones del modelo. El objetivo es obtener una imagen prístina con el mínimo número de pasos. El control del nivel de corrupción se realiza a través de un “programa de ruido”, un mecanismo que gobierna cuánto ruido se aplica en diferentes etapas. Un programador, como se ve en bibliotecas como “diffusers”, dicta la naturaleza de estas interpretaciones ruidosas basadas en algoritmos establecidos.

Una columna vertebral arquitectónica esencial para muchos modelos de difusión es el UNet, una red neuronal convolucional diseñada para tareas que requieren salidas que reflejen la dimensión espacial de las entradas. Es una combinación de capas de muestreo y aumento, conectadas de manera intrincada para retener datos de alta resolución, fundamentales para salidas relacionadas con imágenes.

Profundizando en el ámbito de los modelos generativos, DALL-E 2 de OpenAI emerge como un brillante ejemplo de la fusión de las capacidades de IA textual y visual. Emplea una estructura de tres niveles:

DALL-E 2 muestra una arquitectura de tres pasos:

  1. Codificador de texto: Transforma la indicación de texto en una incrustación conceptual dentro de un espacio latente. Este modelo no parte de cero. Se apoya en el conjunto de datos de entrenamiento previo de lenguaje-imagen contrastivo (CLIP) de OpenAI como su base. CLIP sirve como un puente entre datos visuales y textuales al aprender conceptos visuales utilizando lenguaje natural. A través de un mecanismo conocido como aprendizaje contrastivo, identifica y relaciona imágenes con sus descripciones textuales correspondientes.
  2. El Previo: La incrustación de texto derivada del codificador se convierte entonces en una incrustación de imagen. DALL-E 2 probó tanto métodos autoregresivos como de difusión para esta tarea, siendo este último el que mostró resultados superiores. Los modelos autoregresivos, como se ve en Transformers y PixelCNN, generan salidas en secuencias. Por otro lado, los modelos de difusión, como el utilizado en DALL-E 2, transforman ruido aleatorio en incrustaciones de imagen predichas con la ayuda de incrustaciones de texto.
  3. El Decodificador: El clímax del proceso, esta parte genera la salida visual final basada en la indicación de texto y la incrustación de imagen de la fase previa. El decodificador de DALL.E 2 debe su arquitectura a otro modelo, GLIDE, que también puede producir imágenes realistas a partir de indicaciones textuales.
Arquitectura simplificada del modelo DALL-E

Los usuarios de Python interesados en Langchain deberían consultar nuestro tutorial detallado que cubre desde los fundamentos hasta técnicas avanzadas.

Aplicaciones de la IA Generativa

Dominios Textuales

Comenzando con el texto, la IA generativa ha sido fundamentalmente alterada por chatbots como ChatGPT. Dependiendo en gran medida del procesamiento del lenguaje natural (NLP) y los modelos de lenguaje grandes (LLMs), estas entidades tienen la capacidad de realizar tareas que van desde la generación de código y la traducción de idiomas hasta la resumización y el análisis de sentimientos. ChatGPT, por ejemplo, ha sido ampliamente adoptado, convirtiéndose en un elemento básico para millones de personas. Esto se ve aún más aumentado por las plataformas de IA conversacional, basadas en LLMs como GPT-4, PaLM y BLOOM, que producen texto sin esfuerzo, ayudan en la programación e incluso ofrecen razonamiento matemático.

Desde una perspectiva comercial, estos modelos se están volviendo invaluables. Las empresas los emplean para una miríada de operaciones, incluyendo la gestión de riesgos, la optimización de inventarios y la previsión de la demanda. Algunos ejemplos destacados incluyen Bing AI, BARD de Google y ChatGPT API.

Arte

El mundo de las imágenes ha experimentado transformaciones dramáticas con la IA generativa, especialmente desde la introducción de DALL-E 2 en 2022. Esta tecnología, que puede generar imágenes a partir de indicaciones textuales, tiene implicaciones tanto artísticas como profesionales. Por ejemplo, midjourney ha aprovechado esta tecnología para producir imágenes impresionantemente realistas. Esta publicación reciente desmitifica Midjourney en una guía detallada, elucidando tanto la plataforma como las complejidades de ingeniería de su indicación. Además, plataformas como Alpaca AI y Photoroom AI utilizan la IA generativa para funcionalidades avanzadas de edición de imágenes como la eliminación de fondos, la eliminación de objetos e incluso la restauración de rostros.

Producción de Videos

La producción de videos, aunque aún en sus etapas iniciales en el ámbito de la IA generativa, está mostrando avances prometedores. Plataformas como Imagen Video, Meta Make A Video y Runway Gen-2 están empujando los límites de lo posible, incluso si las salidas realmente realistas aún están en el horizonte. Estos modelos ofrecen una gran utilidad para crear videos de humanos digitales, con aplicaciones como Synthesia y SuperCreator liderando el camino. Es importante destacar que Tavus AI ofrece una propuesta de venta única al personalizar videos para cada miembro de la audiencia, lo cual es una ventaja para las empresas.

Creación de código

La programación, un aspecto indispensable de nuestro mundo digital, no ha quedado ajena a la IA generativa. Aunque ChatGPT es una herramienta favorita, se han desarrollado varias aplicaciones de IA para fines de programación. Estas plataformas, como GitHub Copilot, Alphacode y CodeComplete, sirven como asistentes de programación e incluso pueden generar código a partir de indicaciones de texto. Lo intrigante es la adaptabilidad de estas herramientas. Codex, la fuerza impulsora detrás de GitHub Copilot, puede adaptarse al estilo de programación de una persona, lo que subraya el potencial de personalización de la IA generativa.

Conclusión

Al combinar la creatividad humana con el cálculo de máquinas, la IA generativa se ha convertido en una herramienta invaluable, con plataformas como ChatGPT y DALL-E 2 que empujan los límites de lo concebible. Desde crear contenido textual hasta esculpir obras maestras visuales, sus aplicaciones son vastas y variadas.

Al igual que con cualquier tecnología, las implicaciones éticas son primordiales. Si bien la IA generativa promete una creatividad sin límites, es crucial utilizarla de manera responsable, siendo conscientes de posibles sesgos y el poder de la manipulación de datos.

Con herramientas como ChatGPT cada vez más accesibles, ahora es el momento perfecto para probar y experimentar. Ya sea que seas un artista, programador o entusiasta de la tecnología, el ámbito de la IA generativa está lleno de posibilidades esperando ser exploradas. La revolución no está en el horizonte; está aquí y ahora. ¡Sumérgete!