términos del glosario
Tokenizador
- Categoría
- LLMs & Generative AI
- Dificultad
- Intermedio
Definición
Un tokenizador es un componente computacional que descompone el texto sin procesar en unidades más pequeñas llamadas tokens, que luego se mapean a identificadores numéricos para su procesamiento por modelos de aprendizaje automático.
Cómo funciona y contexto
En la IA moderna, los modelos no 'leen' el texto como lo hacen los humanos; procesan números. Un tokenizador actúa como la capa de preprocesamiento esencial que segmenta el texto de entrada en tokens, que pueden ser palabras, subpalabras o caracteres individuales. Los LLM modernos suelen utilizar la tokenización de subpalabras (como Byte-Pair Encoding o WordPiece), que equilibra el tamaño del vocabulario con la capacidad de manejar palabras raras o errores ortográficos al dividirlos en fragmentos significativos. Una vez segmentado, a cada token se le asigna un ID entero único del vocabulario del modelo. Esta secuencia numérica se convierte luego en vectores densos (incrustaciones) que el modelo utiliza para calcular relaciones y predecir tokens posteriores. La elección del tokenizador es fija durante el entrenamiento de un modelo; usar un tokenizador diferente al que se entrenó el modelo dará como resultado una salida sin sentido.
Por qué es importante
Debido a que los LLM tienen ventanas de contexto finitas medidas en tokens, la eficiencia del tokenizador afecta directamente cuánta información puede procesar un modelo a la vez.
Ejemplo real
Cuando ingresas la palabra 'infelicidad' en un LLM, el tokenizador podría dividirla en tres tokens: ['in', 'felic', 'idad']. Si el tokenizador del modelo es ineficiente, podría dividir la misma palabra en muchos más fragmentos, consumiendo más de la ventana de contexto del modelo y aumentando el costo de la llamada a la API. Los desarrolladores deben ser conscientes de estas divisiones para garantizar que sus instrucciones permanezcan dentro de los límites operativos del modelo.
Errores frecuentes
- Asumir que un token siempre equivale a una palabra; en realidad, una sola palabra puede ser múltiples tokens, y algunos tokens pueden ser partes de palabras.
- Usar un tokenizador que no coincide con el modelo específico que se está utilizando, lo que lleva a una entrada 'basura' y respuestas incoherentes del modelo.
- Ignorar el impacto de los espacios en blanco y la puntuación, que a menudo son tratados como tokens distintos por muchos modelos.
- Subestimar el costo de la tokenización para documentos largos, lo que lleva a una facturación de API inesperada o entradas truncadas.
Preguntas frecuentes
¿Por qué los modelos usan tokenización de subpalabras en lugar de solo palabras completas?
La tokenización de palabras completas crea un vocabulario imposiblemente grande y no logra manejar palabras nuevas, raras o mal escritas. La tokenización de subpalabras permite al modelo construir cualquier palabra a partir de un conjunto más pequeño y fijo de fragmentos comunes, haciéndolo más robusto y eficiente en memoria.
¿Puedo cambiar el tokenizador de un modelo preentrenado?
No. El tokenizador es una parte integral de la arquitectura del modelo. Los IDs numéricos generados por el tokenizador deben corresponder exactamente a las incrustaciones que el modelo aprendió durante el entrenamiento. Cambiarlo requeriría volver a entrenar el modelo desde cero.
¿Cómo puedo estimar cuántos tokens consumirá mi texto?
La mayoría de los proveedores de modelos ofrecen una herramienta de 'tokenizador' o 'tiktoken' que te permite ingresar texto y ver exactamente cómo se segmenta y cuántos tokens cuenta. Esta es la forma más precisa de predecir costos y uso de contexto.