Modelos de lenguaje Intermedio

TokenizadorTokenizer

Corta el texto según una lista fija de trozos y les pone número

Puntos clave
  • El tokenizador es el dispositivo que corta el texto en trozos que el modelo puede recibir y los convierte en números. Es el portero justo antes del modelo.
  • El criterio de corte es una lista de trozos hecha de antemano. Lo que está completo en la lista sale en un solo trozo; lo que no está se reparte en varios.
  • La lista no la escribió nadie a mano: se construye sola uniendo una y otra vez los pares de letras que más se repiten juntas en textos enormes.
  • Al devolver la respuesta, los números se convierten de vuelta en letras. Se usa la misma lista tanto para cortar como para reconstruir.
  • La lista cambia según el modelo. Por eso la misma frase da un número distinto de trozos según en qué modelo la metas.
Contenido

1La analogía

Al entrar a la piscina municipal te dan un casillero y te atas a la muñeca una llave con número. Los casilleros tienen un tamaño fijo, así que si el bulto es grande no cabe entero en uno solo. En ese caso lo repartes en dos o tres casilleros y recibes esa misma cantidad de llaves. El tokenizador es el mostrador que reparte el texto en casilleros de tamaño fijo y les pone número.

El tipo y la cantidad de casilleros ya quedaron fijados el día en que abrió la piscina. Los bultos comunes que la gente deja siempre tienen su casillero holgado propio, así que entran de una pieza; un bulto raro y grande que nadie ha visto se reparte en varios casilleros pequeños. Por eso un saludo común cabe en un solo trozo y un nombre poco conocido termina en tres o cuatro.

Al salir, basta con tener el número. Con el número, el mostrador saca el bulto del casillero y lo devuelve tal como estaba.

2En detalle

La lista de casilleros se hizo sola

El método para hacer la lista es sorprendentemente simple. Primero se pone cada letra como un casillero individual. Después se recorre todo el texto de entrenamiento buscando el par de letras que más aparece junto, se fusiona en uno solo, y ese bloque se registra como casillero nuevo. Repetir esto decenas de miles de veces completa la lista.

Cuanto más se repite una palabra, antes se fusiona y ocupa un casillero grande: así consiguen su propio casillero las terminaciones habituales y las palabras frecuentes. Lo que aparece rara vez, en cambio, no llega a fusionarse del todo y se queda como trozos pequeños.

El tamaño de la lista suele estar en decenas de miles. Si se agranda, hay menos trozos por frase y mejora la eficiencia, pero el modelo tiene que manejar esa misma cantidad extra de candidatos, así que se vuelve más pesado. Las decenas de miles actuales son el punto donde se equilibran ambas cosas.

Lo que no está en la lista se reparte

El tokenizador no se rinde ni siquiera ante una palabra desconocida: está diseñado para partirla siempre en una combinación de trozos más pequeños que sí están en la lista. Como hasta las letras sueltas están en la lista, en el peor de los casos siempre puede meterla letra por letra.

Por eso hasta una palabra nueva o un lugar extranjero desconocido se procesan sin error. A cambio, el número de trozos se dispara: una palabra corriente puede ser un solo trozo y un nombre poco conocido terminar en cinco, y eso se traduce directamente en cuánto texto cabe de una vez y en el costo.

El español sufre este problema más de lo esperado: como una misma palabra cambia de terminación con cada persona y cada tiempo verbal, muchas de esas formas quedan fuera de la lista y terminan partidas en trozos.

Se usa la misma lista para cortar y para reconstruir

Hay un proceso que corta el texto en trozos y los convierte en números, y otro que toma esos números y los vuelve a unir en letras. Ambos usan la misma lista, solo que al revés: sin ella, el número no significa nada.

Por eso el modelo y el tokenizador siempre se mueven en pareja: si le das números que cortó una lista distinta, el modelo termina leyendo un texto totalmente equivocado. Es como llevar el número de una llave a una piscina que no es la tuya.

Los espacios en blanco y los saltos de línea también se guardan como parte de los trozos, para que al reconstruir el texto original quede exactamente igual. Muchas veces hasta el espacio que va antes de un trozo entra en el mismo casillero.

Si la lista cambia, cambia el número de trozos

Cada creador de modelo usó un texto de entrenamiento distinto, así que la lista extraída también es distinta, y la misma frase produce un número diferente de trozos según el modelo. Algunas listas se hicieron mirando mucho texto en español y contienen bloques enteros de español; otras están centradas en inglés y parten el español en trozos pequeños.

Por eso no se puede responder a «¿cuántos trozos tiene esta frase?» sin especificar el modelo. Al comparar precios, tampoco basta con mirar el costo por trozo: hay que ver en cuántos trozos queda la misma frase en cada uno.

Lo que provoca el tokenizador

Hay una razón por la que el modelo se equivoca tan seguido en cálculos con números largos: estos no se cortan por posición de cifra, sino en bloques arbitrarios, y como el mismo número se puede cortar distinto cada vez, es difícil que agarre una regla fija.

La misma razón explica por qué es débil con preguntas como «¿cuántas consonantes tiene esta palabra?»: no ve las letras sueltas, solo el número del trozo ya fusionado. En cambio, entiende bastante bien un texto con erratas, porque los trozos en los que se parte quedan en una posición parecida a la de la palabra original.

3Con más precisión

El tokenizador es un programa que divide una cadena de texto en unidades de subpalabra siguiendo un vocabulario fijo, y convierte cada trozo en el identificador numérico de ese vocabulario. El método más representativo para construir el vocabulario es la codificación por pares de bytes (Byte Pair Encoding, fusión de pares de letras), y también se usan otros métodos que eligen el trozo según probabilidades. Hoy en día muchos parten desde el nivel de byte en vez del de letra, así que procesan sin romperse cualquier carácter que llegue. Cada trozo del vocabulario tiene además su propio embedding dentro del modelo, así que agrandar la lista agranda directamente esa tabla.

Aquí la analogía cojea. El casillero de la piscina guarda el bulto de verdad, pero el tokenizador no guarda nada: solo tiene la regla para cortar y convertir en números. Además, el casillero divide el bulto mirándolo y ajustándose a su tamaño, pero el tokenizador no mira el significado en absoluto. Solo se fija en si dos letras aparecieron juntas con frecuencia según la estadística, así que puede partir el centro de una palabra sin ningún reparo.

4Pruébalo

5Malentendidos comunes

  • Es fácil pensar que el tokenizador corta según el significado o la gramática, pero en realidad solo mira la frecuencia con la que dos letras aparecieron juntas, así que a veces parte el centro de una palabra.

  • Es fácil pensar que el tokenizador es el mismo en cualquier modelo, pero en realidad la lista cambia según el modelo, así que el número de trozos de la misma frase puede variar bastante.

  • Es fácil pensar que una palabra desconocida provoca un error, pero en realidad siempre se reparte en trozos más pequeños que sí están en la lista; lo único que aumenta es el número de trozos.

7Resumen en una línea

En resumenEl tokenizador es el dispositivo que reparte el texto en una lista fija de casilleros, le pone número y luego lo devuelve a su forma original, y esa lista cambia según el modelo.

¿Has visto un error o tienes una analogía mejor? Sugerir una corrección · Última actualización2026-09-02