Cómo funcionan los tokens por segundo
El cálculo básico es:
TPS = tokens contabilizados / segundos transcurridos
Durante la inferencia, un modelo de lenguaje produce tokens como salida. Medir su velocidad parece sencillo, pero un benchmark debe tomar tres decisiones:
- ¿De quién son los tokens? De una sola solicitud o de todas las solicitudes simultáneas del sistema.
- ¿Qué tokens? Tokens de salida, tokens de entrada o ambos.
- ¿Qué segundos? Solo el periodo de generación posterior al primer token, el tiempo completo de la solicitud o toda la ventana del benchmark.
Estas decisiones generan dos significados comunes.
La velocidad de salida por solicitud describe la rapidez con la que se transmite una respuesta después de comenzar. A menudo se calcula a partir de los intervalos entre los tokens de salida, excluyendo la espera inicial. Este es el TPS que más se aproxima a lo que una persona ve mientras aparece el texto.
El TPS de salida del sistema suma los tokens de salida de todas las solicitudes y los divide entre la duración del benchmark. Mide la capacidad total de generación de la implementación. Las definiciones de benchmarking de NVIDIA y la guía de métricas de Anyscale distinguen estos dos alcances porque pueden evolucionar en direcciones opuestas cuando cambia la carga.
También puedes ver TPS de entrada, que mide el procesamiento del prompt, o TPS total, que combina los tokens de entrada y de salida. Comprueba la etiqueta antes de comparar valores. El procesamiento de entrada y la generación de salida son tareas distintas, aunque ambas usan tokens.
Un ejemplo práctico
Supón que envías una solicitud en 0,0 s. Produce 41 tokens de salida:
- El primer token llega en
0,4 s. - El token final llega en
2,4 s. - Los 40 intervalos posteriores al primer token abarcan
2,0 s.
La velocidad de salida constante es:
40 intervalos / 2,0 segundos = 20 tok/s
Una herramienta que incluya toda la solicitud podría calcular, en cambio:
41 tokens de salida / 2,4 segundos = 17,1 tok/s
Los dos resultados proceden de la misma respuesta. El primero aísla la generación después de que comienza la salida. El segundo incluye la espera inicial y usa todos los tokens de salida. La documentación actual no emplea una convención universal: Artificial Analysis excluye la espera hasta el primer token de la velocidad de salida, mientras que algunas métricas de extremo a extremo la incluyen.
Ahora cambia el alcance. Durante un benchmark de cinco segundos, varias solicitudes simultáneas producen un total de 400 tokens de salida:
400 tokens de salida / 5 segundos = 80 tok/s del sistema
Esos 80 tok/s representan capacidad agregada. No indican que una sola respuesta se haya transmitido a 80 tok/s.
Por qué importan los tokens por segundo
El TPS por solicitud te ayuda a evaluar con qué rapidez llegará una respuesta larga una vez que comience. Es importante para el chat, la generación de código y cualquier flujo de trabajo que consuma una respuesta transmitida antes de que esté completa.
El TPS del sistema ayuda a planificar la capacidad y los costes. Muestra cuánto contenido de salida puede producir una implementación bajo una carga determinada. Aumentar la concurrencia puede mejorar esta tasa agregada al utilizar el hardware de forma más eficiente, pero también puede ralentizar cada solicitud. Un sistema de alta capacidad no ofrece automáticamente una experiencia rápida a un solo usuario.
El TPS nunca cuenta toda la historia del tiempo de respuesta. Combina el TPS por solicitud con el tiempo hasta el primer token, que mide la espera antes de que comience la salida. Combina el TPS del sistema con el rendimiento de inferencia y la latencia bajo carga. Una implementación solo es útil si produce suficiente trabajo y, al mismo tiempo, satisface las necesidades de tiempo de respuesta de su aplicación.
Qué cambia un resultado de TPS
El TPS es una propiedad de una configuración medida, no solo del nombre de un modelo. Puede cambiar según:
- la arquitectura y el tamaño del modelo;
- el hardware y el número de dispositivos;
- el motor de inferencia, la precisión numérica, el almacenamiento en caché y el método de decodificación;
- las longitudes del prompt y de la salida;
- la concurrencia, el batching, la tasa de solicitudes y otros patrones de tráfico;
- el tokenizador utilizado para contar los tokens; y
- los efectos del lado del cliente, como los fragmentos transmitidos y la entrega a través de la red.
Los prompts más largos pueden modificar tanto la espera inicial como la velocidad de salida posterior. La velocidad de salida también puede variar según el contenido generado cuando el motor de servicio utiliza métodos como la decodificación especulativa. Por tanto, un resultado reproducible debe indicar el modelo y el endpoint, la forma de la carga de trabajo, la carga, el tokenizador y la fórmula exacta. La documentación de benchmarks de vLLM recomienda comparar los puntos de medición y las fórmulas, no solo los nombres de las métricas.
Malentendidos frecuentes
«El TPS me indica cuándo comienza la respuesta»
El TPS suele describir la tasa durante la generación o a lo largo de una ventana de benchmark. No aísla la espera en blanco antes del primer token. Dos sistemas pueden tener el mismo TPS de salida y tiempos hasta el primer token muy diferentes.
«Un TPS mayor del sistema significa una respuesta más rápida para mí»
No necesariamente. Atender más solicitudes conjuntamente puede aumentar el TPS total del sistema mientras cada solicitud recibe tokens con menor frecuencia. Pregunta si el resultado es por solicitud o agregado.
«Un token es una palabra»
Los tokens no son unidades fijas de texto visible. Distintos tokenizadores pueden dividir la misma oración de manera diferente, por lo que valores iguales de tok/s pueden corresponder a cantidades distintas de texto. Por este motivo, los benchmarks entre modelos a veces vuelven a tokenizar las salidas con un tokenizador común.
«El TPS es una métrica estandarizada única»
No existe una definición única obligatoria. El TPS puede excluir o incluir la espera hasta el primer token, y puede contar únicamente los tokens de salida o combinar los tokens de entrada y de salida. Lee siempre la fórmula.
Qué consultar después
Usa la latencia de inferencia para comprender el retraso de la respuesta, el tiempo hasta el primer token para la espera inicial y el rendimiento de inferencia para la capacidad total de servicio. Para conocer los límites entre estas cuatro mediciones, consulta Latencia frente a TTFT frente a tokens por segundo frente a rendimiento.