Es una medida de la capacidad del sistema. No indica con qué rapidez comienza o termina una solicitud individual.
Cómo funciona el rendimiento de inferencia
El cálculo básico es:
rendimiento = trabajo completado ÷ tiempo transcurrido
La palabra «trabajo» es importante. Para un clasificador de imágenes, puede significar imágenes procesadas. Para un modelo de lenguaje, puede significar solicitudes completadas o tokens procesados. Un resultado de «2.000 por segundo» no tiene sentido hasta saber qué se contó.
El rendimiento en tokens necesita una etiqueta adicional. El rendimiento de tokens de entrada mide el procesamiento de prompts. El rendimiento de tokens de salida mide los tokens generados. El rendimiento total de tokens combina ambos. Estas tasas describen trabajos diferentes y no deben compararse como si fueran la misma métrica.
El ámbito de medición también importa. Un resultado puede abarcar un acelerador, un servidor o una implementación completa con muchas réplicas. Dividir un resultado de toda la implementación entre el número de aceleradores puede ayudar a comparar la capacidad por acelerador, pero solo cuando el modelo y la carga de trabajo son equivalentes en los demás aspectos.
El rendimiento normalmente aumenta a medida que se ejecutan más solicitudes de forma simultánea. El sistema de servicio puede agrupar el trabajo mediante batching, aprovechando una mayor parte del hardware en cada paso de procesamiento. En los modelos de lenguaje, el continuous batching puede sustituir una secuencia terminada por otra que está esperando, en lugar de mantener todo el lote hasta que termine su secuencia más larga.
Esta mejora tiene un límite. Cuando se satura la computación, la memoria u otro recurso compartido, las solicitudes adicionales esperan en una cola. La tasa de entrada puede seguir aumentando, pero la tasa de finalización deja de crecer a la par. Entonces la latencia empeora, aunque el rendimiento bruto cambie poco.
Por eso, un resultado de capacidad útil suele ser un rendimiento sostenible con un objetivo de latencia. El benchmark aumenta la carga, mide el trabajo completado y comprueba que se sigan cumpliendo los límites de tiempo de respuesta. La última carga que cumple los requisitos es más útil para planificar un servicio en línea que un pico sin restricciones.
Un ejemplo práctico
Supongamos que un benchmark envía la misma combinación de prompts a un servidor de modelos durante 60 segundos. El servidor completa 1.200 solicitudes y genera 180.000 tokens de salida.
- Rendimiento de solicitudes:
1.200 ÷ 60 = 20 solicitudes por segundo - Rendimiento de tokens de salida:
180.000 ÷ 60 = 3.000 tokens de salida por segundo
Esas son dos perspectivas de la misma ejecución. La tasa de solicitudes ayuda a estimar cuántas interacciones puede completar el servidor. La tasa de tokens refleja las diferencias en la longitud de las respuestas que el recuento de solicitudes oculta.
Ahora aumenta la carga ofrecida a 30 solicitudes por segundo. El servidor completa 22 por segundo, pero entran ocho solicitudes más en la cola cada segundo y no se cumple el objetivo de latencia. La carga ofrecida es de 30 solicitudes por segundo. El rendimiento de finalización observado es de 22 solicitudes por segundo. Ninguno de estos datos demuestra que el servicio pueda manejar de forma sostenible 30 solicitudes por segundo.
Si 20 solicitudes por segundo fue la carga máxima probada que mantuvo estable la cola y cumplió el objetivo de latencia, entonces 20 es la cifra de capacidad defendible para esa carga de trabajo y ese objetivo.
Por qué importa el rendimiento de inferencia
El rendimiento indica al operador cuánto hardware se necesita para la demanda prevista. También permite calcular medidas de coste, como solicitudes completadas por dólar o tokens de salida por hora de acelerador.
En los trabajos sin conexión, un mayor rendimiento puede acortar la ventana total de procesamiento. En un servicio en línea, contar con suficiente rendimiento evita que las solicitudes entrantes se acumulen más rápido de lo que el sistema puede completarlas.
El objetivo depende del producto. Una canalización por lotes puede aceptar esperas largas para maximizar el trabajo total. Una aplicación interactiva necesita suficiente rendimiento y, al mismo tiempo, debe conservar tiempos de respuesta individuales ágiles. Una métrica más estricta, denominada goodput, cuenta únicamente el trabajo que también cumple los objetivos de latencia del servicio.
Conceptos erróneos frecuentes
Un mayor rendimiento significa que cada respuesta es más rápida
No necesariamente. Procesar por lotes más solicitudes puede aumentar la salida total del servidor, mientras cada solicitud espera más tiempo o recibe tokens más lentamente. El rendimiento describe el sistema completo; la latencia describe el tiempo de espera de una solicitud individual.
Tokens por segundo siempre significa rendimiento
«Tokens por segundo» puede describir tanto el rendimiento agregado de tokens como la tasa de generación que experimenta un solo usuario. Pregunta si la cifra abarca una solicitud o todas las solicitudes simultáneas, y si cuenta los tokens de entrada, los de salida o ambos.
La tasa de solicitudes es el rendimiento
La tasa de solicitudes es lo que llega. El rendimiento es lo que se completa. Solo son parecidos mientras el sistema puede mantener el ritmo. Si las llegadas superan a las finalizaciones, la cola crece hasta que las solicitudes se retrasan, se rechazan o se descartan.
Un único número de rendimiento basta para comparar sistemas
El rendimiento depende del modelo, los tamaños de entrada y salida, el patrón de batching o concurrencia, el alcance del hardware, la ventana de medición y los límites de latencia. Si cambia la carga de trabajo, la cifra puede cambiar aunque el sistema no lo haga.
Qué leer a continuación
Lee ¿Qué es la inferencia en IA? para conocer el proceso cuya capacidad mide el rendimiento. Compáralo con la latencia de inferencia, que registra el tiempo de espera, y con tokens por segundo, que a menudo describe la velocidad de generación. Para conocer la distinción completa, consulta Latencia frente a TTFT, tokens por segundo y rendimiento.