Los modelos de IA entienden algo que llamamos tokens, no palabras
¿Qué es un token?
Un token es un fragmento de texto (puede ser una palabra completa, parte de una palabra, un signo de puntuación o un espacio)
👉 Regla mental rápida: 1 token ≈ 3–4 caracteres
Por ejemplo en la imagen del post:
Vemos que hay:
1️⃣ Token count = 29, es decir cuántos tokens ocupa ese texto (las piezas en que el modelo trocea la frase)
2️⃣ La lista de números (376, 449, 37218, …) son los ID internos de cada token en ese modelo por eso en la imagen se ven diferentes números, dependiendo de cada modelo lo hace de una forma u otra, básicamente son índices que apuntan a filas de su tabla de embeddings (son identificadores de cada modelo)
Qué tenemos que tener en cuenta por cada modelo?
- Cada modelo entrena su propio diccionario de subpalabras (BPE, SentencePiece, etc) La misma cadena se parte igual o parecido en cantidad, pero los IDs asignados no coinciden (a no ser que utilices de base algún modelo conocido)
- Reglas de segmentación diferentes
- Algunos tokenizadores tratan acentos o caracteres especiales de forma distinta.
Cada modelo tiene su propio set de tokens reservados para desplazar/ajustar IDs
PD: El paradigma de los tokens es muy posible que cambie, existe un cuello de botella con eso y ya hay bastantes avances con el tema de "tokenizer-free" que aprende desde bytes y diferentes propuestas que se encuentran en papers.