LLMs: grados de libertad en la generación de texto
Me he entretenido dibujando
que representa gráficamente los grados de libertad de un LLM según va generando texto. Brevemente, he arrancado con
Never in the history of
y he dejado que mi LLM fuese construyendo
Never in the history of “The Bachelor” has a contestant been so hated by the viewing public.
The “Bachelor” franchise has had its share of villains, but the one who has
mientras registraba el vector de probabilidades en cada iteración, es decir, el vector que permite que el LLM elija, por ejemplo, villains en lugar de maples, vikings or frenchmen.
El LLM en cuestión usa +50k tokens distintos y a todos ellos, en cada iteración, les asigna una probabilidad. Para medir los grados de libertad he contado el mínimo subconjunto cuya probabilidad agregada excede cierto umbral. Esos son los números que aparecen en el gráfico. (Y sí, ya sé que hay muchas otras opciones).
Es evidente cómo el of después de share, el ciere de las comillas, el public tras viewing y alguna otra son casi obligatorias. O que tras el The con el que se abre la segunda frase, casi cualquier cosa puede ocurrir y el LLM puede tirar casi por donde le dé la gana. Etc.
Obivamente, dado que la intersección de lo cierto, lo interesante y lo no obvio es prácticamente nula, hoy me he limitado a regalar a mis lectores dos cosas:
- Una historieta que cumple dos de las tres condiciones anteriores: lo que aquí se ha aprendido no debería sorprender a nadie.
- El código completo de lo que he hecho, por si a alguien le sirve de provecho.