Este es un sitio oficial de la ODERSA. Así es como puede saberlo

El dominio oficial

La dirección de este sitio termina en odersa.org. Cada servicio de la asociación está en un subdominio de odersa.org y en ningún otro lugar. Si la dirección que aparece en la barra de su navegador no termina en odersa.org, este sitio no es nuestro.

Gratuito, y sin cuenta

Todo está abierto desde el primer momento. Sin registro, sin cuenta, sin contraseña, sin suscripción, sin publicidad. Nada se reserva a quien paga, porque aquí no se paga nada.

Ningún dato recopilado

Este sitio no le sigue la pista: ni rastreadores, ni cookies de seguimiento, ninguna herramienta de medición incorporada en estas páginas, y nada medido en su dispositivo. Nuestro alojamiento cuenta los accesos de forma agregada, como hace cualquier servidor que responde: un total, nunca un perfil. No hace falta que nos crea: abra las herramientas de desarrollo de su navegador, pestaña Red, y recargue la página. Verá la lista completa de lo que el sitio pide. Todo viene de odersa.org, nada sale a otra parte.

Contenidos libres

Los contenidos se publican bajo licencia CC BY 4.0. Puede copiarlos, traducirlos, imprimirlos y redistribuirlos, tanto para sus clases como para su gente, con una única condición: citar a la ODERSA.

La próxima palabra, nunca una certeza

El modelo no sabe qué va a escribir antes de escribirlo. En cada palabra calcula una probabilidad para cada candidato posible, y luego sortea dentro. Esta página hace girar ese sorteo ante sus ojos, ajuste por ajuste: la temperatura, el top-k y el top-p.

Información

Todo se calcula en su navegador. El corpus se carga con la página, el modelo se aprende sobre él en este dispositivo, y nada de lo que usted ajusta sale de su máquina. Abra la pestaña Red de su navegador y manipule la demostración: no sale ninguna petición.

Calcular una distribución, y luego sortear dentro

Un modelo de lenguaje no sabe qué va a escribir antes de escribirlo. En cada palabra calcula una probabilidad para cada candidato posible: una lista entera, nunca una sola respuesta decidida. Esa lista de probabilidades es una distribución. Lo que parece una elección viene después: un sorteo dentro de esa distribución, como se saca una carta de una baraja trucada.

Por eso hacer dos veces la misma pregunta no devuelve necesariamente la misma respuesta. Mientras la distribución conserve varios candidatos posibles, el sorteo retiene uno, no siempre el mismo. Aquí, el sorteo sigue una semilla visible y modificable, para que el resultado siga siendo reproducible: la misma semilla da siempre la misma palabra. Un servicio corriente esconde su semilla, lo que da la impresión de un azar sin origen.

El modelo de esta página aprende sobre Le Tour du monde en quatre-vingts jours, de Jules Verne, publicado en 1873 y en dominio público. Cuenta, para cada serie de una a tres palabras ya encontrada en ese texto, qué palabra la siguió y cuántas veces. Sobre ese corpus conoce ahora mismo … tokens, para un vocabulario de … palabras distintas, repartidas en … contextos de una palabra, … contextos de dos palabras y … contextos de tres palabras. La transcripción se ha retocado para esta demostración: apóstrofos convertidos en tipográficos, guiones y comillas de la transcripción retirados, marcas de cursiva retiradas, títulos de capítulo y tabla de contenidos descartados, párrafos de menos de cuarenta signos descartados. El texto se deja en su francés original: una obra citada se cita al pie de la letra, y el modelo solo puede conocer lo que ha leído de verdad.

Esta demostración trocea el texto en palabras enteras, para que siga siendo legible. Un modelo real trocea en unidades más pequeñas que una palabra, tokens obtenidos por un cálculo completamente distinto: véase el capítulo las palabras en trozos. La mecánica de la distribución y del sorteo, en cambio, es la misma en los dos casos.

Elegir un ejemplo rellena el comienzo de abajo. Estos ejemplos se sacan del corpus al cargar la página.
Una o varias palabras, del vocabulario de la novela, en francés. Una palabra ausente del corpus hace que el modelo se repliegue sobre un contexto más corto.
El sorteo
3
El número de palabras anteriores que se tienen en cuenta. Este modelo solo aprende contextos de una a tres palabras.
0,80
En cero, el sorteo retiene siempre el candidato más probable, sin azar. Por encima de uno, los candidatos raros se vuelven casi tan probables como los candidatos frecuentes.
desactivado
Cero desactiva este corte. Con un valor k, solo los k candidatos más probables siguen en juego antes del sorteo.
desactivado
Uno desactiva este corte. Por debajo de uno, solo sigue en juego el grupo más corto de candidatos cuya probabilidad acumulada alcanza ese umbral.
Longitud y reproducibilidad
40 palabras
Solo sirve para la sección «Varios pasos» de más abajo.
Una palabra o un número. La misma semilla da siempre el mismo resultado, lo que hace esta página citable en clase.

Un paso: la distribución de la palabra siguiente

La distribución de la próxima palabra, sus barras y su tabla de cálculo aparecerán aquí.

Varios pasos: generar un texto y su rastro

El texto generado aparecerá aquí, con un resumen corto y su rastro paso a paso.

Lo que la demostración muestra

Un paso: la misma fórmula, un resultado que cambia ante sus ojos

Mueva el control de temperatura, y las columnas de la tabla se mueven inmediatamente: el logaritmo no cambia, su división por la temperatura sí, y la columna «después del softmax» con ella. Active un top-k o un top-p, y candidatos hasta entonces retenidos pasan a «descartado», con todas sus letras, no solo palideciendo su barra. Nada de eso cambia el corpus ni las cuentas: solo cambia la forma de leer la misma distribución.

Varios pasos: un texto que se repite, o que se dispersa

Con una temperatura cercana a cero, el sorteo retiene casi siempre el candidato más probable: el texto generado cae rápido en un bucle, con las mismas pocas palabras volviendo en el mismo orden. Con una temperatura cercana a dos, los candidatos raros se vuelven casi tan probables como los frecuentes: el texto se desmenuza, plausible localmente, frase a frase, pero sin hilo de conjunto. Pruebe los dos ajustes, sobre el mismo comienzo y la misma semilla, para ver los dos efectos uno detrás de otro.

El método

Esto es lo que hace el botón «Generar el texto», un paso a la vez. La tabla de la sección «Un paso» muestra esas mismas etapas sobre los candidatos reales del comienzo en curso: basta releerla columna a columna para repetirla a mano, con cinco candidatos y una calculadora.

  1. Contar. Para el contexto en curso, anotar en todo el corpus cada palabra que lo siguió, y cuántas veces. La probabilidad de partida de un candidato es su cuenta dividida por la suma de las cuentas de todos los candidatos de ese contexto: p = cuenta ÷ total.
  2. Pasar al logaritmo. Cada probabilidad se convierte en logit = log(p), donde log es el logaritmo natural, la tecla «ln» de una calculadora científica. Un logit es siempre negativo o nulo, puesto que p está entre cero y uno.
  3. Añadir un sesgo, si hay alguno. Un sesgo opcional se suma al logit antes que todo lo demás: logit sesgado = logit + sesgo. Esta página no añade ningún sesgo; el capítulo las marcas de agua añade uno, en esta etapa precisa.
  4. Dividir por la temperatura. Cada logit sesgado se divide por la temperatura T: z = logit sesgado ÷ T. Una temperatura pequeña agranda la diferencia entre el mejor candidato y los demás; una temperatura grande la borra.
  5. Pasar al softmax. Los z se convierten en probabilidades que suman uno: probabilidad = exp(z) ÷ suma de los exp(z) de todos los candidatos. A temperatura nula, esta etapa y la siguiente se saltan: el candidato de logit más alto se retiene directamente, sin sorteo.
  6. Cortar en el top-k. Los candidatos se ordenan del más probable al menos probable. Si hay un top-k de valor k activo, solo los k primeros siguen en juego; los demás se descartan.
  7. Cortar en el top-p. Si hay un top-p activo, el modelo conserva el prefijo más corto de esa misma lista cuyas probabilidades acumuladas alcanzan ese umbral; el resto se descarta, incluido lo que un posible corte top-k ya hubiera dejado pasar.
  8. Renormalizar. Las probabilidades de los candidatos que quedan se dividen por su propia suma, para recuperar un total de uno: esa es la probabilidad final de cada uno.
  9. Sortear. Un número tomado entre cero incluido y uno excluido cae dentro de esa lista de probabilidades finales, puestas una detrás de otra: el candidato cuyo intervalo contiene ese número es el token retenido. El contexto se alarga una palabra, y la etapa uno vuelve a empezar para la palabra siguiente.

Lo que un modelo real añade, y lo que no quita

Esta demostración es honesta con una condición: decir dónde se detiene la analogía.

Lo que sigue siendo cierto en un gran modelo

  • Devuelve una distribución de probabilidad sobre la unidad siguiente, nunca una certeza.
  • Sortea dentro de esa distribución: el resultado depende de un azar, aquí vuelto visible y reproducible por una semilla.
  • La temperatura, el top-k y el top-p actúan sobre su distribución con la misma fórmula, en las mismas etapas.
  • Responde siempre: nunca un silencio, nunca un «no lo sé» que venga de su propia iniciativa.

Lo que este modelo de juguete no hace

  • Ningún aprendizaje por descenso de gradiente: este modelo cuenta, no ajusta ningún peso.
  • Ninguna incrustación de palabras: cada palabra es una etiqueta bruta, no un punto en un espacio de sentido.
  • Ninguna atención: el contexto que se tiene en cuenta se detiene en tres palabras, siempre las más recientes.
  • Ningún sentido, ninguna generalización: un contexto nunca visto en el orden pedido hace que el modelo se repliegue, nunca que adivine.

Lo que la investigación ha medido

Tres resultados publicados sitúan lo que la demostración hace sentir.

Elegir sistemáticamente la palabra más probable produce un texto plano y repetitivo; el muestreo nucleus, que trunca la parte poco fiable de la distribución (el top-p de esta página), produce un texto más natural. El parámetro de temperatura de la fórmula softmax suaviza o endurece la distribución de probabilidad calculada por el modelo: una temperatura más alta vuelve las elecciones menos previsibles y más uniformemente repartidas entre varias palabras posibles. El muestreo top-k, que restringe el sorteo a las k palabras más probables en cada etapa, es un método empleado para generar un texto más variado que una elección siempre determinista.

Por qué un texto plausible no es un texto verdadero

El modelo de esta página solo ha leído una novela de 1873. Pídale la continuación de una frase que se parezca a esa novela, y responde con un contexto real, en el orden correcto. Pídale la continuación de una frase que no tenga equivalente en ese texto, y se repliega sobre un contexto más corto, hasta devolver la palabra más frecuente de todo el corpus: responde de todas formas, con la misma seguridad aparente, sin señalar nunca que está adivinando.

Una respuesta plausible es una respuesta que se parece, por su forma, a lo que contiene el corpus. Nada en el cálculo verifica si corresponde a un hecho. Un gran modelo, aprendido sobre miles de millones de palabras y no sobre una sola novela, se repliega menos a menudo y de forma menos visible: es el tema del capítulo por qué inventa.

Para ir más lejos

El troceado del texto en unidades más pequeñas que una palabra se trata en el capítulo las palabras en trozos. Los casos en que el modelo inventa en lugar de responder se tratan en el capítulo por qué inventa. Todas las demostraciones del sitio están reunidas en la página demostraciones, y el índice del curso en la página entender.

Fuentes