Un token es la unidad fundamental de texto que un modelo de lenguaje lee y escribe. En el contexto de los grandes modelos de lenguaje, los tokens no son necesariamente palabras completas; pueden ser subpalabras, caracteres o incluso representaciones a nivel de bytes. El proceso de convertir texto sin procesar en tokens se denomina tokenización, y es un paso de preprocesamiento crítico que determina cómo un modelo interpreta y genera lenguaje. Todas las métricas operativas de un modelo de lenguaje, incluidos el precio, el tamaño de la ventana de contexto y la velocidad de procesamiento, se miden en tokens, lo que los convierte en la moneda de los sistemas modernos de inteligencia artificial.
La tokenización permite a los modelos manejar un vocabulario vasto de manera eficiente. En lugar de almacenar cada palabra posible, un tokenizador divide el texto en piezas más pequeñas basadas en un vocabulario aprendido, que típicamente varía de 30,000 a 100,000 tokens. Por ejemplo, la palabra "infelicidad" podría dividirse en "in", "felic" y "idad", mientras que palabras comunes como "el" permanecen como tokens únicos. Este enfoque equilibra la eficiencia computacional con la cobertura lingüística, permitiendo a los modelos procesar diversos idiomas y jerga técnica sin un tamaño de diccionario impráctico.
Métodos de Tokenización
Se han desarrollado varios algoritmos de tokenización a lo largo de los años. La codificación por pares de bytes (BPE), introducida por Rico Sennrich y sus colegas en 2016, es uno de los métodos más utilizados. BPE fusiona iterativamente los pares más frecuentes de caracteres o subpalabras en un corpus de entrenamiento hasta alcanzar un tamaño de vocabulario objetivo. Otro método popular es WordPiece, desarrollado en Google, que utiliza un enfoque basado en la verosimilitud para seleccionar fusiones. Más recientemente, SentencePiece, creado por Google, trata todo el texto como una secuencia de caracteres y puede manejar idiomas sin límites de palabras claros, como el japonés o el chino.
La tokenización mediante modelo de lenguaje unigrama, también implementada en SentencePiece, adopta un enfoque probabilístico al seleccionar la segmentación más probable de un texto basándose en un modelo unigrama entrenado. Cada método tiene compensaciones en términos de tasa de compresión, manejo de palabras fuera de vocabulario y rendimiento del modelo posterior. La elección del tokenizador afecta significativamente cómo un modelo comprende palabras raras, variaciones morfológicas y texto multilingüe.
Rol en los Modelos de Lenguaje
En los modelos basados en transformadores, los tokens se convierten en incrustaciones numéricas que sirven como entrada a la red neuronal. A cada token se le asigna un ID entero único del vocabulario, y estos IDs se mapean a vectores de alta dimensión que capturan información semántica y sintáctica. El modelo procesa secuencias de estas incrustaciones a través de múltiples capas de atención y redes de avance, aprendiendo patrones y relaciones entre tokens.
Durante la generación, el modelo produce una distribución de probabilidad sobre todo el vocabulario de tokens para el siguiente token, dado el contexto precedente. Este proceso autorregresivo continúa hasta que se produce un token especial de fin de secuencia o se alcanza una longitud máxima. La granularidad de los tokens afecta la capacidad del modelo para generar texto coherente; los tokens de subpalabras permiten una composición flexible de nuevas palabras, mientras que los tokens a nivel de caracteres requerirían secuencias mucho más largas y más cómputo.
Ventana de Contexto y Límites
El tamaño de la ventana de contexto, medido en tokens, define cuánto texto puede considerar un modelo a la vez. Modelos tempranos como GPT-2 tenían ventanas de contexto de 1,024 tokens, mientras que modelos modernos como GPT-4 Turbo admiten hasta 128,000 tokens, y algunos modelos como Claude 3 ofrecen contextos de 200,000 tokens. Estos límites impactan directamente los tipos de tareas que un modelo puede realizar, como analizar documentos largos, resumir libros completos o mantener conversaciones coherentes en interacciones extendidas.
Cuando la entrada excede la ventana de contexto, los modelos típicamente truncan los tokens más antiguos o usan técnicas como ventanas deslizantes o aumento por recuperación para manejar textos más largos. La ventana de contexto también influye en el uso de memoria y el costo computacional; contextos más largos requieren más cálculos de atención, que escalan cuadráticamente con la longitud de la secuencia en transformadores estándar. Esto ha motivado la investigación en mecanismos de atención eficientes, como la atención dispersa y la atención lineal, para extender las longitudes de contexto sin demandas de recursos prohibitivas.
Precio y Costo
Los proveedores de API cobran según el uso de tokens, típicamente diferenciando entre tokens de entrada y de salida. Por ejemplo, el GPT-4 Turbo de OpenAI cuesta $0.01 por 1,000 tokens de entrada y $0.03 por 1,000 tokens de salida, mientras que el Claude 3 Opus de Anthropic cobra $0.015 por entrada y $0.075 por salida por 1,000 tokens. Estos precios reflejan el costo computacional de procesar tokens, siendo los tokens de salida más caros debido al proceso de generación secuencial.
El recuento de tokens también determina el costo de ajuste fino y entrenamiento. Entrenar un modelo implica procesar miles de millones de tokens, y el costo total escala linealmente con el número de tokens. Por ejemplo, entrenar un modelo de 70 mil millones de parámetros como Llama 2 requirió aproximadamente 2 billones de tokens, costando millones de dólares en cómputo. Comprender el precio de los tokens es esencial para presupuestar aplicaciones de IA, especialmente aquellas que involucran procesamiento de texto a gran escala o interacciones en tiempo real.
Velocidad y Rendimiento
La velocidad de procesamiento se mide en tokens por segundo (TPS). La velocidad de inferencia varía ampliamente según el hardware y el tamaño del modelo. En GPUs de alta gama como NVIDIA A100, un modelo de 7 mil millones de parámetros podría generar 20-30 tokens por segundo, mientras que modelos más pequeños en hardware especializado pueden alcanzar cientos de tokens por segundo. Empresas como Groq han desarrollado chips personalizados que logran un rendimiento extremadamente alto, con su LPU (Unidad de Procesamiento de Lenguaje) entregando más de 500 tokens por segundo para algunos modelos.
La velocidad es crítica para aplicaciones en tiempo real como chatbots, completado de código y traducción en vivo. La latencia, el tiempo hasta el primer token, también se mide en milisegundos y depende del tamaño del modelo y la eficiencia de la pila de inferencia. Técnicas como cuantización, poda de modelos y decodificación especulativa se utilizan para mejorar el rendimiento de tokens, permitiendo despliegues más receptivos y rentables.
Eficiencia de Tokens y Optimización
Investigadores y profesionales buscan continuamente mejorar la eficiencia de tokens. Esto incluye desarrollar tokenizadores que compriman el texto de manera más efectiva, reduciendo el número de tokens necesarios para representar la misma información. Por ejemplo, algunos modelos usan tokenización a nivel de bytes para manejar texto arbitrario, mientras que otros emplean vocabularios especializados para código o notación científica.
La ingeniería de prompts también se centra en la eficiencia de tokens, ya que prompts más cortos reducen costo y latencia. Técnicas como ajuste por instrucciones y aprendizaje con pocos ejemplos buscan lograr resultados deseados con un uso mínimo de tokens. Además, la destilación de modelos y la cuantización pueden reducir el costo computacional por token, haciendo que los modelos sean más rápidos y baratos de ejecutar sin una pérdida significativa de rendimiento.
Direcciones Futuras
A medida que los modelos de lenguaje evolucionan, la tokenización sigue siendo un área activa de investigación. Los modelos multimodales ahora tokenizan no solo texto, sino también imágenes, audio y video, usando tokenizadores separados o unificados. Por ejemplo, modelos como GPT-4V procesan parches de imágenes como tokens, mientras que los modelos de audio convierten formas de onda en representaciones discretas. Esta expansión de tipos de tokens permite sistemas de IA más versátiles que pueden comprender y generar a través de modalidades.
También hay un interés creciente en la tokenización dinámica, donde la segmentación se adapta según el contexto o la tarea. Algunas investigaciones exploran el uso de unidades de tokens más grandes, como frases completas u oraciones, para mejorar la eficiencia y la coherencia. Sin embargo, estos enfoques enfrentan desafíos para mantener la flexibilidad y manejar entradas novedosas. El desarrollo continuo de técnicas de tokenización seguirá moldeando las capacidades y la economía de los modelos de lenguaje.