Inteligencia artificial

¿Cómo funciona un LLM como ChatGPT? Explicado en 3D

Siga una frase real a través de un modelo de lenguaje real: división en tokens, vectores, atención, red neuronal, 24 capas y elección de la palabra siguiente. Cada casilla de color es un número realmente calculado por el modelo.

494 M
parámetros en el modelo mostrado
24
capas que atraviesa cada palabra
896
números para describir un token
96,4 %
de certeza para «Nak(amoto)»
Visualización interactiva

Una frase atraviesa el modelo

Elija una frase y avance capítulo a capítulo. Pase el cursor sobre un bloque para leer sus valores; arrastre para girar, use la rueda o pellizque para hacer zoom.

Cargando el modelo…

Frase:

Arrastre para girar · rueda o pellizque para hacer zoom · flechas ← → del teclado para cambiar de capítulo

¿Qué es un LLM? Una máquina de adivinar la palabra siguiente

ChatGPT, Gemini, Mistral o Llama son LLM, Large Language Models (grandes modelos de lenguaje). Detrás de sus respuestas de varias páginas, el mecanismo es de una sencillez desconcertante: el modelo lee un texto y calcula, para cada palabra posible, la probabilidad de que sea la siguiente. Elige una, la añade al texto y vuelve a empezar. Todo lo demás (la gramática, los hechos, el razonamiento) surge de esta única tarea, repetida miles de millones de veces durante el entrenamiento.

La visualización de la parte superior de esta página no muestra un esquema teórico, sino un modelo real: Qwen2.5-0.5B, un modelo abierto publicado por Alibaba, de 494 millones de parámetros, mientras lee la frase « Le bitcoin a été créé par Satoshi » («El bitcoin fue creado por Satoshi»). Cada casilla de color de la vista 3D es un valor calculado realmente por el modelo: en verde los números positivos, en naranja los negativos, en cian y violeta los pesos aprendidos. Pase el cursor sobre un bloque para leer el valor exacto.

Paso 1: dividir la frase en tokens

Un modelo no lee ni letras ni palabras, sino tokens: fragmentos de texto extraídos de un diccionario fijo de unas 150.000 entradas. Las palabras frecuentes tienen su propio token; las palabras poco habituales se dividen en fragmentos. Nuestra frase da 7 tokens, entre ellos « ·bitcoin » y « ·Satoshi » (el punto representa el espacio que precede a la palabra). En cambio, « Eiffel » se convierte en « ·E », « iff » y « el », y el modelo escribirá « Nakamoto » en dos veces: « ·Nak » y después « amoto ».

Cada token se sustituye por su número en el diccionario: « ·bitcoin » es el token n.º 17.873. A partir de ahí, el modelo solo maneja números.

Paso 2: los embeddings, palabras convertidas en vectores

El número sirve de dirección en una gran tabla de 151.936 filas por 896 columnas, la tabla de embeddings. Cada token recupera en ella su fila: una lista de 896 números que resume lo que el modelo ha aprendido de él. Los tokens de significado parecido tienen vectores parecidos. Estos 136 millones de números no se escriben a mano: se han ajustado durante el entrenamiento, como todos los demás pesos.

h^{(0)}_i=E\big[\mathrm{id}_i\big]\in\mathbb{R}^{896},\qquad E\in\mathbb{R}^{151\,936\times 896}

Así, nuestra frase se convierte en un bloque de 7 filas por 896 columnas. Es este bloque el que va a atravesar todo el modelo, enriqueciéndose en cada capa: lo llamamos flujo residual, la columna luminosa de la vista 3D.

Paso 3: la atención, o cómo se miran las palabras

Para entender « créé par Satoshi », cada token debe poder ir a buscar información en los demás. Esa es la función de la atención, el mecanismo central del transformer, la arquitectura de casi todos los LLM desde 2017. Cada vector se normaliza primero y después se multiplica por tres matrices de pesos para producir tres nuevos vectores:

  • una consulta (Q): lo que busca el token;
  • una clave (K): lo que ofrece a los demás;
  • un valor (V): la información que transmitirá si es elegido.

Cada token compara su consulta con las claves de todos los tokens anteriores. Cuanto mayor es el producto, más «mira» a ese token, y recupera una mezcla de los valores ponderada por esas puntuaciones. Nunca puede mirar los tokens siguientes, lo que da a las tablas de atención su forma de triángulo. La posición de cada palabra se inyecta haciendo girar los vectores un ángulo que depende de su posición (la técnica RoPE).

\operatorname{Attention}(Q,K,V)=\operatorname{softmax}\!\Big(\frac{QK^{\top}}{\sqrt{64}}+M\Big)\,V,\qquad M_{ij}=\begin{cases}0&\text{si } j\le i\\-\infty&\text{si } j>i\end{cases}

El modelo realiza este cálculo 14 veces en paralelo, con 14 cabezas que aprenden, cada una, a detectar algo distinto. En nuestro ejemplo, en la 3.a capa, la cabeza n.º 1 dirige el 87 % de la atención de « ·Satoshi » hacia « ·par ». También se observa un fenómeno bien conocido por los investigadores: de media, el 59 % de la atención del último token se dirige al primerísimo, « Le », que sirve de punto de reposo cuando no hay nada útil que leer.

Paso 4: el MLP, la memoria del modelo

Tras la atención, cada token pasa por separado por una red MLP: su vector de 896 números se proyecta a 4.864 dimensiones, se filtra mediante una función de activación (SwiGLU) y se reduce de nuevo a 896. Estas matrices contienen casi dos tercios de los parámetros del modelo. Los trabajos de interpretabilidad sugieren que es en buena parte ahí donde se almacenan las asociaciones aprendidas, como de « Satoshi » a « Nakamoto ».

\operatorname{MLP}(x)=\Big(\operatorname{SiLU}\big(xW_{\text{gate}}\big)\odot xW_{\text{up}}\Big)\,W_{\text{down}},\qquad\operatorname{SiLU}(u)=\frac{u}{1+e^{-u}}

Ni el resultado de la atención ni el del MLP sobrescriben nunca el vector: se le suman. Cada capa escribe su contribución en el flujo residual, que acumula la información de abajo arriba.

Paso 5: 24 capas, y una respuesta que solo llega al final

La atención seguida del MLP forman un bloque. Qwen2.5-0.5B apila 24 bloques de forma idéntica, cada uno con sus propios pesos. Los modelos muy grandes apilan 80 o más, con vectores de más de 8.000 números.

Algoritmo 1 · La pasada hacia delante de un LLM

\begin{array}{rll} \textbf{Entrada:}&\text{una frase } x&\\ 1:&\text{ids}\leftarrow\operatorname{tokenizar}(x)&\triangleright\ n\ \text{tokens}\\ 2:&h\leftarrow E[\text{ids}]&\triangleright\ n\times 896\\ 3:&\textbf{para }\ell=1\textbf{ hasta }24:&\\ 4:&\quad h\leftarrow h+\operatorname{Attn}_\ell\big(\operatorname{RMSNorm}(h)\big)&\triangleright\ \text{atención}\\ 5:&\quad h\leftarrow h+\operatorname{MLP}_\ell\big(\operatorname{RMSNorm}(h)\big)&\triangleright\ \text{red neuronal}\\ 6:&z\leftarrow\operatorname{RMSNorm}(h_n)\,E^{\top}&\triangleright\ 151\,936\ \text{puntuaciones}\\ 7:&p\leftarrow\operatorname{softmax}(z/T)&\triangleright\ \text{probabilidades}\\ \textbf{Salida:}&p&\triangleright\ p(\text{« Nak »})=96{,}4\,\% \end{array}

Podemos espiar al modelo durante el proceso: a la salida de cada capa, traducimos el vector del último token a una palabra, como si el modelo tuviera que responder de inmediato. Es la logit lens, que se muestra a la derecha de cada capa en la vista 3D. El resultado es sorprendente: durante 22 capas, las propuestas no tienen ningún sentido (fragmentos de código, caracteres chinos) y, de repente, surge la respuesta. « ·Nak » no aparece hasta la 24.a y última capa; para « La tour Eiffel se trouve à » («La torre Eiffel se encuentra en»), « ·Paris » aparece en la 23.a.

Paso 6: elegir la palabra siguiente, y la temperatura

El vector final se compara con cada una de las 151.936 filas de la tabla de embeddings, la misma que al principio: una por cada token del diccionario. Cada token obtiene una puntuación, que se transforma en probabilidad. Aquí, « ·Nak » gana con un 96,4 %, muy por delante de « ·nak » (0,43 %). Con la torre Eiffel, el modelo duda más: « ·Paris » con un 34,4 %, por delante de « ·la » con un 13,5 %.

p_v=\frac{e^{z_v/T}}{\displaystyle\sum_{u=1}^{151\,936}e^{z_u/T}}\qquad\text{(}T\text{: la temperatura)}

Un chatbot no siempre se queda con la primera opción: elige al azar según esas probabilidades. La temperatura regula ese azar. Baja, hace que el modelo sea predecible y repetitivo; alta, aplana las probabilidades y lo vuelve más creativo, hasta llegar a la incoherencia. El control deslizante de la vista 3D recalcula las barras en directo.

Paso 7: generar, un token tras otro

El token elegido se añade a la frase y todo vuelve a empezar: división en tokens, embeddings, 24 capas, probabilidades. Después de « ·Nak », el modelo está seguro al 99,5 % de que sigue « amoto », y después escribe « en 2008 ». Una respuesta de ChatGPT de 500 palabras supone unas 700 pasadas completas por el modelo. Para no recalcularlo todo cada vez, las claves y los valores ya calculados se guardan en memoria (la KV cache).

Algoritmo 2 · La generación, token a token

\begin{array}{rll} \textbf{Entrada:}&\text{el inicio de un texto } x_1,\dots,x_t&\\ 1:&\textbf{repetir}&\\ 2:&\quad p\leftarrow\operatorname{LLM}(x_1,\dots,x_t)&\triangleright\ \text{algoritmo 1}\\ 3:&\quad x_{t+1}\sim p&\triangleright\ \text{muestreo, o }\arg\max p\\ 4:&\quad t\leftarrow t+1&\\ 5:&\textbf{hasta que }x_t=\langle\text{fin}\rangle\ \text{o longitud máxima}&\\ \textbf{Salida:}&x_1,\dots,x_t& \end{array}

¿Y el entrenamiento?

Nadie ha programado los 494 millones de pesos. Al principio, son números aleatorios. Se muestran al modelo cantidades inmensas de texto (hasta 18 billones de tokens en la familia Qwen2.5), se le pide en cada posición que adivine el token siguiente y se corrige ligeramente cada peso en la dirección que habría reducido el error. Repetida billones de veces, esta corrección basta para que surjan el lenguaje y buena parte de los conocimientos. Un asistente como ChatGPT añade después una segunda fase de entrenamiento con conversaciones, para aprender a seguir instrucciones.

Por qué la IA necesita GPU

Cada token generado requiere unas dos operaciones por parámetro: mil millones de operaciones para nuestro pequeño modelo, 140 mil millones para un modelo de 70 mil millones de parámetros. Y, sobre todo, todos los pesos deben volver a leerse de la memoria en cada token. Es el ancho de banda de la memoria, más que la potencia de cálculo, lo que limita la velocidad de un LLM.

\text{operaciones por token}\approx 2N,\qquad t_{\text{token}}\gtrsim\frac{\text{tamaño de los pesos}}{\text{ancho de banda}}=\frac{70\ \text{GB}}{4{,}8\ \text{TB/s}}\approx 15\ \text{ms}

Precisamente por eso las GPU para IA incorporan memoria HBM: el NVIDIA H200 ofrece 141 GB a 4,8 TB/s, lo que permite alojar un modelo de 70 mil millones de parámetros en FP8 en una sola tarjeta. GPT-3 (175 mil millones de parámetros) ocupa 350 GB en BF16 y requiere al menos tres H200 solo para sus pesos. Y también por eso un chip de minería no puede ejecutar una IA: un ASIC está cableado para un único cálculo, mientras que un LLM encadena multiplicaciones de matrices cuyos pesos cambian en cada capa. Lo explicamos en detalle en ASIC o GPU: ¿qué diferencia hay?

Ejecutar un modelo en local, en sus propios servidores, mantiene los datos dentro de la empresa. Diseñamos estas máquinas, desde la estación de trabajo hasta el servidor de 8 GPU: consulte nuestros servidores GPU para IA y nuestro asistente de IA privado.

Los modelos que hay detrás de ChatGPT son mucho más grandes y sus detalles no son públicos, pero pertenecen a la misma familia que el de esta página, el transformer decodificador, descrita públicamente hasta GPT-3. ¿Tiene alguna pregunta sobre la IA o sobre el hardware que la hace funcionar? Llámenos al +33 6 32 49 26 41.

Preguntas frecuentes

LLM, tokens y GPU: sus preguntas

¿Qué es un LLM?

Un LLM (Large Language Model, gran modelo de lenguaje) es una red neuronal entrenada con inmensas cantidades de texto para una única tarea: predecir el token siguiente. ChatGPT, Gemini, Mistral, Llama o Qwen se basan en LLM. Responder, traducir, resumir o escribir código se deriva de esta predicción, repetida token a token.

¿Qué es un token?

Un fragmento de texto: una palabra común, una parte de una palabra poco frecuente, un signo de puntuación. El modelo solo maneja estos fragmentos, cada uno identificado por un número en un diccionario de más de 100.000 entradas. En francés, se cuenta a menudo algo más de un token por palabra, y es en tokens como se miden la longitud de los textos que un modelo puede leer y el precio de los servicios de IA.

¿Cómo elige ChatGPT la palabra siguiente?

En cada paso, el modelo calcula una probabilidad para cada uno de los tokens de su diccionario, a partir de todo lo anterior. Escoge uno al azar según una regla ajustada por la temperatura: si es baja, toma casi siempre el más probable; si es más alta, se permite elecciones menos previsibles. Después vuelve a empezar con el texto alargado en un token.

¿Entiende un LLM lo que escribe?

Construye, capa tras capa, representaciones que capturan la gramática, los hechos y parte del razonamiento presentes en sus datos de entrenamiento. Si eso merece la palabra «comprender» es objeto de debate. Lo que es seguro: calcula probabilidades, sin verificar los hechos, y por tanto puede afirmar con seguridad algo falso (una «alucinación»).

¿Por qué hacen falta GPU para ejecutar una IA?

Porque todo el cálculo está hecho de multiplicaciones de matrices, que las GPU ejecutan en paralelo en miles de núcleos, y porque cada token obliga a volver a leer todos los pesos del modelo: se necesita mucha memoria muy rápida. Una NVIDIA H200 ofrece 141 GB a 4,8 TB/s, suficiente para alojar un modelo de 70 mil millones de parámetros en FP8.

¿Se puede ejecutar un LLM en casa o en la propia empresa?

Sí. Los modelos abiertos pequeños, como el de esta página, funcionan en un ordenador normal. Los modelos de 30 a 70 mil millones de parámetros requieren una o varias tarjetas GPU con mucha memoria. Diseñamos e instalamos asistentes de IA privados y servidores de IA: sus datos se quedan en sus instalaciones.

¿Qué modelo se muestra en esta página?

Qwen2.5-0.5B, un modelo de 494 millones de parámetros publicado en acceso abierto por Alibaba. Los pesos de GPT y de ChatGPT no son públicos; por eso hemos elegido un modelo de la misma familia (Transformer decodificador), lo bastante pequeño como para poder mostrar cada uno de sus cálculos. Todos los números mostrados son los de este modelo con la frase elegida.

¿Cuál es la diferencia entre GPT y ChatGPT?

GPT designa la familia de modelos de OpenAI (Generative Pre-trained Transformer): LLM como el de esta página, pero mucho más grandes. ChatGPT es el asistente construido sobre ellos, entrenado además para seguir instrucciones y dialogar. El núcleo del cálculo, la predicción del token siguiente, es el mismo.

¿Ejecutar la IA en sus instalaciones?

Diseñamos e instalamos servidores de IA privados, desde la estación de trabajo hasta el servidor de 8 GPU, para que sus datos no salgan de sus instalaciones.