← Últimos artículos
📊 statistics

Throughput-Optimal Scheduling Algorithms for LLM Inference and AI Agents

Este trabajo establece los fundamentos matemáticos de las colas para la inferencia de LLM, demostrando que los algoritmos de programación que conservan el trabajo logran el máximo rendimiento tanto para cargas de trabajo individuales como de agentes de IA, al tiempo que evalúa sistemas del mundo real para confirmar la optimalidad de Orca y Sarathi-Serve y advierte sobre la inestabilidad de FasterTransformer y vLLM estándar.

Autores originales: J. G. Dai, Tianze Deng, Yueying Li, Tianyi Peng

Publicado 2026-05-19
📖 6 min de lectura🧠 Análisis profundo

Autores originales: J. G. Dai, Tianze Deng, Yueying Li, Tianyi Peng

Artículo original bajo licencia CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo

Imagina que gestionas una fábrica de alta velocidad que construye robots personalizados. En esta fábrica, cada pedido (una "solicitud") pasa por dos etapas distintas:

  1. La Fase de Configuración (Prefill): Lees los planos y reúnes todas las piezas necesarias. Este es un trabajo pesado que requiere mucha capacidad cerebral (computación), pero ocurre todo a la vez.
  2. La Fase de Ensamblaje (Decode): Comienzas a construir el robot, añadiendo una pieza a la vez, una por una. Este es un trabajo más lento y pesado en cuanto a memoria, que ocurre paso a paso.

Tu fábrica cuenta con un brazo robótico gigante y supersónico (la GPU) que puede trabajar en múltiples pedidos simultáneamente. Sin embargo, el brazo tiene un límite: solo puede sostener un cierto peso total de piezas en su pinza a la vez (el Presupuesto de Tokens).

El documento que proporcionaste es un estudio matemático sobre cómo organizar los pedidos para que tu fábrica nunca deje de trabajar y produzca el máximo número posible de robots sin colapsar.

Aquí tienes el desglose de sus hallazgos utilizando analogías sencillas:

1. La Regla de Oro: "No Dejes que el Brazo Permanezca Ocioso"

El descubrimiento más importante en este documento es un concepto llamado "Conservador de Trabajo" (Work-Conserving).

Imagina que tu brazo robótico está listo para agarrar piezas.

  • La Mala Forma: Solo permites que el brazo agarre piezas de "Configuración" si hay únicamente pedidos de Configuración esperando. Si hay pedidos de "Ensamblaje" esperando, los ignoras, incluso si el brazo tiene espacio vacío. O bien, solo permites que agarre piezas de "Ensamblaje" si hay únicamente pedidos de Ensamblaje.
    • Resultado: El brazo permanece medio vacío, esperando un tipo específico de pedido, mientras una enorme pila del otro tipo de pedido se acumula. La fábrica se ralentiza o se bloquea.
  • La Buena Forma (Conservador de Trabajo): Si el brazo tiene espacio, lo llenas con lo que sea que esté disponible. Mezclas piezas de Configuración y piezas de Ensamblaje en el mismo lote. Nunca dejas que el brazo permanezca ocioso si hay trabajo que hacer.

La Afirmación del Documento: Los algoritmos que siguen esta regla de "llenar el cubo" (como Orca y Sarathi-Serve) están matemáticamente probados como los más eficientes. Pueden manejar la cantidad máxima posible de trabajo sin que el sistema colapse.

2. Los "Gerentes" de Fábrica "Antiguos" vs. "Nuevos"

Los autores probaron cuatro "gerentes" populares (algoritmos de programación) para ver quién seguía la Regla de Oro:

  • FasterTransformer y Vanilla vLLM (Los Gerentes Estrictos): Estos gerentes son demasiado exigentes.
    • FasterTransformer solo agarra piezas de Ensamblaje. Si no hay pedidos de Ensamblaje, ignora los pedidos de Configuración esperando en la fila, incluso si el brazo está vacío.
    • Vanilla vLLM solo agarra piezas de Configuración. Si no hay pedidos de Configuración, ignora los pedidos de Ensamblaje.
    • Veredicto: Estos no son óptimos. Bajo carga pesada, provocan que la fábrica se atasque y se vuelva inestable.
  • Orca y Sarathi-Serve (Los Gerentes Flexibles): Estos gerentes mezclan los dos tipos de trabajo. Llenan el brazo con lo que quepa.
    • Veredicto: Estos son óptimos. Mantienen la fábrica funcionando sin problemas a velocidad máxima.

3. La Fábrica de "Agentes de IA" (Flujos de Trabajo Complejos)

A veces, un pedido no es solo un solo robot; es todo un equipo de robots trabajando juntos.

  • El DAG (Grafo Acíclico Dirigido): Imagina un flujo de trabajo donde el Pedido A va a la Estación 1, luego a la Estación 2, luego a la Estación 3, y nunca regresa.
    • Hallazgo: Mientras el flujo de trabajo sea una línea recta (sin bucles), la regla de "No Dejes que el Brazo Permanezca Ocioso" sigue funcionando perfectamente en todas las estaciones.
  • La Bifurcación-Unión (Fork-Join): Imagina que el Pedido A se divide en tres subtareas que van a tres estaciones diferentes, y todas deben terminar antes de que pueda ocurrir el paso final.
    • Hallazgo: La regla de "No Dejes que el Brazo Permanezca Ocioso" también funciona aquí.
  • El Ciclo (La Trampa): Imagina que el Pedido A va a la Estación 1, luego a la Estación 2, pero el Pedido B va desde la Estación 2 de vuelta a la Estación 1. Se están persiguiendo en círculo.
    • Hallazgo: Aquí, la regla de "No Dejes que el Brazo Permanezca Ocioso" puede fallar. Incluso si los gerentes están haciendo lo mejor posible, el tráfico circular puede causar un atasco que nunca se despeja. El documento muestra que si tu fábrica tiene estos bucles circulares, necesitas un gerente mucho más inteligente y cuidadoso, no solo uno de "llenar el cubo".

4. La Sorpresa del "Tamaño del Cubo"

Hay un segundo límite en la fábrica: el Tamaño del Lote (Batch Size). Este es el número máximo de pedidos que el brazo puede sostener, independientemente de lo pesados que sean.

  • La Sorpresa: Los autores descubrieron que, a veces, llenar el brazo hasta su límite máximo de peso absoluto (el Presupuesto de Tokens) es en realidad una mala idea.
  • La Analogía: Imagina que tienes un cubo que soporta 100 libras. Tienes 100 piedritas diminutas (Configuración) y 100 ladrillos pesados (Ensamblaje).
    • Si intentas llenar el cubo hasta 100 libras con ladrillos, quizás solo quepan 5 ladrillos. El tiempo que tarda en levantar esa carga pesada es largo.
    • Pero si te detienes en 50 libras (una carga más pequeña), quizás puedas levantarla mucho más rápido, permitiéndote hacer más viajes por hora.
  • El Hallazgo: En situaciones específicas, la estrategia más eficiente es dejar de llenar el cubo antes de que esté lleno para mantener alta la velocidad de procesamiento. Esto significa que incluso los "Buenos Gerentes" (Conservadores de Trabajo) pueden fallar si las reglas de la fábrica (límites de tamaño de lote) son demasiado estrictas y la mezcla de pedidos es justo la adecuada para causar un atasco.

Resumen

El documento nos dice:

  1. Mezcla tu trabajo: No separes las tareas de Configuración y Ensamblaje. Mézclalas en el mismo lote para mantener la GPU ocupada.
  2. Orca y Sarathi-Serve son los ganadores: Siguen la regla de "mezclar y llenar", lo que los convierte en las opciones más estables y eficientes para la mayoría de las situaciones.
  3. Cuidado con los bucles: Si tus agentes de IA envían tareas de ida y vuelta entre servidores en un círculo, las reglas simples de "llenar el cubo" podrían no funcionar; necesitas un control de tráfico especial.
  4. Lleno no siempre es mejor: A veces, dejar un poco de espacio vacío en tu lote es más inteligente que llenarlo hasta el borde, dependiendo del tamaño de las tareas individuales.

El objetivo de toda esta matemática es ayudar a los ingenieros a construir sistemas de IA que no se bloqueen cuando millones de personas hacen preguntas al mismo tiempo.

¿Ahogado en artículos de tu campo?

Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.

Probar Digest →