← Blog
October 1, 2025

Explicación del procesamiento por lotes continuo para la inferencia de LLM

El tráfico real es desordenado. Llegan nuevas solicitudes, mientras que otras son de mitad de generación. El procesamiento continuo por lotes es especialmente importante para la inferencia de modelos de lenguaje de gran tamaño (LLM) y otros modelos de IA utilizados en aplicaciones del mundo real, donde la eficiencia del servicio y la utilización de los recursos son fundamentales. Si el servidor espera a que termine un lote completo antes de iniciar el siguiente, las GPU permanecen inactivas y los usuarios esperan.

El procesamiento continuo por lotes mantiene la cola en movimiento, por lo que la GPU rara vez se detiene, lo que es crucial para una generación de texto eficiente. Puede lograr mejoras de rendimiento de hasta 23 veces más que con el procesamiento por lotes ingenuo en escenarios de inferencia de LLM. Además, el procesamiento continuo por lotes carga las ponderaciones del modelo a nivel de token en lugar de a nivel de solicitud, lo que mejora aún más la eficiencia.

Los sistemas continuos pueden procesar materiales las 24 horas del día para maximizar la producción y acelerar la producción. El procesamiento continuo por lotes permite a los fabricantes alcanzar altos volúmenes de producción y, al mismo tiempo, garantizar un control preciso de las proporciones de los ingredientes y la calidad de la mezcla para las diferentes formulaciones.

La medición y el almacenamiento de los ingredientes se pueden realizar en una tolva situada en la parte superior de la batidora, lo que permite preparar el siguiente lote mientras se mezcla el anterior.

Rellenar previamente o decodificar

Rellenar previamente es la primera pasada en la que el modelo lee toda la entrada o la secuencia de entrada (además de la solicitud) y crea la caché de claves/valores. Decodificar es la generación paso a paso que produce símbolos para cada secuencia de entrada o consulta.

Durante el prellenado, los tokens de entrada se procesan en paralelo, mientras que las secuencias se gestionan paso a paso durante la decodificación. A Prefill le gusta trabajar mucho en paralelo; la decodificación se beneficia de muchos pequeños pasos juntos. Los buenos programadores los tratan de forma diferente.

El procesamiento continuo por lotes no requiere modificar el modelo y permite optimizaciones de memoria avanzadas. Por ejemplo, PageDAttention asigna la memoria en páginas de tamaño fijo, lo que permite el almacenamiento en caché de KV no contiguos para mejorar la eficiencia de la memoria. PageDattention reduce la fragmentación interna al asignar las ranuras de memoria de la GPU a pedido y no por adelantado.

Start in seconds with the fastest, most affordable cloud GPU clusters.

Launch an instance in under a minute. Enjoy flexible pricing, powerful hardware, and 24/7 support. Scale as you grow—no long-term commitment needed.

Try Compute now

Cómo funciona el procesamiento por lotes continuo

  • Admita nuevos trabajos en cada paso. El planificador utiliza la programación a nivel de iteración, lo que le permite procesar nuevas solicitudes en cada paso en lugar de esperar a que se establezca un límite de lote. Esto mejora la utilización de la GPU y garantiza un manejo eficiente de las secuencias entrantes.
  • Comparta la caché KV. El servidor divide la memoria caché en pequeños bloques, almacenándolos y reutilizándolos para una administración eficiente de la memoria y el almacenamiento en caché kv. Los bloques terminados vuelven a un grupo para que las nuevas solicitudes no se queden sin memoria, lo que optimiza el uso de la memoria.
  • Crece y se encoge sobre la marcha. A medida que las solicitudes finalizan o se cancelan, el tamaño del lote activo cambia sin forzar el reinicio. Este enfoque dinámico optimiza el uso de la memoria y el ancho de banda de la memoria al asignar los recursos según sea necesario.
  • Transmite sobre la marcha. Los clientes ven los tokens tan pronto como comienza la decodificación, incluso cuando se admiten otras solicitudes. El procesamiento continuo por lotes funciona a nivel de token y mejora la utilización de la GPU al procesar nuevas solicitudes a medida que los tokens están disponibles.

El procesamiento continuo por lotes también ayuda a administrar los pesos del modelo de manera eficiente durante la inferencia. El rendimiento y la latencia mejoran en todos los percentiles cuando se utiliza el procesamiento por lotes continuo en la inferencia de LLM. La inferencia de LLM depende de la E/S de la memoria, no del cálculo, lo que significa que se tarda más tiempo en cargar los datos en la GPU que en realizar los cálculos.

Sin embargo, la fabricación continua normalmente requiere una importante inversión de capital y el proceso es más complejo que los sistemas de lotes tradicionales. En la fabricación de medicamentos, el procesamiento continuo por lotes permite monitorear la calidad en tiempo real y, al mismo tiempo, definir lotes específicos para cumplir con los requisitos reglamentarios.

La fabricación continua de productos farmacéuticos puede incorporar el procesamiento por lotes para segmentos como la síntesis de varios pasos, en la que los productos intermedios se aíslan y validan antes de continuar en un flujo continuo.

Por qué ayuda a TTFT y TPS

  • Colas más cortas. Las nuevas solicitudes se incorporan rápidamente a la programación, lo que reduce tiempo hasta el primer token (TTFT). Los pasos de decodificación pueden ser límite de cómputos, y un script de evaluación comparativa se usa con frecuencia para medir estos efectos.
  • Mayor utilización. Los pasos de decodificación están empaquetados, así que fichas por segundo (TPS) se mantiene alto incluso cuando las indicaciones y las salidas difieren en longitud, mejorar el rendimiento. Resultados de referencia y resultados de evaluación comparativa muestran el impacto del procesamiento continuo por lotes en el rendimiento y la eficiencia.
  • Puntas más suaves. El planificador absorbe las ráfagas de tráfico en lugar de formar intervalos largos e inactivos. La inferencia de LLM depende de la memoria y la E/S, lo que significa que el rendimiento depende en gran medida del tamaño que puede caber un lote en una memoria de GPU de gran ancho de banda.
  • El procesamiento dinámico por lotes es excelente para el tráfico en vivo en los modelos porque mejora tanto la latencia como el rendimiento. El procesamiento dinámico por lotes es ideal para las implementaciones de producción sensibles a la latencia. La calidad uniforme del producto en sistemas continuos se logra integrando todas las operaciones en una línea única e ininterrumpida, lo que evita la segregación del material. Las plantas de producción de alimentos suelen utilizar la cocción continua para preparar los ingredientes básicos y luego los mezclan con diferentes especias.

Límites y compensaciones

  • Presión de memoria. Los mensajes largos y las salidas largas aumentan la caché KV. Reservar la memoria de la GPU para la cantidad máxima de tokens puede generar ineficiencias, ya que la memoria reservada no utilizada puede desperdiciarse si la longitud de entrada del usuario es inferior al máximo reservado. Cuando el margen de maniobra es reducido, el TTFT aumenta y el TPS disminuye.
  • Equidad frente a velocidad. Empacar agresivamente puede matar de hambre a los mensajes prolongados. Los modelos propietarios pueden tener diferentes límites de longitud máxima de contexto, lo que afecta a las estrategias de procesamiento por lotes y a la forma en que se gestionan las entradas de los usuarios de longitudes variables. Añada reglas sencillas de equidad y límites de producción.
  • Nerviosismo. El streaming intercala a muchos usuarios. La longitud variable de las entradas de los usuarios puede contribuir a la variación en la temporización de los tokens. La temporización de los tokens varía un poco, lo que está bien para chatear, pero no tanto para tareas difíciles en tiempo real. El procesamiento continuo por lotes requiere algoritmos de programación sofisticados y sistemas de respaldo sólidos para gestionar el procesamiento de cargas de trabajo variables.

Además, el procesamiento continuo por lotes implica tecnología de automatización avanzada y sistemas de control complejos que requieren experiencia especializada. Las operaciones secuenciales del procesamiento continuo por lotes implican cargar el siguiente lote previamente pesado en la mezcladora mientras se descarga el lote actual, lo que crea un flujo de trabajo fluido. La implementación de un sistema de procesamiento por lotes continuo exige una inversión significativa en infraestructura de hardware y software.

Lista de verificación de ajuste

En esta sección se describen los pasos clave para crear una configuración de procesamiento por lotes eficiente para sus modelos.

Comience con los valores predeterminados y, a continuación, cambie una cosa a la vez:

  1. Límite max_tokens. Las grandes capitalizaciones desperdician el presupuesto y bloquean otros.
  2. Establezca una longitud de contexto adecuada. Utilice RAG para que las instrucciones sean breves siempre que pueda.
  3. Elige los límites de los lotes. Deje suficientes ranuras de decodificación en paralelo para mantener la GPU ocupada, pero evite que se atasque.
  4. Hardware del tamaño adecuado. Si la caché no sube y el TTFT aumenta, es probable que necesites más VRAM o un modelo más pequeño. Los modelos más recientes pueden requerir más VRAM o hardware optimizado para funcionar de manera eficiente.
  5. Transmite de forma predeterminada. Los usuarios notan el progreso y tu cola se mantiene en buen estado.
  6. Utilice instrucciones breves del sistema. Menos fichas almacenadas, menos fichas que almacenar en caché. Los métodos híbridos se pueden utilizar para producir un material base de forma continua y, posteriormente, someterlo a un proceso por lotes para su personalización o acabado en el sector de procesamiento de productos químicos y materiales.

Pruebas a ejecutar

Para una validación exhaustiva, se recomienda ejecutar estas pruebas en varias iteraciones, utilizando diferentes iteraciones y múltiples iteraciones para cubrir una variedad de escenarios. Por ejemplo, puede variar la duración de las solicitudes o los niveles de concurrencia en cada ejecución para observar el comportamiento del sistema.

  • Rampa de carga. Aumente la concurrencia paso a paso y vea TTFT y TPS.
  • Indicaciones contradictorias. Combine indicaciones cortas y largas para ver cómo se comporta el planificador.
  • Cancela las tormentas. Active muchas cancelaciones para comprobar la limpieza y la reutilización de la caché.
  • Límites simbólicos. Verifique que las mayúsculas funcionen y que los errores sean legibles.
  • Recarga en caliente. Reinicie el servidor o vuelva a cargar un modelo y confirme la recuperación.

Instrumentación que vale la pena

Haz un seguimiento de estos como mínimo:

  • TTFT p50/p95 y TPS p50/p95 bajo carga
  • Tamaño del lote activo y longitud de la cola
  • Uso de la memoria de la GPU y tasa de aciertos de la caché (también supervise la eficiencia del cálculo de la atención para garantizar un rendimiento óptimo)
  • Códigos de error: OOM, tiempos de espera, 5xx
  • Recuentos de mensajes y tokens de salida por solicitud (realiza un seguimiento de la longitud de cada respuesta y de la respuesta completa para comprender mejor el rendimiento de la generación de texto; no hay registros de texto si no los necesitas)

Resumen

El procesamiento continuo por lotes no es mágico. Es una forma práctica de mantener ocupadas las GPU y los usuarios están contentos cuando el tráfico es irregular. Empieza con límites seguros, mide el TTFT y el TPS y ajusta los límites de los lotes según las cifras.

Prueba Compute hoy
Cuando esté listo, lance un Punto final de vLLM en Compute. Elige el hardware, establece límites y obtén una URL HTTPS que funcione con los SDK de OpenAI.

PREGUNTAS MÁS FRECUENTES

¿Qué es la precarga frente a la decodificación?

Prefill lee todo el mensaje una vez para configurar la memoria. Decode genera los tokens paso a paso utilizando esa memoria.

¿Qué tamaño debe tener un lote?

Lo suficientemente grande como para mantener la GPU ocupada durante la decodificación sin que se agote la memoria caché. Pruébalo con tus instrucciones reales y limita el máximo de fichas.

¿Por qué el TTFT empeora con cargas elevadas?

Por lo general, la presión de la memoria o las salidas sobredimensionadas. Recorta las indicaciones, limita las salidas y comprueba la velocidad de aciertos de la caché.

¿Funciona el procesamiento continuo por lotes con la transmisión?

Sí. La transmisión es la opción predeterminada en muchos servidores. Los usuarios ven los tokens mientras el programador sigue admitiendo otras solicitudes.

¿Necesito varias GPU para que esto sirva de ayuda?

No. Los nodos de una sola GPU se benefician mucho. Las GPU múltiples ayudan cuando las necesidades de memoria o rendimiento superan una tarjeta.

¿Cuántos tokens por segundo tiene ChatGPT?

Por lo general, ChatGPT genera tokens a una velocidad que depende del hardware subyacente y la carga, pero las tasas de rendimiento habituales oscilan entre cientos y miles de tokens por segundo en servidores optimizados.

¿Cuántas palabras son 1000 fichas?

En promedio, 1000 fichas corresponden a unas 750 palabras, aunque esto puede variar según el idioma y el método de tokenización.

¿Qué significa un token en la IA?

Un token es una unidad de texto utilizada en el procesamiento del lenguaje natural, a menudo una palabra o subpalabra que el modelo procesa durante la inferencia o el entrenamiento.

¿Cuántas fichas por segundo puede leer un humano?

Los seres humanos generalmente leen alrededor de 200 a 300 palabras por minuto, lo que se traduce aproximadamente en 250 a 400 fichas por minuto, o alrededor de 4 a 7 fichas por segundo.

¿Qué es TTFT?

TTFT son las siglas de Time To First Token, la latencia medida desde la recepción de una solicitud hasta el momento en que se genera el primer token de la salida del modelo.

¿Cómo medir el TTFT?

El TTFT se mide cronometrando el intervalo entre el momento en que un servidor modelo recibe la primera solicitud y el momento en que genera el primer token, lo que a menudo se registra en los scripts de evaluación comparativa.

¿Qué es la métrica TPOT?

El TPOT (tokens por tiempo de operación) es una métrica de rendimiento que indica cuántos tokens genera un modelo por unidad de tiempo de procesamiento, útil para evaluar el rendimiento.

¿Qué es el TPS en LLM?

TPS significa tokens por segundo, una medida del rendimiento del modelo durante la inferencia, que indica cuántos tokens se generan por segundo.

¿Qué es una caché KV?

La caché KV se refiere a la caché clave-valor que almacena los tensores de clave y valor intermedios calculados durante el mecanismo de atención para acelerar la generación posterior de tokens.

¿Qué es la caché GPU KV?

La caché KV de la GPU es el almacenamiento de pares clave-valor en la memoria de la GPU que se utiliza durante la inferencia del modelo para optimizar los cálculos de atención y reducir los cálculos redundantes.

¿Qué es la caché KV en LLM?

En los modelos de lenguaje grandes, la caché KV contiene vectores de clave y valor almacenados en caché de los tokens anteriores para calcular de manera eficiente la atención a los nuevos tokens sin volver a calcular los estados anteriores.

¿Qué es la caché de almacenamiento de valores clave?

Una caché de almacenamiento de valores clave es un método de almacenamiento de datos en el que los datos se almacenan como pares de claves y valores correspondientes, lo que permite una recuperación rápida; en los LLM, este concepto se aplica al almacenamiento en caché de los cálculos intermedios.

¿Cómo funciona el procesamiento dinámico por lotes?

El procesamiento dinámico por lotes agrupa las solicitudes de inferencia entrantes en lotes de forma dinámica en función de los tiempos de llegada y los límites de tamaño de los lotes, y ejecuta los lotes cuando están llenos o después de un tiempo de espera para equilibrar la latencia y el rendimiento.

¿Cuál es la diferencia entre el procesamiento por lotes estático y el procesamiento por lotes dinámico?

El procesamiento por lotes estático espera a que un lote se llene por completo antes del procesamiento, lo que puede aumentar la latencia, mientras que el procesamiento por lotes dinámico procesa los lotes una vez llenos o después de un tiempo determinado, lo que mejora la latencia y la utilización de los recursos. El procesamiento por lotes estático es más apropiado cuando la latencia no es un problema. El procesamiento por lotes estático puede aumentar considerablemente la latencia, lo que limita sus casos de uso. El procesamiento por lotes estático requiere una cola de solicitudes bien gestionada para alimentar el modelo de manera eficiente. El procesamiento por lotes estático puede aumentar la latencia de manera sustancial, lo que limita sus casos de uso. El procesamiento por lotes estático procesa las solicitudes una vez que se ha recibido un número determinado de solicitudes.

¿Qué significa procesamiento por lotes en el transporte marítimo?

En el envío, el procesamiento por lotes se refiere a agrupar varios pedidos o envíos para optimizar la eficiencia del transporte y reducir los costos.

¿Qué es el procesamiento dinámico por lotes en Unity?

En Unity, el procesamiento dinámico por lotes es una técnica de optimización de renderizado que combina varias mallas pequeñas en una sola llamada de dibujo de forma dinámica para mejorar el rendimiento de los gráficos.