Calculadora de rendimiento de inferencia por lotes
Datos de entrada
| Tamaño de lote | 32 |
|---|---|
| Tokens de salida por solicitud | 256 |
| Tiempo de finalización del lote | 5 s |
Calculadora de rendimiento de inferencia por lotes
Convierte un tiempo de finalización de lote medido en tokens por segundo agregados, velocidad por solicitud y solicitudes por segundo: el compromiso entre rendimiento y latencia del servicio de LLM por lotes.
Datos de entrada
Lote
Resultados
Introduce un valor para ver los resultados.
Detalles
El rendimiento de inferencia por lotes
La inferencia por lotes es la forma en que los servidores de modelos de lenguaje en producción alcanzan una alta utilización: en lugar de decodificar una solicitud cada vez, procesan muchas juntas. Como los pesos del modelo se leen una sola vez y se reutilizan para todo el grupo, la salida total del servidor crece de forma marcada con el tamaño de lote, pero cada solicitud individual espera a que el lote termine. Esta calculadora separa esas dos perspectivas, convirtiendo un tiempo de finalización de lote medido en rendimiento agregado, velocidad por solicitud y una tasa de solicitudes.
El compromiso del agrupamiento por lotes
La decodificación autorregresiva está limitada por la memoria: cada paso lee todos los pesos para producir un token. Cuando hay una única solicitud en vuelo, casi todo ese tráfico de memoria sirve a un solo usuario. Al agrupar varias solicitudes en un lote, la misma lectura de pesos produce un token para cada solicitud a la vez, de modo que la tasa de tokens agregada aumenta con el tamaño de lote mientras el coste de ancho de banda apenas cambia. La contrapartida es la latencia: una solicitud no puede salir hasta que se completa el paso del lote que la contiene, así que la velocidad por solicitud no mejora y puede descender ligeramente a medida que crecen los lotes.
Las fórmulas
A partir del tamaño de lote , los tokens de salida por solicitud y el tiempo de finalización del lote medido :
vaggvreqR=tbB×Nout=tbNout=tbBdonde es el rendimiento agregado, es el rendimiento por solicitud y son las solicitudes completadas por segundo. El agregado es simplemente la velocidad por solicitud multiplicada por el tamaño de lote.
Ejemplo resuelto
Un servidor decodifica un lote de 32 solicitudes, cada una de las cuales produce 256 tokens, y el lote termina en 5 segundos:
vaggvreqR=532×256=1638.4 tokens/s=5256=51.2 tokens/s=532=6.4 requests/sEl operador ve más de 1.600 tokens por segundo saliendo del servidor, pero cada usuario lee a unos 51 tokens por segundo. Duplicar el lote a 64 —si la memoria lo permite y el tiempo de finalización se mantiene cerca de 5 segundos— duplicaría aproximadamente el agregado dejando la cifra por solicitud sin cambios.
Elección de un tamaño de lote
El rendimiento agregado sigue aumentando con el tamaño de lote solo mientras el trabajo permanece limitado por la memoria. Una vez que el lote satura el cómputo o la caché de claves y valores agota la memoria del dispositivo, el tiempo de finalización crece más rápido que el lote y la latencia por solicitud se degrada. El objetivo práctico es el lote más grande que mantiene la latencia por solicitud aceptable mientras la memoria todavía cabe, hallado midiendo el tiempo de finalización con varios tamaños de lote. Los servidores reales también usan agrupamiento continuo, en el que las solicitudes se incorporan y salen en cada paso en lugar de hacerlo como un grupo fijo, lo que eleva aún más el rendimiento sostenido. Para el techo de un único flujo que fija , véase la Calculadora de rendimiento de inferencia; para la capacidad a nivel de flota entre muchas réplicas, véase la Calculadora de tokens efectivos por segundo.
Preguntas frecuentes (FAQ)
¿Por qué es el rendimiento agregado tan superior al rendimiento por solicitud?
El rendimiento agregado cuenta todos los tokens que el servidor emite en todas las solicitudes del lote, mientras que el rendimiento por solicitud es lo que experimenta un único usuario. El agrupamiento por lotes lee cada peso del modelo una sola vez y lo reutiliza para todo el grupo, de modo que el total de tokens servidos crece aproximadamente en proporción al tamaño de lote.
La solicitud individual, sin embargo, sigue teniendo que esperar a que el lote termine, así que su velocidad percibida no mejora, e incluso puede descender ligeramente a medida que crece el lote. Este es el compromiso central del servicio por lotes: rendimiento para el operador frente a latencia para el usuario.
¿Es siempre mejor un lote mayor?
Solo hasta cierto punto. El rendimiento agregado aumenta con el tamaño de lote mientras el trabajo permanece limitado por la memoria, pero una vez que el lote satura el cómputo o la caché de claves y valores agota la memoria, el tiempo de finalización crece más rápido que el lote y la latencia por solicitud se resiente.
El punto óptimo en la práctica es el lote más grande que mantiene la latencia por solicitud dentro del objetivo mientras la memoria todavía cabe, lo que se halla midiendo el tiempo de finalización con varios tamaños de lote.
¿Cómo modifica esto el agrupamiento continuo?
Esta calculadora modela un lote fijo que empieza y termina junto. Los servidores modernos usan agrupamiento continuo (en vuelo), en el que nuevas solicitudes se incorporan y las terminadas salen en cada paso, manteniendo el acelerador lleno incluso cuando las longitudes de secuencia difieren.
Eso eleva el rendimiento agregado sostenido por encima de la estimación de lote fijo, pero se mantiene el mismo compromiso: el total de tokens por segundo mejora mientras que cualquier solicitud individual está acotada por la velocidad de decodificación.
Aviso legal
Las estimaciones suponen que todas las solicitudes del lote generan el mismo número de tokens y empiezan a la vez. Las cargas de trabajo reales mezclan longitudes de secuencia y usan agrupamiento continuo, por lo que el rendimiento agregado medido diferirá. Conviene medir con varios tamaños de lote en el hardware de destino antes de dimensionar la capacidad.
Recomendaciones
Calculadora de rendimiento de inferencia
Estima el límite que impone el ancho de banda de memoria a la velocidad de decodificación de un LLM a partir del tamaño del modelo, la precisión de los pesos y el ancho de banda de memoria del acelerador: el techo (roofline) de tokens por segundo de un único flujo.