Conceptos

Tokenización

Proceso de dividir texto en unidades discretas (tokens) que los modelos de lenguaje pueden procesar numéricamente, fundamental para cómo los LLMs entienden y generan texto.

seed#tokenization#bpe#tokens#nlp#llm#preprocessing

¿Qué es?

La tokenización es el proceso de convertir texto en una secuencia de tokens — unidades discretas que el modelo puede procesar. Los LLMs no ven caracteres ni palabras directamente; ven IDs numéricos que representan tokens de su vocabulario.

¿Por qué no usar palabras?

  • Vocabulario infinito: nuevas palabras, nombres propios, errores tipográficos
  • Idiomas: cada idioma tendría vocabulario diferente
  • Eficiencia: palabras raras desperdiciarían espacio en el vocabulario

Algoritmos principales

BPE (Byte Pair Encoding)

El más común. Comienza con caracteres individuales y fusiona iterativamente los pares más frecuentes:

"lower" → ["low", "er"]
"lowest" → ["low", "est"]

Usado por: GPT, Llama, Mistral.

WordPiece

Similar a BPE pero optimiza por likelihood del modelo de lenguaje. Usa prefijo ## para subpalabras:

"tokenization" → ["token", "##ization"]

Usado por: BERT, modelos de Google.

SentencePiece

Trata el texto como secuencia de bytes, sin preprocesamiento. Útil para idiomas sin espacios claros entre palabras.

Implicaciones prácticas

  • Costo: se cobra por token, no por palabra. «Tokenización» puede ser 1-3 tokens según el modelo
  • Contexto: la ventana de contexto se mide en tokens
  • Idiomas: español y otros idiomas con palabras más largas usan más tokens que inglés
  • Código: símbolos y sintaxis pueden tokenizarse de formas inesperadas
  • Números: los modelos tokenizaron números de formas que dificultan aritmética

Herramientas

  • tiktoken — Tokenizador de OpenAI
  • tokenizers — Biblioteca de Hugging Face
  • Playgrounds de cada proveedor suelen mostrar conteo de tokens

Ejemplo

Texto: "Los modelos de lenguaje son fascinantes"

GPT-4 tokens: ["Los", " modelos", " de", " lenguaje", " son", " fascin", "antes"]
= 7 tokens

Texto: "Language models are fascinating"
GPT-4 tokens: ["Language", " models", " are", " fascinating"]
= 4 tokens

El mismo concepto usa ~75% más tokens en español.

¿Por qué importa?

La tokenización determina cómo un modelo «ve» el texto. Un tokenizador ineficiente desperdicia contexto en tokens redundantes, aumenta costos y degrada la calidad en idiomas no ingleses. Entender cómo funciona permite optimizar prompts, estimar costos con precisión y diagnosticar comportamientos inesperados del modelo.

Referencias

Conceptos