Introducción a la IA generativa

una visión de la IA Generativa en el contexto actual del blog AssemblyAI y escrito por Ryan O'Connor

Introducción a la IA generativa

Ver fuente original del artículo: https://www.assemblyai.com/blog/introduction-generative-ai/

Introduction to Generative AI

El término "IA generativa" ha aparecido como de la nada en los últimos meses. Mirando las tendencias de Google, podemos ver un crecimiento agresivo en el interés incluso solo en los últimos 12 meses.

Este interés se puede atribuir al lanzamiento de modelos generativos como DALL-E 2, Imagen y ChatGPT. Pero, ¿qué significa realmente "IA generativa"?

Este interés puede atribuirse al lanzamiento de modelos generativos como DALL-E 2, Imagen y ChatGPT. Pero, ¿qué significa realmente "IA Generativa"?

En este artículo, parte de nuestra serie Todo lo que necesita saber sobre la IA generativa, proporcionaremos una descripción general del tema desde cero. Las explicaciones abarcarán todos los niveles de experiencia para que todos los lectores puedan comprender mejor cómo funciona esta tecnología a medida que se integra más en nuestra vida cotidiana.

¿Qué es la IA generativa?

En resumen, la IA generativa se refiere a cualquier modelo de inteligencia artificial que genera datos, información o documentos novedosos.

Por ejemplo, muchas empresas graban sus reuniones, tanto en persona como virtuales. Aquí hay algunas formas en que la IA generativa puede extraer valor de estas grabaciones:

  1. Puede generar automáticamente una lista de tareas pendientes para garantizar que las reuniones tengan un valor ejecutable.
  2. Puede generar un resumen de la reunión para las personas que no pudieron asistir a la reunión, condensando la información importante para mejorar la eficiencia.
  3. Puede generar respuestas relevantes al contexto a las preguntas que surjan durante la reunión.

La IA generativa se puede usar para generar automáticamente documentos útiles durante o después de una reunión.

La IA generativa también se puede aplicar en otros dominios. Si estamos en el proceso de hacer un videojuego, podemos usar IA para generar arte de personajes para inspirar nuestro proceso creativo, o generar animaciones de personajes para producir movimientos naturales que hagan nuestro juego inmersivo y liberen a los desarrolladores para otras tareas.

Arte conceptual de mundo y personajes para un videojuego, creado en menos de un minuto usando Stable Diffusion.

Las posibles aplicaciones de la IA generativa son numerosas y diversas, por lo que se vuelve difícil discutirlas todas juntas sin acotar nuestro alcance a un dominio específico. En lo que sigue, proporcionaremos una definición general de IA generativa, seguida de un examen de su propuesta de valor en este contexto más general.

IA generativa vs IA discriminativa

La IA generativa se describe más fácilmente contrastándola con la IA discriminativa. Como hemos visto, la IA generativa es útil cuando queremos generar datos, información o documentos. Por otro lado, la IA discriminativa es útil cuando queremos tomar algún tipo de decisión.

Por ejemplo, si estamos en el sector de la salud, podemos querer predecir si alguien tiene riesgo de cáncer dada cierta información biométrica: altura, peso, historial de tabaquismo, presión arterial, etc. Queremos usar esta información para decidir si esta persona tiene riesgo de cáncer o no.

Dados los datos de entrada, el modelo de IA discriminativa decide si esta persona tiene o no riesgo de cáncer.

También podemos tomar decisiones usando otros tipos de datos. En lugar de una lista de números como arriba, podríamos tener una imagen. Por ejemplo, podríamos tener una imagen radiológica y tener como objetivo determinar si contiene la imagen de un tumor canceroso.

La IA discriminativa también puede usar diferentes tipos de datos de entrada. En este caso, la entrada es una imagen (modificada de fuente).

Por supuesto, también podemos usar la IA discriminativa en otros dominios. En lugar del sector de la salud, quizás estemos en la industria bancaria y queramos determinar, dada la historia de transacciones, si la identidad de alguien ha sido comprometida o robada. Podemos tratar de identificar transacciones sospechosas usando IA discriminativa.

La IA discriminativa también funciona en otros dominios, como en el sector bancario.

Los datos de entrada, altura, presión arterial, historial de transacciones, etc., se pueden denominar características. Al trabajar con IA discriminativa, no nos importan estas características en sí mismas, solo nos importan en la medida en que nos ayudan a tomar una decisión.

En contraste, con la IA generativa, nos importan estas características en sí mismas. De hecho, el objetivo completo de la IA generativa es comprender cómo se relacionan estas características para generar datos plausibles. Por ejemplo, supongamos que nuestro objetivo es generar una muestra representativa de humanos en términos de tamaño corporal (considerando solo altura y peso aquí para simplificar). Entonces, la muestra ilustrada a continuación no es muy realista:

Alturas y pesos tan improbables forman combinaciones aún menos probables, y una muestra aún menos probable juntos como un trillizo

Esas alturas y pesos poco probables forman combinaciones aún menos probables, y una muestra aún menos probable en conjunto.

En particular, es poco probable tener a alguien tan alto y delgado, o tan bajo y ancho; y es aún menos probable tener una muestra de 3 extremos tan simultáneos. En cambio, necesitamos modelar la distribución estadística de peso y altura en la población de la que deseamos muestrear, para generar datos novedosos más realistas, como este:

Considerando solo altura y peso, esta muestra de hombres es mucho más realista que la muestra anterior.

La siguiente sección corta será ligeramente técnica y construirá un marco matemático suelto en torno a este concepto. Siéntase libre de saltarse esta próxima sección y avanzar si los conceptos o la terminología son demasiado desconocidos.

En términos matemáticos

A menudo, la IA discriminativa se considera que modela una distribución condicional, mientras que la IA generativa se considera que modela una distribución conjunta.

La IA discriminativa (izquierda) encuentra una distribución condicional o límite de decisión en el espacio, mientras que la IA generativa (derecha) modela la distribución conjunta.

Nota al margen: distribuciones condicionales y conjuntas

Esta definición no es rigurosa. Tenga en cuenta en particular que no todas las técnicas de IA discriminativa modelan una distribución condicional porque no todos los métodos de IA discriminativa incluso modelan una distribución en primer lugar. Por ejemplo, las máquinas de vectores de soporte no son probabilísticas, pero aún se usan para IA discriminativa encontrando un límite de decisión en el espacio.

Por otro lado, con la IA generativa generalmente es seguro decir que estamos modelando una distribución conjunta porque la distribución en sí es el objeto de interés. Una vez que modelamos la distribución, podemos usarla de diferentes maneras. Podemos realizar estimaciones de densidad, por ejemplo, estimando la probabilidad de que alguien mida más de 1,80 m y pese menos de 68 kg.

Alternativamente, podemos muestrear esta distribución para generar datos novedosos, lo cual podemos hacer por varias razones. Una razón podría ser usar los datos generados para entrenar otro modelo de IA. Otra razón podría ser usar los datos generados como tales (como hacemos con modelos como DALL-E 2). Es esta segunda razón a la que la gente suele referirse coloquialmente cuando habla de "IA generativa" con respecto al progreso reciente que ha ganado atención pública.

En cualquier caso, cuando estamos hablando de IA generativa desde un punto de vista matemático, generalmente estamos hablando de modelar una distribución conjunta.

El valor de la IA generativa

Hemos visto cómo la IA generativa se puede usar de una manera sencilla, digamos como inspiración artística para modelos de mundo o personajes para un videojuego.

Más allá de estos obvios usos creativos, la IA generativa se puede pensar de otra manera más abstracta que es más útil a nivel conceptual. En particular, quizás la forma más general de pensar en la IA generativa es como una asignación de antecedentes (potenciales) a consecuentes deseados. Veamos qué significa esto con más detalle.

Al desarrollar un proyecto, producto o negocio, generalmente tenemos algunos objetivos definidos. Para alcanzar un objetivo, generalmente tenemos resultados medibles que sirven como indicador de ese objetivo. Por ejemplo, digamos que nuestro objetivo es convertirnos en la marca preeminente en el mercado X. Digamos que un aumento del Y% en las acciones de nuestro producto X en las redes sociales es nuestro resultado medible que sirve como un buen indicador del progreso hacia nuestro objetivo. ¿Cómo podríamos lograr ese aumento del Y%?

El resultado medible del aumento de acciones sociales implica progreso hacia nuestro objetivo en este escenario.

En general, podemos tener muchas ideas sobre cómo lograr este resultado. En última instancia, lo que estamos haciendo es tratar de implementar algún cambio o idea (un antecedente) que conducirá al resultado deseado (el consecuente).

Podemos tener muchas ideas (antecedentes) para iniciativas potenciales que podrían conducir a nuestro resultado deseado (el consecuente).

A menudo, no sabemos si una idea es realmente un antecedente. Es decir, ¿la implementación de esta idea realmente conducirá al consecuente deseado? Por lo tanto, es nuestro trabajo investigar, implementar e iterar en múltiples antecedentes potenciales en un intento de observar el consecuente deseado. Debemos establecer, lo mejor que podamos, que una idea es de hecho un antecedente del consecuente deseado, es decir, que el cambio implica el consecuente.

Establecer la implicación significa que un antecedente particular conduce al consecuente deseado, lo que a su vez conduce a nuestro objetivo principal.

Nota:

El punto crítico aquí es que los detalles de implementación de los antecedentes potenciales suelen ser el cuello de botella en este proceso. Es muy fácil pensar en el resultado que queremos y pensar en qué cambio podría llevar a ese resultado, pero los detalles de cómo unimos los dos es el desafío. Independientemente del dominio específico, los detalles de implementación humanos son donde está la mayor parte del trabajo por hacer y donde se produce el cuello de botella.

La implementación humana es generalmente el cuello de botella en nuestra capacidad para probar e/o implementar varias ideas.

En esta situación, la IA generativa se puede pensar como una herramienta para construir

En esta situación, la IA generativa se puede pensar como una herramienta para construir el puente entre los antecedentes potenciales y el consecuente deseado. Podemos usar la IA generativa para acelerar muchos de los detalles de implementación involucrados en poner estas ideas en acción:

La IA generativa se puede usar para acelerar enormemente la implementación de nuestras ideas.

Un ejemplo sencillo

Veamos cómo funciona esto tomando un ejemplo específico de nuestro escenario anterior. En particular, veamos la idea B, que es agregar un botón a nuestra página de producto para compartir fácilmente el producto en las redes sociales. Recuerde, nuestro resultado deseado es lograr un aumento del Y% en las acciones sociales, por lo que este cambio parece un buen candidato como antecedente potencial de este resultado.

Desde un punto de vista técnico, implementar este cambio (es decir, agregar este botón) puede llevar un poco de tiempo. Es posible que tengamos que diseñar un componente que coincida estilísticamente con nuestro sitio web, es posible que tengamos que incorporarlo en una plantilla para que aparezca en varias páginas, tenemos que explorar cómo funcionan las API de las plataformas de redes sociales externas, es posible que tengamos que requerir inicio de sesión primero o creación de cuentas, lo que requeriría interactuar con una base de datos. La IA generativa puede acelerar todas estas tareas.

Podemos usar la IA generativa para escribir el código (relativamente sencillo) para hacer que esto suceda. A continuación, le he pedido a ChatGPT que escriba un componente sencillo de Next.js que implemente estos botones para compartir en redes sociales:

El trabajo humano principal que se necesitaría hacer es la revisión. Tenga en cuenta que el modelo incluso proporciona una explicación del código, lo que haría que el tiempo de revisión fuera aún más rápido. Podemos ir más allá y pedirle al modelo que agregue estilos a nuestro componente usando algunas herramientas específicas en nuestra pila:

Aquí está el resultado:

`import { useRouter } from 'next/router'; import { makeStyles } from '@material-ui/core/styles'; import Button from '@material-ui/core/Button';
const useStyles = makeStyles((theme) => ({ button: { margin: theme.spacing(1), boxShadow: 'none', '&:hover': { boxShadow: theme.shadows[4], }, },}));
const ShareButtons = () => { const router = useRouter(); const pageUrl = 
https://yoursite.com${router.asPath}
; const classes = useStyles();
const shareOnTwitter = () => { window.open(https://twitter.com/intent/tweet?url=${pageUrl}); };
const shareOnFacebook = () => { window.open(https://www.facebook.com/sharer/sharer.php?u=${pageUrl}); };
const shareOnLinkedIn = () => { window.open(https://www.linkedin.com/sharing/share-offsite/?url=${pageUrl}); };
return ( <div> <Button variant="contained" color="primary" className={classes.button} onClick={shareOnTwitter}> Compartir en Twitter\ </Button> <Button variant="contained" color="primary" className={classes.button} onClick={shareOnFacebook}> Compartir en Facebook </Button> <Button variant="contained" color="primary" className={classes.button} onClick={shareOnLinkedIn}> Compartir en LinkedIn </Button> </div> ); };
export default ShareButtons;`

Con un buen conocimiento de dominio y buenos principios de ingeniería de indicaciones, un humano puede usar la IA generativa para acortar significativamente el tiempo necesario para implementar una característica como esta.

Por supuesto, este es un ejemplo simple para comunicar la idea esencial descrita anteriormente. La tarea real no es muy complicada, pero ese es el punto. Mucho del trabajo que conduce a valiosos resultados comerciales no es increíblemente complicado, y la IA generativa se puede usar para acelerar enormemente la implementación de estos cambios cuando es manejada por un usuario competente.

La conclusión es que la IA generativa hace que sea rápido y fácil implementar ideas.

IA generativa moderna

La IA generativa no es una tecnología nueva, pero la explosión reciente en rendimiento e interés se puede atribuir a los avances realizados en los últimos 5 años más o menos.

En el espacio de imágenes (modelos como DALL-E 2, Imagen, Stable Diffusion, etc.), los avances han dependido principalmente del desarrollo de Modelos de difusión.

En el espacio del lenguaje (modelos como ChatGPT, GPT-4, etc.), los avances se han realizado principalmente mediante la escalabilidad de la arquitectura Transformer.

Todas estas ramas se basan generalmente en su propio conjunto de investigaciones. Para el resto de nuestra serie Todo lo que necesita saber sobre la IA generativa, veremos cada dominio a su vez, analizando un tema por artículo. Asumiremos que no hay conocimientos previos más allá de esta introducción para ayudar a los lectores de todos los niveles de experiencia con IA a comprender mejor los modelos que se están integrando en nuestras vidas. Cada artículo será autocontenido, para que pueda elegir los temas que le interesen.