Saltar al contenido principal

Arquitectura y Mecánica de la Tokenización en los LLM

🎧 Podcast: Tokenización

La tokenización es el proceso fundamental de dividir el texto en unidades más pequeñas llamadas tokens, que sirven como las unidades básicas de entrada y procesamiento para un LLM. Debido a que los modelos de lenguaje son funciones matemáticas que solo pueden procesar números, la tokenización actúa como el "sistema nervioso" que traduce nuestras palabras en impulsos numéricos.

1. ¿Qué es un Token?

Un token no es necesariamente una palabra; puede ser una palabra completa, una parte de una palabra (prefijos o sufijos), un** solo carácter** o incluso** signos de puntuación y emojis **.

  • Eficiencia: Los algoritmos modernos segmentan el texto para maximizar la información por cada unidad. Una palabra común suele ser un solo token, mientras que una palabra larga o técnica puede fragmentarse en 3 o 4 unidades.
  • Idioma: El español es menos eficiente que el inglés en este proceso, consumiendo entre un 1.2 y 1.5 veces más tokens para expresar la misma idea debido a la fragmentación de caracteres como las tildes o la "ñ".

2. El proceso de Tokenización

Para convertir texto en datos legibles por la máquina, se siguen generalmente estos pasos:

  • Normalización: El texto se estandariza (por ejemplo, convirtiéndolo a minúsculas o eliminando caracteres especiales).
  • División (Segmentation): Se utiliza un algoritmo (como BPE, WordPiece o SentencePiece) para "romper el texto" según los patrones aprendidos durante el entrenamiento del modelo.
  • Asignación de IDs: A cada fragmento se le asigna un identificador numérico único de un vocabulario predefinido (que suele tener entre 100,000 y 200,000 entradas).
  • Embeddings: Estos IDs se convierten finalmente en vectores numéricos que capturan el significado semántico y las relaciones entre los tokens en un espacio de alta dimensión.

Simulador de Tokenización

🧪 Simulador de tokenización

3. ¿Cómo generan tokens los LLM?

Un LLM funciona como una máquina probabilística que construye respuestas token a token mediante un ciclo llamado inferencia autoregresiva. El proceso sigue este bucle:

  • Análisis del contexto: El modelo lee todos los tokens previos (incluyendo las instrucciones del sistema y el historial de la charla).
  • Cálculo de Logits: Realiza una pasada hacia adelante (forward pass) para generar un valor bruto llamado logit para cada token posible de su vocabulario.
  • Distribución de Probabilidad: Mediante una función llamada softmax, convierte esos logits en probabilidades que suman 1 (o 100%).
  • Muestreo (Sampling): El modelo no siempre elige la opción con mayor probabilidad; realiza un "sorteo ponderado" donde los tokens más probables tienen más opciones de ganar, pero no la certeza absoluta.
  • Parámetros de control:
    • Temperatura: Controla la aleatoriedad. Una temperatura baja hace al modelo determinista y predecible; una alta lo vuelve más variado y creativo.
    • Top-k y Top-p: Limitan el conjunto de candidatos a los 'k' tokens más probables o a un subconjunto cuya probabilidad acumulada sume 'p'.

4. ¿Cuándo dejan de generar?

El proceso de generación se detiene cuando el modelo predice un token especial de fin de secuencia (EOS). Este token ha sido aprendido durante su entrenamiento para señalar que una respuesta ha concluido de forma natural; una vez generado, el código externo que gestiona el bucle detiene la operación.