ChatGPT es aleatorio, no?
Por qué a veces responde diferente si los LLM son deterministas
Una crítica que suelo ver repetida hacia los LLM (grandes modelos de lenguaje, o large language models en inglés, me referiré así a sistemas como ChatGPT) es que son loros estocásticos, o stochastic parrots, por predecir la siguiente palabra (o token)1 cada vez para generar una respuesta.
Comparto la crítica en lo que a filosofía se refiere. Los modelos no tienen un entendimiento de lo que dicen. Ahora bien, a menudo la crítica se extiende a: “como es aleatorio, no tiene ningún sentido”. Esto suele dejar entrever cierta ignorancia sobre el funcionamiento de estos sistemas.
Yo creo que es mejor entenderlos para poder hacer críticas más acertadas y no caer en falacias o simplificaciones excesivas. En este caso, intentaré exponer en qué momento y cómo entra la aleatoriedad en el contexto de los LLM.
Entonces es aleatorio o no?
Pues sí y no. Los modelos de lenguaje son deterministas, pero suelen incluir aleatoriedad en su respuesta final. Intentaré explicarlo sin muchos tecnicismos:
La idea equivocada es que el LLM predice la siguiente palabra (o token). En realidad, el modelo da una distribución de probabilidades para cada uno de los tokens posibles. Es decir, si yo le digo que complete con un color la frase “El perro es”, la salida del modelo no será “marrón”, si no una especie de tabla de probabilidades:
“marrón”: 0.5“negro”: 0.2“blanco”: 0.1…“verde”: 0.01…“árbol”: 0.0001…
Entonces, el sistema podría escoger la opción más probable, en este caso “marrón”. Esta tabla será exactamente la misma si volvemos a enviar el mismo mensaje, así que en realidad un LLM es determinista.2
Pero si no es aleatorio, por qué ChatGPT me responde diferente a la misma pregunta?
Bueno, por eso he dicho sí y no. No necesariamente se escoge la opción más probable. Para cada ejecución, existe un parámetro llamado temperatura, que controla precisamente la forma en la que se escoge la siguiente palabra una vez tenemos la tabla.
Una temperatura de 0 equivale a escoger siempre la opción más probable. En este caso el sistema sí es determinista.
Una temperatura de 1 equivale a echar a suertes qué palabra es la siguiente, escogiendo más a menudo palabras con más probabilidad en la tabla. Un poco como una tómbola en la que cada palabra tiene más o menos papeletas según su valor en la tabla.
La temperatura puede tomar también otros valores, que varían estos comportamientos de manera contínua. Para valores enormes de temperatura, como por ejemplo 1000, el modelo se comportará aproximadamente como si todas las palabras tuvieran la misma probabilidad, lo que daría como resultado un texto completamente incoherente.
Algunos sistemas enmascaran el parámetro temperatura con opciones del tipo “preciso”, o “creativo”, que simplemente asignan una cierta temperatura predefinida, como 0,3 o 1,2.
En conclusión, como el azar interviene en cada elección de la siguiente palabra, la respuesta que se obtiene cada vez puede ser diferente. Esto no quita que el modelo (lo que se suele llamar caja negra) sea perfectamente determinista.
Entonces… Es más o menos fiable?
Pues ni lo uno ni lo otro. Existe un poco de confusión con la aleatoriedad. A menudo leo que el hecho de que sea aleatorio significa que nada de lo que diga es relevante. Esto no es así, muy a menudo usamos modelos probabilísticos (la predicción meteorológica, la detección precoz de algunas enfermedades, etc.) y, aunque tienen sus limitaciones, nadie los critica por su naturaleza estocástica. Aunque también es verdad, por un lado, que esos modelos no aseveran sus predicciones tan vehementemente como los LLM, y, por el otro, que me parece que la población entiende mejor la naturaleza estocástica de esos modelos que la de los LLM, a los que a menudo otorgan una falsa consciencia o agencia.
Huelga decir que lo que digan estos sistemas tampoco tiene que ser verdadero, correcto, legítimo o ético per se. Que según el comportamiento de algunos hacia esta tecnología, es lo que podría parecer. Igual que la predicción del tiempo, los LLM también se equivocan.
De nuevo, espero desarrollar un poco más alguna de estas ideas en futuras publicaciones. Gracias por leerme.
En realidad un token no tiene por qué ser una palabra, pero haré esta simplificación.
Añado esta nota porque no quiero decir una mentira, pero a efectos prácticos podéis ignorarla. La tabla será la misma excepto por alguna pequeña variación en el redondeo de algunos números decimales dependiendo del dispositivo en el que se ejecuten.


Gracias