🏭 La fábrica de palabras: dentro de la mente de ChatGPT

Llevando a palabras simples el complejo funcionamiento de la herramienta más usada del 2023

Esta semana

🧠 Una idea descifr[ada]: Dentro de la mente de ChatGPT

🧰 Dos herramientas de IA que pueden mejorar tu productividad: aprende más rápido con mini-cursos generados por IA y transcribe tus reuniones automáticamente.

📰 Tres noticias relevantes de IA de la semana pasada: nueva funcionalidad de Photoshop y dos avances en la medicina impulsados por IA.

🧠 Una idea descifr[ada]: Dentro de la mente de ChatGPT

Hace tres meses (que parecen años) escribí la primera edición de Descrifr[ando].

Sí. Lo recibió solo 1 persona que ni lo abrió 🙃

En esa edición escribí sobre “Cómo funciona ChatGPT”. Y hoy quiero hacer la versión 2.0 de ese post. No solo porque nadie lo leyó (🥲), sino que porque hoy tengo una comprensión más profunda (creo) sobre como funciona.

Aquí vamos.

ChatGPT es excelente prediciendo la siguiente palabra de una oración.

Lo único que hace ChatGPT (y lo hace muy bien) es intentar adivinar la siguiente palabra que viene en un texto.

Ya sé lo que estás pensando. “Pero si ChatGPT no devuelve solo una palabra, sino que textos completos enteros”. Exacto, y lo que hace para lograr eso es tomar la nueva palabra que adivinó, ponerla al final de la oración que tú le diste y volver a intentar predecir la siguiente palabra de esta nueva frase.

Y hace esto hasta que la siguiente palabra no es una palabra, sino que un comando que le dice “deja de escribir”.

Usando el comando “End of text”, ChatGPT le dice a sí mismo que no es necesario seguir.

Después de este proceso repetitivo te devuelve una frase completa que tiene sentido gramático y semántico.

Durante todo este proceso la caja “azul” de ChatGPT no ha cambiado. Es el mismo modelo intentando predecir la siguiente palabra a partir de un grupo de palabras.

Pero, ¿cómo sabe cuál es la siguiente palabra?

ChatGPT tiene a su disposición un montón de texto. ¿Cuánto? Algo así como 300.000.000.000 palabras que provienen de distintas fuentes:

  • Páginas de internet

  • Libros

  • Papers de investigación

  • Repositorios de código abierto

  • Foros de preguntas y respuestas

Por lo tanto, cuando ChatGPT quiere predecir la siguiente palabra, toma las palabras más relevantes del prompt (por ejemplo, las últimas 3 palabras del texto que ingresamos) y las busca en su “biblioteca”.

Cuando las encuentra, entonces nos devuelve la siguiente palabra:

ChatGPT toma las palabras “más relevantes” (en este caso, las últimas 3) y busca en su “biblioteca” alguna aparición de estas. Luego, devuelve la siguiente palabra.

¿Es así de simple?

En verdad todavía faltan algunas ideas importantes.

La primera es que ChatGPT no busca la primera “ocurrencia” de “vale pájaro más” y nos devuelve la siguiente palabra. Probablemente, en su biblioteca gigante de palabras, encuentre más de una vez a esa combinación (quizás miles de veces). Además, puede que encuentre también otras combinaciones parecidas pero no iguales.

Imaginemos que cada vez que ChatGPT encuentra alguna de esas combinaciones, les asigna un “voto” a la palabra que le sigue. Si esa palabra aparece más de una vez en su “biblioteca”, entonces recibe más votos, ya que es un “mejor candidato” a ser la palabra que debería devolver.

Mientras más veces aparezca una palabra en la biblioteca, más “votos” se le asigna como la posible candidata (que es una forma simple de decir que se le asigna una mayor probabilidad de ser elegida).

La palabra “mano” va a aparecer muchas veces en la “biblioteca”, por lo que recibe más votos. Algunas palabras como “aquel” no aparece textualmente después de “vale pájaro en”, sino que sigue a la frase “vale pájaro como”, que es similar, pero no exactamente igual, por lo que recibe “menos votos”.

Esta es una forma de entregarle votos a palabras que “podrían” ser una buena predicción, aun cuando no aparezcan textual en la biblioteca.

Finalmente, ChatGPT “gira la ruleta” para ver cuál palabra finalmente nos muestra.

Lo más probable es que salga “mano”, pero el resto igual tiene alguna probabilidad de salir, por muy mínima que sea. Esto le da algo de variabilidad y “creatividad” a las respuestas de ChatGPT

¿Y cómo sabe ChatGPT el “tema” sobre el que le estoy preguntando?

Buena pregunta. Efectivamente, todo lo que hemos aprendido hasta ahora nos permite generar texto muy creíble y que es gramáticamente correcto, es decir, suena bien al leerlo.

Pero no necesariamente es semánticamente correcto. No necesariamente tiene sentido en el contexto de la conversación. Puede que le pidamos a ChatGPT “Dame las instrucciones para cambiar la rueda de un auto en estilo de un rap. El primer paso es…” y ChatGPT busque “primer paso es” y la palabra más “votada” no tenga nada que ver con autos o con rimas.

Para comprender cómo ChatGPT entiende el contexto, imaginemos que tiene un libro de reglas escritas que le dice cómo comportarse dependiendo del prompt que le demos.

En este caso una de las reglas diría algo como: si el prompt incluye las palabras “instrucciones”, “cambiar” y “rueda de auto”, entonces cuando encuentres esas palabras juntas en un contexto, dale más votos a la palabra que viene justo después de “primer paso es”.

Si ese libro tiene suficientes reglas escritas, entonces ChatGPT podría:

  1. Leer el prompt (lo que le pedimos)

  2. Encontrar las palabras más relevantes

  3. Ir a su biblioteca a buscar

  4. Revisar su libro de reglas para ver cómo tiene que distribuir los votos

  5. Girar la ruleta

  6. Darnos la siguiente palabra

Pero ya sé lo que estás pensando. Es imposible escribir a mano todas las posibles reglas, con las casi infinitas combinaciones de palabras y contextos que existen. Pero por muy mágico que parezca, ChatGPT si tiene algo así como un “libro de reglas” que le dice cómo darle sentido semántico a sus respuestas. Un libro con 175.000.000.000 “reglas” para ser exacto. 🤓

¿En serio? ¿Y quién escribe las reglas?

En gran parte las escribe ChatGPT mismo.

Lo que hace es comenzar con un libro de reglas aleatorias sin mucho sentido. Luego toma un extracto de texto de su biblioteca e intenta predecir la siguiente palabra con este libro de reglas. Probablemente, sea una muy mala predicción.

La primera versión del “libro de reglas” no es muy “inteligente”. Genera respuestas gramáticamente correctas, pero sin entender el contexto.

Lo relevante, es que ChatGPT sabe cuál es la palabra real que viene después, ya que está escrita en su biblioteca. Por lo que puede tomarla como ejemplo para contrastarla con la respuesta inicial, y reescribir el “libro de reglas”, intencionando una mejor respuesta.

Este proceso lo hace billones de veces y con billones de extractos de su biblioteca, hasta que su “libro de reglas” se transforma en un apoyo útil. 💡

¿Y no hay ningún humano metido en todo el proceso?

¡Sí! Después de que se entrena al modelo durante meses, sale una versión “bruta” que funciona muy bien, pero a veces responde cosas indebidas, incoherentes o derechamente peligrosas.

Este es GPT-3, la versión “bruta” de ChatGPT. Puedes jugar con él aquí.

Para “alinearlo” a que dé respuestas más “en línea con los intereses y valores humanos”, el modelo entra en un proceso que se llama Aprendizaje Reforzado con Retroalimentación Humana (RLHF por sus siglas en inglés).

Aquí los evaluadores humanos cumplen dos tareas:

  1. Generan respuesta “correctas” a mano para alimentar el modelo.

  2. Evalúan respuestas del modelo ordenándolas de mejor a peor.

En este proceso, los evaluadores se aseguran de que el modelo no dé respuestas a preguntas indebidas (como la de arriba) y además mejoran la calidad de todas las respuestas, guiándolas a algo que un humano le gustaría.

GPT-3.5, la versión “alineada por humanos”. De hecho, mi pregunta fue catalogada como contenido que viola la “política de contenido” y me salió un mensaje de alerta.

El resultado de toda esta maravilla de la ingeniería, los datos y la matemática, es un sistema que puede producir texto muy similar a lo que escribiría un humano.

Aquí se puede ver cómo ChatGPT va escribiendo “palabra” por “palabra”. Además, nos muestra visualmente la probabilidad que tenía cada “palabra” de salir. Desde las que recibieron “más votos” (verde) a las que tenían menos, pero igual la ruleta las benefició (rojo).

PD1: lo que acabas de leer es el capítulo “La fábrica de palabras: dentro de la mente de ChatGPT” de una guía sobre ChatGPT y IA que planeo lanzar durante los próximos días. Respóndeme con un “¡Me interesa!”, para tenerte en cuenta cuando lo envíe (y para meterme presión social, así la terminó este siglo).

PD2 (técnico y aburrido): hay un montón de tecnicismos que me salté durante la explicación para simplificarla. Por ejemplo, cuando hablamos de que ChatGPT entiende cuáles son “las palabras más relevantes” de un prompt, en realidad no son las “tres últimas palabras”, sino que aquí entra en juego una técnica llamada auto-atención (self-attention) que forma parte de una arquitectura de red neuronal desarrollada por investigadores de Google el 2017. La auto-atención permite a ChatGPT aprender a ponderar y relacionar las palabras en un prompt para capturar mejor las dependencias y las relaciones contextuales entre ellas. En palabras simples, es lo que le permite entender “el contexto” de lo que le estamos pidiendo.

PD3 (técnico y aburrido): hay otros términos que utilizo en el post que le darían un infarto a algún investigador de Machine Learning. Cuando hablo de que ChatGPT tiene un libro con 175.000.000.000 reglas escritas, obviamente no me refiero a ellas en sentido literal. Lo real es que ChatGPT tiene esa cantidad de parámetros en su arquitectura, que son, en términos simples, números que almacenan los pesos y sesgos de la red neuronal. La combinación de estos números es lo que le permite a la red neuronal determinar que neuronas se disparan con qué estímulos. O, en otras palabras, es lo que le permite a la red neuronal “pensar”. Y así con muchas otras cosas interesantes (pero muy técnicas) pero que no valía la pena mencionar.

🧰 Dos herramientas de IA que pueden mejorar tu productividad

  1. “Transforma ese pódcast de 2 horas en un entretenido mini-curso”. Esa es la promesa de Courseau. Le pasé este video de YouTube y me generó un curso bien ordenado y dinámico sobre el sistema inmune y el cáncer. Por ahora funciona solo en inglés, pero no me sorprendería que saquen soporte en español en unos días.

  2. Invita a tl;dv a tus reuniones de Meets o Zoom y disfruta de transcripciones completas, notas automatizadas y clips que puedes compartir con los momentos más importantes de la reunión. Hay varias herramientas parecidas, pero esta tiene un plan FREE bien generoso y funciona perfecto.

📰 Las tres noticias más importantes sobre IA de la semana pasada

  1. Adobe lanzó una funcionalidad para Photoshop que ha generado un montón de ruido en internet. Se llama Generative Fill y te permite modificar secciones de fotos con fondos creados por IA. No te quedes con mi pésima explicación y mejor mira este video.

  2. La IA no solo sirve para redactar correos o generar imágenes. También está siendo usada en la medicina y la salud con resultados sorprendentes. Esta semana le permitió a una persona volver a caminar, al actuar como traductor entre las señales de su cerebro y las de su columna vertebral.

  3. También está ayudando a solucionar uno de los problemas más grandes pero silenciosos de la bioquímica: la resistencia a los antibióticos de algunas bacterias. Un grupo de científicos aprovechó la habilidad superior de la IA de encontrar patrones y generar millones de ciclos de experimentos por segundo, para descubrir un nuevo tipo de antibiótico que puede matar “super bacterias”.

🦾 ¡Eso es todo por ahora!

Al suscribirte a este boletín, prometí ser tu fuente de información y ayudarte a entender el mundo de la IA. ¿Qué te pareció el newsletter de hoy? Responde este correo y dime qué te gustaría ver más.

Si crees que esta información podría serle útil a alguien conocido, reenvíale este correo.

Si eres alguien que recibió este correo porque alguien te lo reenvío, y te gustaría seguir recibiéndolo, deja tu correo aquí.

¡Gracias por leer!

Nos vemos la próxima semana