← Derniers articles
📊 statistics

Throughput-Optimal Scheduling Algorithms for LLM Inference and AI Agents

Cet article établit les fondements mathématiques de la file d'attente pour l'inférence des LLM, démontrant que les algorithmes de planification qui préservent le travail atteignent le débit maximal pour les charges de travail individuelles et celles des agents IA, tout en évaluant des systèmes réels pour confirmer l'optimalité d'Orca et de Sarathi-Serve et mettant en garde contre l'instabilité de FasterTransformer et de vLLM standard.

Auteurs originaux : J. G. Dai, Tianze Deng, Yueying Li, Tianyi Peng

Publié 2026-05-19
📖 7 min de lecture🧠 Analyse approfondie

Auteurs originaux : J. G. Dai, Tianze Deng, Yueying Li, Tianyi Peng

Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète

Imaginez que vous dirigez une usine à haute vitesse qui construit des robots personnalisés. Dans cette usine, chaque commande (une « requête ») passe par deux étapes distinctes :

  1. La phase de configuration (Prefill) : Vous lisez les plans et rassemblez toutes les pièces nécessaires. C'est un travail lourd qui demande beaucoup de puissance de calcul, mais qui s'effectue en une seule fois.
  2. La phase d'assemblage (Decode) : Vous commencez à construire le robot, en ajoutant une pièce à la fois, une par une. C'est un travail plus lent, gourmand en mémoire, qui s'effectue étape par étape.

Votre usine dispose d'un bras robotique géant et ultra-rapide (le GPU) capable de travailler sur plusieurs commandes simultanément. Cependant, ce bras a une limite : il ne peut maintenir qu'un certain poids total de pièces dans sa pince à la fois (le budget de jetons).

Le document que vous avez fourni est une étude mathématique sur la manière d'organiser les commandes afin que votre usine ne s'arrête jamais et produise le nombre maximal de robots possible sans se bloquer.

Voici la décomposition de leurs découvertes à l'aide d'analogies simples :

1. La Règle d'Or : « Ne laissez pas le bras inactif »

La découverte la plus importante de ce document est un concept appelé « conservation du travail » (Work-Conserving).

Imaginez que votre bras robotique est prêt à saisir des pièces.

  • La mauvaise façon : Vous ne permettez au bras de saisir des pièces de « configuration » que s'il n'y a que des commandes de configuration en attente. S'il y a des commandes d'« assemblage » en attente, vous les ignorez, même si le bras a de l'espace vide. Ou alors, vous ne lui permettez de saisir des pièces d'« assemblage » que s'il n'y a que des commandes d'assemblage.
    • Résultat : Le bras reste à moitié vide, attendant un type spécifique de commande, tandis qu'un énorme tas de l'autre type de commande s'accumule. L'usine ralentit ou plante.
  • La bonne façon (conservation du travail) : Si le bras a de la place, vous le remplissez avec tout ce qui est disponible. Vous mélangez des pièces de configuration et des pièces d'assemblage dans le même lot. Vous ne laissez jamais le bras inactif s'il y a du travail à faire.

L'affirmation du document : Les algorithmes qui suivent cette règle de « remplir le seau » (comme Orca et Sarathi-Serve) sont mathématiquement prouvés comme étant les plus efficaces. Ils peuvent gérer la quantité de travail maximale possible sans que le système ne s'effondre.

2. Les « anciens » vs « nouveaux » directeurs d'usine

Les auteurs ont testé quatre « directeurs » populaires (algorithmes d'ordonnancement) pour voir qui suivait la Règle d'Or :

  • FasterTransformer & Vanilla vLLM (Les directeurs stricts) : Ces directeurs sont trop exigeants.
    • FasterTransformer ne saisit que des pièces d'assemblage. S'il n'y a pas de commandes d'assemblage, il ignore les commandes de configuration en attente, même si le bras est vide.
    • Vanilla vLLM ne saisit que des pièces de configuration. S'il n'y a pas de commandes de configuration, il ignore les commandes d'assemblage.
    • Verdict : Ces solutions ne sont pas optimales. Sous forte charge, elles provoquent l'encombrement et l'instabilité de l'usine.
  • Orca & Sarathi-Serve (Les directeurs flexibles) : Ces directeurs mélangent les deux types de travail. Ils remplissent le bras avec ce qui convient.
    • Verdict : Ces solutions sont optimales. Elles maintiennent l'usine en fonctionnement fluide à vitesse maximale.

3. L'usine des « agents IA » (flux de travail complexes)

Parfois, une commande n'est pas un simple robot ; c'est toute une équipe de robots travaillant ensemble.

  • Le DAG (Graphe Acyclique Dirigé) : Imaginez un flux de travail où la commande A va à la station 1, puis à la station 2, puis à la station 3, et ne revient jamais en arrière.
    • Découverte : Tant que le flux de travail est une ligne droite (sans boucles), la règle « Ne laissez pas le bras inactif » fonctionne toujours parfaitement à travers toutes les stations.
  • La fourche-réunion (Fork-Join) : Imaginez que la commande A se divise en trois sous-tâches qui vont à trois stations différentes, et qu'elles doivent toutes se terminer avant que l'étape finale puisse avoir lieu.
    • Découverte : La règle « Ne laissez pas le bras inactif » fonctionne également ici.
  • La boucle (Le piège) : Imaginez que la commande A va à la station 1, puis à la station 2, mais que la commande B va de la station 2 vers la station 1. Elles se poursuivent en cercle.
    • Découverte : Ici, la règle « Ne laissez pas le bras inactif » peut échouer. Même si les directeurs font de leur mieux, la circulation circulaire peut provoquer un embouteillage qui ne se résout jamais. Le document montre que si votre usine possède ces boucles circulaires, vous avez besoin d'un directeur beaucoup plus intelligent et prudent, pas seulement d'un « remplisseur de seau ».

4. La surprise de la « taille du seau »

Il y a une deuxième limite dans l'usine : la taille du lot (Batch Size). C'est le nombre maximum de commandes que le bras peut contenir, indépendamment de leur poids.

  • La surprise : Les auteurs ont découvert que parfois, remplir le bras jusqu'à sa limite de poids absolue (le budget de jetons) est en fait une mauvaise idée.
  • L'analogie : Imaginez que vous avez un seau qui contient 100 livres. Vous avez 100 petits cailloux (Configuration) et 100 lourdes briques (Assemblage).
    • Si vous essayez de remplir le seau à 100 livres avec des briques, vous ne pourrez peut-être en mettre que 5. Le temps nécessaire pour soulever cette charge lourde est long.
    • Mais si vous vous arrêtez à 50 livres (une charge plus légère), vous pourrez peut-être la soulever beaucoup plus vite, vous permettant de faire plus de trajets par heure.
  • La découverte : Dans des situations spécifiques, la stratégie la plus efficace consiste à arrêter de remplir le seau avant qu'il ne soit plein pour maintenir une vitesse de traitement élevée. Cela signifie que même les « bons directeurs » (conservation du travail) peuvent échouer si les règles de l'usine (limites de taille de lot) sont trop strictes et que le mélange de commandes est juste ce qu'il faut pour provoquer un embouteillage.

Résumé

Le document nous dit :

  1. Mélangez votre travail : Ne séparez pas les tâches de configuration et d'assemblage. Mélangez-les dans le même lot pour maintenir le GPU occupé.
  2. Orca et Sarathi-Serve sont les gagnants : Ils suivent la règle « mélanger et remplir », ce qui en fait les choix les plus stables et efficaces pour la plupart des situations.
  3. Méfiez-vous des boucles : Si vos agents IA envoient des tâches d'avant en arrière entre les serveurs en cercle, les règles simples de « remplissage du seau » pourraient ne pas fonctionner ; vous avez besoin d'un contrôle de circulation spécial.
  4. Plein n'est pas toujours mieux : Parfois, laisser un peu d'espace vide dans votre lot est plus intelligent que de le remplir à ras bord, selon la taille des tâches individuelles.

Le but de tout ce calcul est d'aider les ingénieurs à construire des systèmes d'IA qui ne plantent pas lorsque des millions de personnes posent des questions en même temps.

Noyé(e) sous les articles dans votre domaine ?

Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.

Essayer Digest →