El modelo bigrama
Enseñando a escribir a una máquina, desde cero y solo contando.
El truco: predecir
Cuando somos pequeños, nadie nos da un manual para aprender a hablar. Aprendemos viviendo: escuchamos a la gente, relacionamos un tono de voz con una cara que sonríe y, poco a poco, entendemos el significado de las cosas.
Pero, ¿cómo le enseñas a escribir a una máquina que jamás ha vivido un solo día? Para una caja de cables y silicio, la palabra manzana no es dulce ni roja. No significa nada. Si no puede entender el mundo, parece imposible que escriba sobre él.
Así que, antes de construir nada, un pequeño experimento.
Seguramente has rellenado todos los huecos sin mucho esfuerzo. Pero fíjate en el último: no tenías ni idea de qué significaba Fli fli fla. Solo miraste lo que había escrito antes, intuiste la lógica y adivinaste lo que tocaba a continuación.
Acabas de descubrir el truco. Como los ingenieros no podían enseñar a las máquinas a entender el mundo como nosotros, cambiaron las reglas del juego. En lugar de enseñarles a reflexionar, les enseñaron a predecir.
Hoy en día, los grandes modelos hacen esto con frases enteras. Pero para entender de verdad la magia que hay detrás, vamos a lo más básico de todo: predecir cuál es la siguiente letra.
Ese es el objetivo de todo lo que viene: una máquina que mire lo que llevas escrito y apueste por la letra que va después. Y luego otra. Y otra. Hasta escribir sola.
Y ahí está la pregunta incómoda: ¿cómo se construye eso desde cero, si la máquina no sabe leer?
A la caza del patrón
¿Existe un patrón entre las letras de un idioma? ¿Qué suele ir detrás de una «d»? ¿Y detrás de una «t»?
Nunca te has parado a pensarlo, y llevas toda la vida escribiendo. Vamos a mirarlo en una frase, de dos letras en dos letras.
Escribimos siguiendo una estructura invisible. Nadie te explicó que el 80 % de las veces que escribes una «y», lo que viene detrás es un espacio; ni que hay parejas que no ocurren jamás: en un libro entero no aparece ni una sola «aa», ni una «dd», ni una «uu». Tu cerebro lo fue asimilando a base de leer y escuchar. Aporrea el teclado, asdfghjkl, y no sale nada de eso.
En una frase corta caben pocas repeticiones. Vamos a darle una más larga. Y para no volvernos locos, nos centramos en una sola letra, la «d»: veamos qué letras suelen acompañarla.
Según el texto que le des, aprende una regla distinta. Con tan poco que leer, lo que aprende te dice más de esa frase que del idioma: su visión del mundo es un pellizco, y encima sesgado.
Así que vamos a ponernos serios. Vamos a hacer que nuestra máquina se lea el Quijote entero.
Esa fila es todo lo que hay sobre la «d» en todo el Quijote. La máquina ha sacado ella sola todas sus relaciones, solo contando.
A este proceso —darle un texto gigantesco para que lo lea, lo cuente y construya sus propias tablas de reglas— se le llama texto de entrenamiento. Acabas de ver, en primera persona, cómo se entrena un modelo. (Una pega: ha aprendido de Cervantes, así que hablará como hace 400 años. Cambia el libro y cambias la máquina.)
De contar a apostar
Tenemos 5.190. Cinco mil ciento noventa veces que, en todo el Quijote, detrás de una «d» venía una «e». Un número enorme. Y ahora dime: ¿qué hacemos con él?
Piénsalo un segundo. 5.190 sería muchísimo si la «d» apareciera 6.000 veces en el libro… y una miseria si apareciera un millón. El número, así suelto, no dice nada: solo significa algo comparado con el total. Y ese total lo tenemos, está en la misma fila.
Así que toca hacer la única cuenta de todo el capítulo. Y es de primaria: una división.
5.190 entre 12.796. Sale 41 %. Y esa cifra, dicha como se dice en la calle: de cada 100 veces que escribes una «d», 41 llevan una «e» detrás. Ni más ni menos.
Haz la misma cuenta con el resto de la fila y ya no te quedan conteos: la «o» un 26 %, la «a» un 14 %, la «i» un 13 %, y las demás repartiéndose las migajas. Los conteos eran datos muertos. Esto ya son apuestas: le das una letra a la máquina y te contesta, en porcentajes, qué se juega a que viene después.
Y una máquina que apuesta ya casi escribe. Solo le falta lo más difícil: decidir.
Lo prudente sería no arriesgar nunca: mirar la fila y quedarse siempre con el número más alto. Es lo más probable, ¿qué puede salir mal? Pruébalo.
Siempre la «e». Y otra vez la «e». Y otra. Da igual cuántas veces se lo pidas: mientras la regla sea «quédate con el número más alto», detrás de una «d» jamás saldrá otra cosa. Ni una «o», ni una «a», ni una «i». Ahí siguen, en la fila, y el 59 % del dado no se usa nunca.
Elegir siempre lo más probable no da la respuesta más segura: da la única respuesta. Lo seguro sale muerto.
Hace falta azar. Pero no el azar de una moneda, que trataría igual a la «e», que sale el 41 % de las veces, y a la «s», que en todo el Quijote siguió a una «d» una sola vez. Eso sería tirar a la basura todo lo que la máquina se ha leído.
Hace falta un azar que respete lo aprendido. La idea de los ingenieros fue un dado: eso sí, un dado trucado, con un montón de caras de «e», bastantes de «o», algunas de «a» y de «i», y casi ninguna de las raras. Así casi siempre cae lo probable, pero de vez en cuando sorprende. Tíralo tú y verás.
Tíralo unas cuantas veces. Casi siempre cae la «e», que es la que ocupa más barra; de vez en cuando una «o», una «a», alguna rara. El dado no se inventa nada: cada letra ocupa exactamente el sitio que se ganó contando.
Una última pregunta, y es la que usan de verdad los productos que ya conoces. ¿Y si no queremos tanta sorpresa? ¿Y si la queremos aún más loca?
Se puede trucar el dado otra vez. Apretar los porcentajes hacia el ganador, hasta que la «e» se lo coma todo y volvamos a lo de antes: siempre la misma letra. O aplanarlos, para que las letras raras empiecen a tener las mismas oportunidades que las comunes. Ese mando existe y tiene nombre: temperatura. Muévelo tú.
Temperatura baja: obediente, repetitiva, aburrida. Alta: creativa, sorprendente y, si te pasas, delirante. Cuando un modelo te deja elegir entre «preciso» y «creativo», por debajo casi siempre está haciendo justo esto: mover este mando. No hay más magia.
Ya tenemos el truco completo para la «d»: contar, dividir y elegir con una chispa de azar (más o menos chispa, según nos convenga). Y aquí la pregunta se cae sola: ¿y si hacemos esto mismo con todas las letras a la vez?
Nace la matriz
Tenemos una fila para la «d». ¿Y la «a»? ¿Y la «e»? ¿Y todas las demás?
Una casilla cualquiera se lee siempre igual: la letra de la izquierda es de la que partes, la de arriba la que viene después, y el número, las veces que pasó. Nada más. Y eso que acaba de salir tiene nombre propio: una tabla de transición.
Esto ha salido de una frase de cinco palabras. Con un libro entero delante ya no hace falta contar a mano.
Y eso sigue siendo un rincón del idioma: minúsculas. Cuenta también las mayúsculas, los puntos, las comas y los números, y la tabla crece hasta su tamaño de verdad. Esta de aquí abajo es esa: parece un caos de luces, pero cada casilla encendida es una regla del idioma y cada hueco negro una pareja que casi nunca pasa. Ninguna se la enseñó nadie.
¡Vamos a escribir!
Con la tabla delante ya no hay una letra especial. Lo que hicimos a mano con la fila de la «d» vale ahora para las veintisiete: dale la letra que quieras y la máquina te contesta qué viene detrás.
Y elegir ya sabemos: se mira la fila y se tira el dado. Aquí está ese paso a cámara lenta, y cada letra que cae es el punto de partida de la siguiente.
Y ahí lo tienes: una máquina que escribe sola. Nadie le enseñó ortografía, ni gramática, ni una sola regla. Solo contó parejas de letras en un montón de texto, y de ahí salió todo. Lo has levantado tú, desde cero.
Lo has visto a cámara lenta. A toda velocidad es esto: una letra tras otra, sin frenos, salen frases enteras de un tirón.
Antes de darla por mala, una pregunta justa: ¿mala comparada con qué? Aquí está, entre las dos cosas que no es —el azar de aporrear el teclado y el libro que se leyó—, y con dos lupas para mirarla.
Y ahora la mala noticia. Si lo lees otra vez, casi suena a un idioma de verdad: las letras encajan… pero no son palabras. Un balbuceo con buen acento. Lo hemos conseguido, escribe sola. Pero vaya mierda, ¿no? ¿Por qué escribe tan mal?
Y eso que has levantado tiene un nombre:
modelo de bigramas
El modelo de lenguaje más simple que existe. Y es el primer ladrillo de todo lo demás. ChatGPT incluido.
El techo del bigrama
Antes de arreglarlo, entendamos por qué escribe tan mal. ¿Qué viene tras «qu»? A la máquina la «q» le da igual: solo mira la «u». Para ella, «qu», «gu» y «cu» son exactamente lo mismo.
Y eso que en la realidad no se parecen en nada: tras «qu» va una «e» el 83% de las veces, tras «gu» manda la «n» y tras «cu» la «a». No es que sea olvidadiza. Es ciega de nacimiento. Por mucho texto que le des, jamás distinguirá «qu» de «cu». No es un fallo que se arregle con más datos. Es el techo del modelo.
¿Y si pudiera ver más de una letra? El turno es tuyo: una palabra se va revelando letra a letra y tú apuestas por la siguiente.
¿Lo notaste? Con una letra ibas a ciegas. Con casi toda la palabra delante, casi seguro. Más contexto, mejor predicción. Eso es justo lo que a nuestro modelo le falta: solo ve una pieza hacia atrás. Igual que tú con la «hola»: reacciona a lo último que oyó, sin enterarse del resto.
¿Y si le enseñamos a mirar dos letras? ¿Tres? ¿Cinco? Eso ya es otro modelo. Y es el siguiente.