Cascade: Exploiting SLO-Aware latency budget for fair and high goodput LLM inference serving
Cascade est un système de service de LLM qui exploite un budget de latence dynamique par requête pour optimiser conjointement l'ordonnancement et la gestion du cache KV, améliorant ainsi considérablement le débit utile respectant les SLO et l'équité, tout en réduisant les violations par rapport aux approches traditionnelles de type premier arrivé, premier servi.
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 une gare de train à grande vitesse en pleine effervescence, où des milliers de passagers tentent d'embarquer dans différents trains exactement au même moment. Certains passagers ne portent qu'un simple sac à dos (une question courte et rapide), tandis que d'autres traînent d'énormes valises lourdes remplies d'années de souvenirs (une histoire longue et complexe ou une tâche de raisonnement profonde). Dans le monde de l'intelligence artificielle, ces « trains » sont des modèles de langage étendus (LLM) — les ordinateurs super intelligents qui alimentent les chatbots, les assistants de codage et les agents de raisonnement. Les « passagers » sont les requêtes que nous leur envoyons.
Pour que ces systèmes paraissent rapides et utiles, ils doivent promettre de fournir des réponses dans un délai spécifique, connu sous le nom d'Objectif de Niveau de Service (SLO). Voyez cela comme un billet qui indique : « Vous devez être dans le train et en mouvement dans les 5 secondes ». Le problème est que les directeurs de la gare utilisent une règle très ancienne : « Premier arrivé, premier servi ». Cela signifie que si un passager avec une valise géante arrive en premier, tout le monde doit attendre derrière lui, même si la personne derrière n'a qu'un petit sac à dos et pourrait être servie en une fraction de seconde. Cela provoque un énorme embouteillage. De plus, la gare dispose d'une quantité limitée de stockage haute vitesse (comme une salle d'attente VIP) pour les bagages des passagers. Si les bagages sont stockés dans un entrepôt lent et lointain, les récupérer prend du temps. Si le directeur de la gare ne sait pas combien de temps il reste à chaque passager avant que son train ne parte, il pourrait gaspiller des secondes précieuses à chercher des bagages pour quelqu'un qui est déjà en retard, alors que quelqu'un d'autre, qui est à l'heure, se retrouve laissé pour compte.
C'est le défi relevé par un nouveau système appelé CASCADE, décrit dans un article récent de chercheurs de l'Université de la Colombie-Britannique, de Microsoft Azure Research et de NVIDIA. Les chercheurs ont réalisé que chaque requête possède un « budget de temps » caché — la différence entre le temps dont elle a besoin pour terminer sa tâche et le temps qu'elle est autorisée à prendre. Certaines requêtes ont un énorme budget (beaucoup de temps supplémentaire), tandis que d'autres n'en ont presque plus. L'article soutient qu'au lieu de simplement regarder qui est arrivé en premier ou quelle est la taille de la requête, le système devrait examiner ce budget de temps restant pour décider qui passe ensuite et comment gérer ses données.
L'idée centrale de CASCADE est de traiter ce budget de temps comme une monnaie partagée pour deux tâches différentes : décider de l'ordre des requêtes et gérer l'endroit où résident leurs données. Dans les simulations de l'article, qui utilisaient des données de trafic réelles provenant de serveurs de production et ont été testées sur trois modèles d'IA géants (Qwen-2.5-72B, Llama-3-70B et Llama-3-405B), CASCADE a montré des résultats impressionnants. En calculant constamment combien de « marge de temps » restait à chaque requête, le système pouvait prioriser celles qui manquaient de temps tout en laissant celles qui en avaient suffisamment attendre un peu plus longtemps ou récupérer leurs données depuis un stockage plus lent et moins coûteux.
Les conclusions suggèrent que cette approche change la donne en matière d'efficacité. Dans leurs tests, CASCADE a amélioré le nombre de requêtes réussies que le système pouvait gérer (appelé « goodput ») jusqu'à 2,4 fois par rapport à la méthode standard « premier arrivé, premier servi » utilisée par des systèmes populaires comme vLLM. Plus important encore, il a réduit le nombre de requêtes ayant manqué leurs limites de temps (violations de SLO) de 40 %. Peut-être de la manière la plus créative, il l'a fait sans que les requêtes longues et complexes ne souffrent. Contrairement à d'autres méthodes qui pourraient presser les requêtes courtes et affamer les longues, CASCADE a maintenu une expérience équitable pour tout le monde, garantissant que les passagers avec le « sac à dos » et la « valise géante » soient tous deux servis à temps. Le système y est parvenu en décidant dynamiquement de récupérer les données dans la mémoire rapide, dans un stockage plus lent, ou simplement de les recalculer, en se basant entièrement sur le fait que la requête spécifique avait assez de budget de temps pour absorber le délai.
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.