Comparteix a través de


Descripción de los tokens

Los tokens son palabras, juegos de caracteres o combinaciones de palabras y puntuación que usan los modelos de lenguaje grandes (LLM) para descomponer el texto. La tokenización es el primer paso del entrenamiento. El LLM analiza las relaciones semánticas entre tokens, como la frecuencia con la que se usan juntos o si se usan en contextos similares. Después del entrenamiento, el LLM usa esos patrones y relaciones para generar una secuencia de tokens de salida en función de la secuencia de entrada.

Convertir texto en tokens

El conjunto de tokens únicos en los que se entrena un LLM se conoce como su vocabulario.

Por ejemplo, considere la siguiente oración:

I heard a dog bark loudly at a cat

Este texto se puede tokenizar así:

  • I
  • oído
  • a
  • perro
  • ladrar
  • fuerte
  • at
  • a
  • cat

Al tener un conjunto suficientemente grande de texto de entrenamiento, la tokenización puede compilar un vocabulario de muchos miles de tokens.

Métodos comunes de tokenización

El método de tokenización específico varía según el LLM. Estos son algunos de los métodos comunes de tokenización:

  • Tokenización de palabras: el texto se divide en palabras individuales basadas en un delimitador.
  • Tokenización de caracteres: el texto se divide en caracteres individuales.
  • Tokenización parcial: el texto se divide en palabras parciales o conjuntos de caracteres.

Por ejemplo, los modelos de GPT, desarrollados por OpenAI, usan un tipo de tokenización parcial que se conoce como codificación de byte-par (BPE). OpenAI proporciona una herramienta para visualizar cómo se tokenizará el texto.

Cada método de tokenización tiene sus ventajas y desventajas:

Tamaño del token Ventajas Desventajas
Tokens más pequeños (tokenización de caracteres o parcial) - Permite que el modelo controle una gama más amplia de entradas, como palabras desconocidas, errores tipográficos o sintaxis compleja.
- Puede permitir que se reduzca el tamaño del vocabulario, lo que requiere menos recursos de memoria.
- Un texto determinado se divide en más tokens, lo que requiere recursos computacionales adicionales mientras se procesa
- Dado un límite fijo de tokens, el tamaño máximo de la entrada y salida del modelo es menor.
Tokens más grandes (tokenización de palabras) - Un texto determinado se divide en menos tokens, lo que requiere menos recursos computacionales mientras se procesa.
- Dado el mismo límite de tokens, el tamaño máximo de la entrada y salida del modelo es mayor.
- Podría provocar un aumento del tamaño del vocabulario, lo que requiere más recursos de memoria.
- Puede limitar la capacidad de los modelos para controlar palabras desconocidas, errores tipográficos o sintaxis complejas.

Uso de tokens de LLM

Una vez que LLM completa la tokenización, asigna un identificador a cada token único.

Considere nuestra frase de ejemplo:

I heard a dog bark loudly at a cat

Una vez que el modelo usa un método de tokenización de palabras, podría asignar identificadores de token de la siguiente manera:

  • I (1)
  • heard (2)
  • a (3)
  • dog (4)
  • bark (5)
  • loudly (6)
  • at (7)
  • "a" (el token "a" ya tiene asignado el identificador 3)
  • cat (8)

Al asignar identificadores, el texto se puede representar como una secuencia de identificadores de token. La oración de ejemplo se representaría como [1, 2, 3, 4, 5, 6, 7, 3, 8]. La frase "I heard a cat" se representaría como [1, 2, 3, 8].

A medida que continúa el entrenamiento, el modelo agrega nuevos tokens en el texto de entrenamiento a su vocabulario y le asigna un identificador. Por ejemplo:

  • meow (9)
  • run (10)

Las relaciones semánticas entre los tokens se pueden analizar mediante estas secuencias de identificador de token. Los vectores numéricos con varios valores, conocidos como incrustaciones, se usan para representar estas relaciones. Una incrustación se asigna a cada token en función de la frecuencia con la que se usa junto con los demás tokens, o en contextos similares.

Una vez entrenado, un modelo puede calcular una inserción de texto que contenga varios tokens. El modelo tokeniza el texto y, a continuación, calcula un valor global de incrustaciones en función de las incrustaciones aprendidas de los tokens individuales. Esta técnica se puede usar para búsquedas de documentos semánticos o para agregar memorias a una inteligencia artificial.

Durante la generación de salida, el modelo predice un valor vectorial para el siguiente token de la secuencia. A continuación, el modelo selecciona el siguiente token del vocabulario basado en este valor vectorial. En la práctica, el modelo calcula varios vectores mediante el uso de varios elementos de las incrustaciones de los tokens anteriores. A continuación, el modelo evalúa todos los tokens potenciales de estos vectores y selecciona el más probable para continuar la secuencia.

La generación de salida es una operación iterativa. El modelo anexa el token de predicción a la secuencia hasta ese momento y lo usa como entrada para la siguiente iteración, creando la salida final de token en token.

Límites de tokens

Los LLM tienen limitaciones con respecto al número máximo de tokens que se pueden usar como entrada o generarse como salida. Esta limitación suele hacer que los tokens de entrada y salida se combinen en una ventana de contexto máxima.

Por ejemplo, GPT-4 admite hasta 8192 tokens de contexto. El tamaño combinado de los tokens de entrada y salida no puede superar los 8192.

En conjunto, el método de token y límite de tokens de un modelo determinan la longitud máxima del texto que se puede proporcionar como entrada o generar como salida.

Por ejemplo, considere un modelo que tenga una ventana de contexto máxima de 100 tokens. El modelo procesa nuestras oraciones de ejemplo como texto de entrada:

I heard a dog bark loudly at a cat

Mediante el uso de un método de tokenización basado en palabras, la entrada tiene nueve tokens. Así, quedan 91 tokens de palabra disponibles para la salida.

Mediante el uso de un método de tokenización basado en caracteres, la entrada es de 34 tokens (incluidos los espacios). Así, quedan solo 66 tokens de caracteres disponibles para la salida.

Precios y limitación de velocidad basados en tokens

Los servicios de IA generativa suelen usar precios basados en tokens. El coste de cada solicitud depende del número de tokens de entrada y salida. Los precios pueden diferir entre la entrada y la salida. Por ejemplo, consulte los precios del servicio Azure OpenAI.

Los servicios de IA generativa también pueden estar limitados con respecto al número máximo de tokens por minuto (TPM). Estos límites de frecuencia pueden variar en función de la región de servicio y LLM. Para más información sobre las regiones específicas, consulte límites y cuotas del servicio Azure OpenAI.