← La biblioteca de Green Zone

Una historia sobre IA · 02

¿Cómo piensa una máquina?

Sigue una pregunta por la máquina: desde los tokens y la atención hasta la primera palabra de la respuesta.

Publicado por AI Model Green Zone

Los términos subrayados abren el glosario. Pasa el cursor o usa el teclado para una explicación breve.

Hay un momento peculiar que le ocurre a casi todo el mundo que pasa suficiente tiempo con un buen modelo de IA.

Al principio eres perfectamente consciente de que estás usando un programa.

Escribes en una casilla. Un ordenador hace cálculos. Aparecen palabras.

Después, quizá veinte minutos más tarde, preguntas algo complicado. La máquina detecta un detalle que mencionaste hace diez minutos, lo relaciona con otra cosa, encuentra una contradicción en tu razonamiento y produce una respuesta que no solo es gramaticalmente correcta, sino que parece pertinente.

Y en algún momento llega la pregunta evidente:

¿Qué ocurrió exactamente dentro de la máquina entre mi pregunta y esa respuesta?

No filosóficamente.

Mecánicamente.

¿Qué hizo realmente el ordenador?

Sigamos una pregunta a lo largo de todo su recorrido por la máquina.

Supongamos que escribes:

Mi perro ha robado un pollo entero de la mesa de la cocina. ¿Debería llamar al veterinario?

Para ti, la frase ya viene envuelta en significado.

Hay un perro.

Había un pollo.

Al parecer, el pollo ha cambiado de propietario sin autorización.

Puede que haya huesos de por medio.

Estás preocupado.

El perro, sospechamos, no se arrepiente de nada.

Un gran modelo de lenguaje (Large Language Model, LLM) no recibe nada de esto como una imagen o una experiencia. No imagina un labrador junto a un plato vacío. Nunca ha olido un pollo asado. Nunca ha llevado a un animal a urgencias veterinarias a las once de la noche.

Recibe símbolos.

Y lo primero que debe hacer es convertir esos símbolos en números.


Paso uno: tokenización — dividir el lenguaje en piezas manejables para la máquina

El modelo no puede procesar directamente tu frase como lenguaje corriente.

Antes de que la red neuronal la vea, un programa llamado tokenizador divide la frase en unidades más pequeñas llamadas tokens.

Un token puede ser una palabra completa.

Puede ser parte de una palabra.

Puede ser un signo de puntuación.

Puede ser un número, un espacio o parte de un nombre desconocido.

Así, la frase:

My dog stole a whole chicken.

podría convertirse, conceptualmente, en algo parecido a:

My | dog | stole | a | whole | chicken | .

Es un ejemplo simplificado; distintas familias de modelos utilizan distintos tokenizadores.

Después se asigna a cada token un identificador numérico llamado ID de token.

La palabra dog no viaja por el modelo como las letras D-O-G.

Podría entrar como algo parecido a:

ID de token 8.214

El número concreto no tiene significado para nosotros. Es simplemente una dirección en el vocabulario del modelo.

En este punto, la máquina ha convertido tu frase en una secuencia de números enteros.

Eso solo parece un avance si interpretamos la palabra con mucha generosidad.

Porque el número 8.214 no explica qué es un perro.

Para eso necesitamos otra transformación.


De los ID de token a los embeddings

El modelo convierte cada ID de token en un embedding.

Un embedding es una lista de números que representa el token en un espacio matemático.

Otra palabra útil aquí es vector.

En este contexto, un vector es simplemente una colección ordenada de números.

En lugar de representar dog con un único entero sin significado, el modelo puede representarlo mediante cientos o miles de valores numéricos.

Muy aproximadamente:

dog → [0.17, −0.42, 0.08, 1.31, …]

Ese vector puede contener miles de números.

No intentes asignar significados humanos a posiciones individuales.

El primer número no significa «tiene pelo».

El segundo no significa «de vez en cuando destruye muebles».

El significado surge del patrón completo.

Puedes imaginar los embeddings como coordenadas en un mapa enorme.

Pero no es un mapa normal con norte, sur, este y oeste.

Puede tener varios miles de dimensiones matemáticas.

Eso lo hace pésimo para viajar por carretera, pero muy útil para el aprendizaje automático.

En ese extraño mapa matemático, los conceptos relacionados tienden a desarrollar representaciones relacionadas.

Perro puede estar más cerca de cachorro que de hipoteca.

Veterinario puede tener relaciones con animal, medicina, clínica y tratamiento.

Pollo puede conectar con comida, ave, huesos, cocina y miles de contextos más.

Nadie introdujo manualmente todas esas relaciones en el modelo.

Surgieron porque el entrenamiento ajustó repetidamente los pesos del modelo hasta que aparecieron relaciones útiles.

Pero no hemos terminado.

Hay otro problema.

La palabra inglesa bank puede significar una entidad financiera.

O la orilla de un río.

El embedding de la palabra por sí solo no puede decirnos cuál de los dos sentidos quieres usar.

El significado depende del contexto.

Y con el contexto es donde el Transformer empieza a ganarse el sueldo.


El bloque Transformer: donde empieza el procesamiento de verdad

Los grandes modelos de lenguaje modernos suelen estar construidos con muchas etapas de procesamiento repetidas llamadas bloques Transformer.

Puedes imaginar cada bloque como una planta de un edificio muy alto.

Las representaciones de tus tokens entran en la primera planta.

Se transforman.

Suben.

La siguiente planta recibe las representaciones modificadas y las transforma de nuevo.

Un modelo moderno puede contener decenas o incluso más de cien capas Transformer.

Cuando la información llega arriba, la representación de la frase es mucho más rica que al entrar.

Dentro de cada bloque Transformer hay varios mecanismos importantes.

El más famoso se llama:

autoatención (self-attention).

Y aquí necesitamos tres de los nombres más extraños de la IA moderna:

Query, Key y Value: consulta, clave y valor.

Normalmente abreviados como:

Q, K y V.


Query, Key, Value — nombres terribles, idea útil

La terminología procede en parte de los sistemas de recuperación de información y, por desgracia, nadie se paró a preguntar si algún día la gente corriente tendría que aprenderla.

Pero la idea es manejable.

Imagina un cóctel.

Todo el mundo lleva una tarjeta con información sobre sí mismo.

Una persona está buscando:

«A alguien que sepa de medicina veterinaria».

Eso se parece a una Query, una consulta.

La tarjeta de cada otra persona contiene información que describe lo que representa.

Eso se parece, hasta cierto punto, a una Key, una clave.

Cuando la consulta encaja bien con una clave concreta, prestamos más atención a la información que aporta esa persona.

Esa información es el Value, el valor.

En un Transformer, cada token crea sus propios vectores Query, Key y Value.

No metafóricamente: se calculan vectores numéricos reales mediante matrices de pesos aprendidas.

La palabra dog crea representaciones Q, K y V.

También lo hace chicken.

Y vet.

Y todos los demás tokens.

Después, el modelo compara las consultas con las claves para calcular:

¿A qué otros tokens debe prestar atención este token, y cuánta?


Puntuaciones de atención: decidir qué importa

Volvamos a nuestro desafortunado pollo.

El modelo llega a la frase:

¿Debería llamar al veterinario?

La representación asociada a veterinario puede desarrollar relaciones fuertes con tokens anteriores como:

perro
pollo
robó
entero

y relaciones más débiles con piezas menos importantes como:

el

Esa relación se representa matemáticamente mediante una puntuación de atención.

Técnicamente, el modelo calcula lo que se llama un producto escalar entre los vectores Query y Key.

Un producto escalar es simplemente una forma matemática de medir hasta qué punto se alinean dos vectores.

No necesitas conocer la aritmética detallada.

Conceptualmente:

Coincidencia fuerte → puntuación mayor
Coincidencia débil → puntuación menor

Después, las puntuaciones pasan por una operación matemática llamada softmax.

Softmax convierte un conjunto de puntuaciones brutas en pesos normalizados.

En lenguaje corriente:

Convierte «¿quién parece importante?» en «¿cuánta atención debo prestar realmente a cada uno?»

Quizá, solo a modo de ilustración:

perro → 35% de atención
pollo → 28%
veterinario → 21%
mesa → 6%
el → casi nada

La atención real es mucho más complicada y varias cabezas de atención funcionan simultáneamente, pero la intuición resulta útil.

El modelo combina entonces los vectores Value correspondientes según esos pesos de atención.

Así produce una nueva representación que contiene información reunida de partes relevantes del contexto.

El token ya no se representa solo a sí mismo.

Ahora lleva información sobre sus relaciones con otros tokens.


La ecuación que usan los ingenieros

Un ingeniero suele escribir la autoatención así:

Attention(Q, K, V) = softmax(QKᵀ / √d) V

A primera vista parece que alguien ha tirado una calculadora por las escaleras.

Pero ahora podemos traducirla.

Q = lo que busca este token.

K = lo que los otros tokens anuncian sobre sí mismos.

QKᵀ = comparar lo que se busca con lo que hay disponible.

√d = un ajuste de escala para que los números se comporten bien matemáticamente.

softmax = convertir las puntuaciones de comparación en pesos de atención.

V = recoger la información real de los tokens según esos pesos.

Esa ecuación intimidante viene a decir:

Mira alrededor, decide qué importa y combina la información relevante.

De pronto ya no da tanto miedo.


Atención multicabeza: mirar la misma frase de varias maneras

Un Transformer normalmente no realiza un único cálculo de atención.

Utiliza atención multicabeza (Multi-Head Attention).

Una cabeza de atención es un mecanismo de atención independiente.

¿Por qué tener varias?

Porque una misma frase contiene varios tipos de relaciones a la vez.

Por ejemplo:

El perro que robó el pollo ahora duerme tranquilamente porque no tiene conciencia.

Una cabeza de atención puede resultar útil para las relaciones gramaticales.

Otra puede centrarse en a qué sustantivo se refiere él.

Otra puede seguir el sujeto principal.

Otra puede captar relaciones semánticas a más distancia.

Debemos evitar imaginar que cada cabeza tiene una tarea claramente comprensible para los humanos, como:

Cabeza número 17 = Departamento de Robo de Pollos.

La especialización no tiene por qué ser tan nítida.

Pero varias cabezas permiten a la red examinar el mismo contexto mediante distintos patrones de relaciones aprendidos, de forma simultánea.

Por eso el modelo no se limita a leer palabras de izquierda a derecha.

Está construyendo una red de relaciones entre ellas.


El estado oculto: lo que el modelo «sabe» ahora sobre el token

Después de la atención, cada token tiene una representación interna más rica.

Esa representación suele llamarse estado oculto.

La palabra oculto solo significa que esos números existen dentro de la red neuronal y no son directamente visibles para el usuario.

Es una idea importante.

El modelo empieza con:

«perro»

como token.

Varias capas después, su estado oculto puede representar implícitamente algo más parecido a:

el perro del usuario, que acaba de comerse un pollo entero y es motivo de una posible preocupación médica

Dentro del modelo no hay una frase en español que diga eso.

El estado oculto sigue siendo un vector de números.

Pero matemáticamente contiene mucha más información contextual.

Y entonces entra en el siguiente bloque Transformer.

Otra vez atención.

Otra vez transformación.

Otro estado oculto.

De nuevo.

Y de nuevo.

Capa tras capa.


La red de propagación hacia delante: pensar en lo que encontró la atención

La atención recibe casi toda la publicidad, pero los bloques Transformer contienen otro componente importante: la red de propagación hacia delante (Feed-Forward Network, FFN).

Puedes pensar que la atención reúne información relevante.

La red de propagación hacia delante realiza después transformaciones adicionales sobre esa información.

Si la atención es la redacción de un periódico diciendo:

«Estos hechos están relacionados»,

la red de propagación hacia delante se parece más a:

«De acuerdo. ¿Qué conclusión sacamos de ellos?»

Técnicamente, esto implica grandes multiplicaciones de matrices.

Una matriz es básicamente una tabla rectangular de números.

Las redes neuronales modernas dedican una cantidad extraordinaria de tiempo a multiplicar matrices enormes.

Puede sonar poco emocionante.

También es la razón por la que las GPU son tan útiles.

Las unidades de procesamiento gráfico (Graphics Processing Units, GPUs) se diseñaron para realizar muchas operaciones matemáticas a la vez.

Resulta que dibujar millones de píxeles y procesar matrices de redes neuronales tienen requisitos de hardware sorprendentemente compatibles.

La humanidad pasó décadas construyendo tarjetas gráficas más rápidas para que las explosiones de los videojuegos fueran más realistas.

Después, los investigadores descubrieron que ese mismo hardware era extraordinariamente bueno para la inteligencia artificial.

La tecnología rara vez sigue la ruta que anunciaba el folleto original.


Funciones de activación: introducir la no linealidad

Dentro de la red de propagación hacia delante encontramos otro término:

función de activación.

Sin funciones de activación, apilar muchas capas de una red neuronal sería mucho menos potente.

Una función de activación introduce no linealidad.

La expresión merece una traducción.

Si toda la red solo realizara combinaciones lineales sencillas, muchas capas se reducirían matemáticamente a algo equivalente a una única gran transformación lineal.

Las funciones de activación no lineales permiten representar relaciones mucho más complicadas.

Los Transformer modernos suelen utilizar funciones como GELU, SiLU o variantes relacionadas.

No necesitas memorizar esos nombres para utilizar un LLM.

La idea importante es:

Las funciones de activación permiten doblar, filtrar y remodelar la información en lugar de limitarse a escalarla y sumarla.

Piensa en la diferencia entre una regla y una caja de Lego.

Las operaciones lineales te dan reglas excelentes.

La no linealidad te permite empezar a construir cosas.


Conexiones residuales: no tires lo que ya sabías

Los bloques Transformer también utilizan algo llamado conexión residual.

Es una idea maravillosamente sensata escondida detrás de otro término técnico.

En lugar de sustituir por completo la representación anterior por una nueva transformación, el modelo vuelve a añadir buena parte de la información original.

Conceptualmente:

nueva representación = representación anterior + información nueva

¿Por qué?

Imagina que estás editando un documento.

Normalmente no volverías a escribirlo entero de memoria cada vez que corriges un párrafo.

Conservas lo que ya funcionaba y añades la mejora.

Las conexiones residuales ayudan a que la información fluya por redes neuronales muy profundas sin destruirse o distorsionarse repetidamente.

Fueron una de las innovaciones importantes que hicieron viables las redes muy profundas.


Normalización de capa: mantener las matemáticas bajo control

También existe la normalización de capa (Layer Normalization).

Cuando los valores viajan por decenas de capas, sus escalas numéricas pueden volverse difíciles de gestionar.

La normalización de capa reajusta los valores internos a una escala más estable.

Piensa en un técnico de sonido que recibe pistas grabadas a volúmenes tremendamente distintos.

Un micrófono susurra.

Otro parece haber sido colocado dentro de un motor a reacción.

Antes de mezclar la música, el técnico necesita niveles razonables.

La normalización de capa realiza una tarea análoga de mantenimiento matemático.

No aporta inteligencia.

Pero sin un buen mantenimiento, entrenar la parte inteligente resulta mucho más difícil.

Parece que incluso la inteligencia artificial necesita a alguien que ordene la habitación.


Y esto ocurre capa tras capa

Hagamos una pausa.

Tu frase original:

Mi perro ha robado un pollo entero de la mesa de la cocina. ¿Debería llamar al veterinario?

ha pasado por:

Tokenización

→ conversión en ID de token

→ conversión en embeddings

→ transformación en vectores

→ entrada en un bloque Transformer

→ procesamiento mediante autoatención

→ comparación de consultas con claves

→ cálculo de pesos de atención con softmax

→ combinación de valores

→ transformación mediante una red de propagación hacia delante

→ paso por funciones de activación

→ conservación mediante conexiones residuales

→ estabilización mediante normalización de capa

→ conversión en estados ocultos más ricos

Y después todo el proceso se repite en otra capa Transformer.

Y otra.

Y otra.

Esto se parece mucho más a lo que ocurre físicamente cuando decimos despreocupadamente:

«El modelo está pensando».

Pero hay algo más que resulta fácil pasar por alto cuando describimos el proceso despacio en una página.

El ordenador hace todo esto a una velocidad extraordinaria.


En algún lugar acaba de despertarse un centro de datos

Si usas un servicio de IA en la nube, tu pregunta puede viajar por internet a un centro de datos lleno de bastidores de ordenadores.

Dentro de esos bastidores hay potentes unidades de procesamiento gráfico (Graphics Processing Units, GPUs) diseñadas para realizar enormes cantidades de operaciones matemáticas en paralelo.

Los pesos aprendidos del modelo ya están cargados en la memoria de esas máquinas.

No se crean cuando haces la pregunta.

Se crearon antes, durante el entrenamiento.

Puedes imaginar esos pesos como la estructura matemática permanente que el modelo adquirió durante su educación.

Tu pregunta no se escribe en ellos.

Tu pregunta pasa a través de ellos.

La distinción es importante.

Cuando escribes:

Mi perro ha robado un pollo. ¿Debería llamar al veterinario?

el modelo no se detiene para volver a entrenarse.

Sus miles de millones de pesos aprendidos ya están ahí, esperando.

Tu entrada llega.

Se convierte en tokens.

Los tokens se convierten en embeddings.

Los embeddings se convierten en estados ocultos.

Esos estados ocultos atraviesan capa tras capa de matrices de pesos aprendidas.

La atención compara relaciones.

Las redes de propagación hacia delante las transforman.

Las conexiones residuales conservan información útil.

La normalización mantiene estable toda la operación numérica.

El texto entrante se transforma gradualmente en representaciones internas cada vez más ricas.

Podríamos decir, de manera informal, que la frase original se está comprimiendo en significado matemático, aunque «compresión» aquí no significa que la información vuelva a guardarse en los pesos.

Los pesos permanecen en gran medida fijos.

Lo que cambia es el estado interno temporal producido al hacer pasar tu pregunta por esos pesos.

Y todo esto puede implicar miles de millones y miles de millones de multiplicaciones y sumas.

Sin embargo, con hardware moderno, el principio de la respuesta puede aparecer en una fracción de segundo o en unos pocos segundos, según el modelo, el hardware, la carga del sistema y el tamaño de tu petición.

Piénsalo un momento.

Pulsas Enter.

Tu frase sale del ordenador.

En algún lugar, quizá a cientos o miles de kilómetros, unas GPU empiezan a multiplicar matrices enormes.

La frase se divide, se convierte en vectores, se compara entre cabezas de atención, se transforma a través de decenas de capas y se reduce a probabilidades de posibles tokens siguientes…

Y entonces empieza a llegar una respuesta.

Para ti, parece esto:

«Si tu perro se ha comido un pollo entero, lo importante es saber si contenía huesos cocinados…»

Parece una conversación.

Dentro del centro de datos acaba de ponerse en marcha una enorme fábrica matemática.

Y si ejecutas el modelo localmente, el mismo proceso general ocurre en la GPU de tu propio ordenador.

Sin un centro de datos lejano.

Sin una nube misteriosa.

Solo tu tarjeta gráfica realizando discretamente una cantidad absurda de cálculos mientras sus ventiladores se replantean sus decisiones vitales.


Pero al final el modelo tiene que decir algo

Después de todas esas capas, el modelo ha construido una representación oculta rica del contexto actual.

Ahora debe convertir ese estado interno de nuevo en lenguaje.

El último estado oculto se transforma en una gran lista de números llamados logits.

Un logit es básicamente una puntuación bruta para un posible token siguiente.

Supongamos que la respuesta está a punto de comenzar.

El modelo podría producir algo parecido a:

Si → 8.4
Porque → 7.9
Tu → 6.7
Pollo → 2.1
Volkswagen → −3.8

De nuevo, son números inventados para ilustrarlo.

El modelo todavía no ha elegido la palabra.

Ha producido puntuaciones.

Esos logits se convierten después en probabilidades, normalmente usando softmax otra vez.

Ahora quizá:

Si → 31%
Porque → 22%
Tu → 14%
Puesto → 11%
cientos de otros tokens → la probabilidad restante

El sistema tiene que decidir qué token generar.


Temperatura y muestreo: por qué el modelo no siempre dice lo mismo

Si el modelo seleccionara siempre el token de mayor probabilidad, las respuestas podrían volverse repetitivas y rígidas.

En su lugar, los sistemas de generación suelen utilizar muestreo.

Muestrear significa elegir entre tokens probables de acuerdo con su distribución de probabilidad.

Un ajuste llamado temperatura cambia lo aventurera que resulta esa elección.

Con temperatura baja, el modelo favorece claramente los tokens más probables.

Se comporta de forma más conservadora.

Con temperatura más alta, las alternativas menos probables ganan posibilidades.

La escritura puede volverse más variada o creativa.

También puede volverse más excéntrica.

Piensa en la temperatura como la diferencia entre contratar:

a un contable prudente

Y:

al mismo contable después de tres espressos y una clase de improvisación.

Ambos pueden ser útiles.

No necesariamente para el mismo encargo.

Otros controles de generación son el muestreo top-k y el muestreo top-p, que restringen qué tokens candidatos pueden entrar en el conjunto de selección.

Los detalles son configurables, pero la idea central es sencilla:

La red neuronal produce posibilidades.

La estrategia de decodificación elige entre ellas.


Generación autorregresiva: un token cambia el siguiente

Ahora el modelo selecciona su primer token de salida.

Quizá:

Si

Ese token se añade al contexto.

El modelo vuelve a ejecutarse.

Ahora está procesando:

Mi perro ha robado un pollo entero de la mesa de la cocina. ¿Debería llamar al veterinario?
Si

Predice el siguiente token.

Quizá:

tu

Luego:

perro

Luego:

comió

Y así sucesivamente.

Esto se llama generación autorregresiva.

Auto significa que el sistema introduce su propia salida generada en la siguiente predicción.

Regresiva, en este contexto, significa que el siguiente valor depende de valores anteriores de la secuencia.

Así que la respuesta no se escribe de una sola vez.

Va creciendo.

Token a token.

Cada token generado modifica ligeramente el contexto a partir del cual se predecirá el siguiente.

Por eso funciona tan bien la analogía del jazz.

Un músico toca una nota.

Esa nota cambia lo que tiene sentido musical a continuación.

La siguiente nota vuelve a cambiar las posibilidades.

Un modelo de lenguaje hace esto con tokens.


Entonces, ¿hay un momento en el que el modelo «ya tiene la respuesta»?

Es una pregunta interesante.

Por lo general, no de la manera en que lo imagina una persona.

No hay un instante claro en el que el modelo escriba internamente:

RESPUESTA COMPLETA ENCONTRADA. AHORA IMPRIMIR.

En su lugar hay un estado interno que evoluciona continuamente.

Cada capa refina las representaciones.

Cada token generado modifica el contexto.

La respuesta aparece de forma secuencial.

Esto ayuda a explicar algunos comportamientos extraños.

Un modelo puede empezar una respuesta con confianza y después advertir, a través de su propio contexto recién generado, que otra dirección tiene más sentido.

Puede corregirse.

O contradecirse.

O, en ocasiones, acabar directamente en una cuneta conceptual mientras mantiene una gramática excelente.

La generación es un proceso, no la recuperación de un objeto terminado.


¿Dónde encaja la caché de claves y valores en todo esto?

Ahora por fin podemos entender bien la caché de claves y valores (Key-Value Cache, KV cache).

¿Recuerdas Query, Key y Value?

Cada capa Transformer calcula claves y valores para los tokens que procesa.

Al generar el siguiente token, no hace falta calcular de nuevo la mayoría de las claves y los valores anteriores.

Ya están calculados.

Así que el programa de inferencia los guarda en la caché KV.

Por tanto, la caché KV no es una función adicional misteriosa pegada al modelo.

Está directamente relacionada con el mecanismo de atención que acabamos de describir.

La caché dice:

«Ya calculamos las claves y los valores de los tokens anteriores. Mantengámoslos a mano para no repetir el mismo trabajo».

A medida que crece la conversación, hay más tokens anteriores.

Más tokens significan más claves y valores almacenados.

Así que la caché KV crece.

Y como ocupa VRAM, un contexto más largo requiere más memoria de GPU.

Ahora la relación resulta lógica, en lugar de ser algo que simplemente debes memorizar:

Más contexto → más información K/V almacenada → caché KV más grande → más VRAM utilizada.

Ese es precisamente el tipo de relación que Green Zone intenta hacer visible.


Y por fin: ¿cómo piensa la máquina?

Volvamos por última vez al perro y al pollo robado.

Escribiste una frase.

El ordenador no la entendió de la forma inmediata y sin esfuerzo en que tú lo hiciste.

Tuvo que construir esa comprensión.

Primero dividió tu lenguaje en tokens.

Después convirtió esos tokens en vectores.

Los vectores entraron en una red que contiene miles de millones de pesos aprendidos.

La autoatención permitió que distintas partes de la frase interactuaran.

Los vectores Query, Key y Value ayudaron al modelo a decidir qué relaciones importaban.

La atención multicabeza permitió examinar varios patrones de relaciones diferentes a la vez.

Las redes de propagación hacia delante transformaron la información resultante.

Las funciones de activación permitieron relaciones no lineales complejas.

Las conexiones residuales llevaron hacia delante información anterior útil.

La normalización de capa mantuvo estable el sistema numérico.

Y cada capa Transformer produjo estados ocultos más ricos que la anterior.

Cuando la información llegó a las últimas capas, la representación matemática interna ya no correspondía simplemente a palabras aisladas como:

perro
pollo
veterinario

La red había construido algo mucho más cercano a una representación de la situación:

Una persona está preocupada porque su perro ha comido algo que puede contener huesos peligrosos y quiere saber si quizá necesita atención médica.

Dentro del modelo no hay una frase en español que diga eso.

No hay un médico diminuto examinando al perro.

Hay un estado complicado hecho de números.

Pero esos números codifican ahora relaciones lo bastante ricas como para que el modelo pueda generar una continuación apropiada.

El último estado oculto se convierte en logits.

Los logits se convierten en probabilidades.

Un algoritmo de decodificación elige un token.

Ese token pasa a formar parte de la siguiente entrada.

Se genera otro token.

Luego otro.

Mientras tanto, las claves y los valores calculados anteriormente siguen disponibles en la caché KV, lo que permite continuar la conversación sin repetir todos los cálculos desde cero.

Y todo esto —tokenización, embeddings, atención, multiplicación de matrices, transformación del estado oculto, cálculo de probabilidades, decodificación y almacenamiento en caché— puede ocurrir tan rápido que la respuesta empieza a aparecer casi inmediatamente.

Dentro de la máquina no hay una única operación llamada pensamiento.

No existe una «ecuación de la inteligencia» especial.

Ocurre algo más interesante.

Miles de operaciones matemáticas relativamente sencillas se repiten sobre miles de millones de parámetros aprendidos, una y otra vez, capa tras capa, hasta que emerge una representación compleja.

Piensa en un piano.

Un solo martillo no es música.

Una cuerda no es música.

Una tecla de madera no es música.

El pedal, desde luego, no es música.

Puedes desmontar el instrumento entero y examinar cada pieza sin encontrar a Beethoven escondido bajo la tabla armónica.

La música aparece cuando las piezas están bien organizadas y se ponen en movimiento.

Una red neuronal se parece en un aspecto importante.

Un peso aislado no es inteligente.

Una multiplicación de matrices no es inteligente.

Un token no es inteligente.

Ni siquiera una cabeza de atención, por sí sola, es inteligente.

El comportamiento extraordinario aparece por la interacción de todo el sistema.

Y quizá esa sea la parte más extraña de la inteligencia artificial moderna.

No descubrimos un símbolo matemático que significara:

inteligencia = 42.

Aprendimos a construir sistemas enormes en los que operaciones matemáticas sencillas, cuidadosamente estructuradas y entrenadas con cantidades inmensas de datos, pueden producir un comportamiento que parece asombrosamente sofisticado.

Escribes:

¿Debería llamar al veterinario?

En algún lugar, miles de millones de números se ponen a trabajar.

Y un momento después la máquina responde.

Lo que nos deja con la siguiente pregunta evidente:

¿De dónde salieron esos miles de millones de pesos útiles?

Porque cuando el modelo se creó, esos pesos no sabían nada de perros.

Ni de pollos.

Ni de veterinarios.

Ni de Python.

Ni de Francia.

Ni de Shakespeare.

Tuvieron que aprender.

Y ahí comienza la siguiente historia.

Fuentes y lecturas

Compartir y republicar

Publicado por AI Model Green Zone.

Puedes republicar este artículo únicamente completo y sin modificaciones, mencionando a AI Model Green Zone e incluyendo un enlace activo y claramente visible al artículo original en nuestro sitio web.

Las traducciones, las versiones abreviadas y las adaptaciones requieren autorización específica.

Estas condiciones no limitan los usos permitidos por la ley.

El enlace público estará disponible cuando se configure la dirección pública del sitio.