¿Qué son los tokens en IA y por qué un modelo lee las palabras a trozos?
Los tokens son los trozos de texto que un modelo de lenguaje lee y escribe. Un tokenizador corta el texto en fragmentos frecuentes: las palabras comunes quedan enteras, y las raras, los nombres nuevos y los números largos se dividen en varios trozos. Cada token se cambia por un número, su ID, para poder calcular con él. La longitud y el coste se cuentan en tokens.
▶ PruébaloPor qué importa
Un modelo nunca ve letras ni palabras enteras, solo IDs de tokens. Eso explica por qué le cuesta contar letras, por qué se lía con números largos y por qué algunos idiomas salen más caros.
En 6 minutos sabrás
- Cuando un modelo cuente mal las letras o se líe con un número largo, recuerda que ve trozos, no caracteres.
- El mismo encargo puede salir más barato y rápido en un idioma que necesite menos tokens por palabra.
- Cuando una herramienta muestre límites o precios «por token», piensa en trozos del tamaño aproximado de una palabra, no en palabras enteras.
Lo que vas a practicar
Haz de tokenizador
Toca los huecos entre letras para cortar cada palabra en tokens. Luego pulsa Tokenizar y compara. Los cortes y los IDs son ilustrativos, como los de un tokenizador típico.
- de → [de] #409
Las palabras muy comunes tienen su propio token. «de» aparece tanto que partirla sería malgastar espacio. - increíblemente → [in] #403 [creíble] #33246 [mente] #481
Las palabras largas se montan con trozos conocidos: «in», «creíble» y «mente» aparecen en miles de palabras más. - Vireo → [Vir] #53413 [eo] #78
Un nombre nuevo no está en el vocabulario, así que el tokenizador lo construye con trozos que sí conoce. Así se puede escribir cualquier palabra. - 1234567 → [123] #4513 [456] #10961 [7] #22
Muchos tokenizadores cortan los números largos en bloques de hasta tres cifras. El modelo nunca ve el número entero de golpe, y por eso las cuentas largas le pueden fallar. - tximeleta → [txi] #32065 [me] #4164 [le] #466 [ta] #2785
«Mariposa» en euskera. Los tokenizadores aprenden sobre todo de idiomas con muchísimo texto en la web, así que las palabras de idiomas con menos texto se parten en más trozos.
- Mismo significado, dos idiomas. ¿Cuál le cuesta más tokens a Vireo?
- A: I love cats. → [I] [·love] [·cats] [.] (4 tokens)
- B: Me encantan los gatos. → [Me] [·encant] [an] [·los] [·g] [atos] [.] (7 tokens)
- ¿Qué mensaje cuesta más tokens?
- A: Nos vemos a las 7. → [Nos] [·vemos] [·a] [·las] [·7] [.] (6 tokens)
- B: Nos vemos a las 19:45:30. → [Nos] [·vemos] [·a] [·las] [·19] [:] [45] [:] [30] [.] (10 tokens)
- de → [de] #409
¿Por qué trozos y no palabras?
Toca cada tarjeta para ver qué hay detrás.
- 🔢 ¿Por qué convertir el texto en números?
- Un modelo solo hace cálculos. Cada token se cambia por su ID, así que una frase se convierte en una lista de números con la que puede calcular.
- 📕 ¿Por qué no un token por palabra?
- Hay demasiadas palabras: nombres, erratas, jerga nueva. Una lista de palabras nunca está completa, pero con trozos se puede montar cualquier palabra, incluso una recién inventada.
- 🔤 ¿Por qué no letras sueltas?
- Entonces cada frase sería larguísima y al modelo le costaría mucho más ver el significado. Los trozos de palabra son el término medio.
- 🧮 ¿De dónde sale la lista de tokens?
- Antes de entrenar, un programa recorre mucho texto y va fusionando los pares de trozos más frecuentes hasta tener una lista fija, a menudo de decenas de miles de tokens.
Lo que explican los tokens
Marca todas las afirmaciones verdaderas.
- Un modelo lee IDs de tokens, no letras
- Las palabras comunes suelen ser un solo token
- Las palabras raras y nuevas se parten en trozos
- El mismo texto puede costar más tokens en otro idioma
- Cada palabra es exactamente un token
- Los tokens son simplemente sílabas
- Contar las letras de una palabra es fácil para un modelo
Recuerda
Un modelo lee el texto como trozos numerados llamados tokens. Las palabras comunes quedan enteras; las raras se montan con partes.
El texto se convierte en una lista de IDs de tokens. Las palabras comunes quedan enteras; las raras se montan con trozos.
Datos clave
- Dividir las palabras raras en subpalabras frecuentes con byte pair encoding se introdujo en la traducción automática neuronal en 2016 y es la base de la mayoría de tokenizadores de LLM actuales. · Fuente: Sennrich, Haddow & Birch, Neural Machine Translation of Rare Words with Subword Units, ACL 2016
- El tokenizador de GPT-2 tenía un vocabulario de 50.257 tokens. · Fuente: Radford et al., OpenAI, Language Models are Unsupervised Multitask Learners, 2019
- Llama 3 usa un tokenizador con un vocabulario de 128.000 tokens, que codifica el texto de forma más eficiente que el de su predecesor. · Fuente: Meta, Introducing Meta Llama 3, 2024
- El mismo texto traducido a distintos idiomas puede necesitar cantidades de tokens muy diferentes, así que procesar algunos idiomas cuesta más. · Fuente: Petrov et al., Language Model Tokenizers Introduce Unfairness Between Languages, NeurIPS 2023
Actualizado:
Preguntas frecuentes
¿Cuántas palabras es un token?
Depende del texto y del tokenizador. En inglés un token suele ser una palabra corta o parte de una larga; en español, con palabras más largas y menos texto de entrenamiento, 100 palabras suelen necesitar bastante más de 100 tokens. El código y los números también gastan más.
¿Por qué la IA no sabe contar las letras de una palabra?
El modelo nunca ve letras sueltas, solo IDs de trozos como «ferro» y «carril». Para contar letras tiene que recordar cómo se escribe cada trozo, y ahí es fácil equivocarse.
¿Qué es un tokenizador?
Un tokenizador es el programa que corta el texto en tokens y cambia cada uno por su ID antes de que el modelo lo vea. Se crea una sola vez, antes del entrenamiento, a partir de los trozos más frecuentes de una gran muestra de texto.
¿Por qué los modelos de IA cobran por token?
El trabajo de un modelo crece con el número de tokens que lee y escribe. Contar tokens mide ese trabajo de forma más justa que contar palabras o caracteres.
Términos relacionados
