← Derniers articles
🤖 machine learning

LLM Serving Optimization with Variable Prefill and Decode Lengths

Cet article traite du problème NP-difficile de l'ordonnancement du service hors ligne des LLM sous des contraintes de cache KV fixes avec des longueurs de requêtes hétérogènes en proposant l'algorithme Sorted-F, qui atteint une garantie d'approximation à facteur constant et réduit considérablement la latence de bout en bout par rapport aux références standards.

Auteurs originaux : Meixuan Wang, Yinyu Ye, Zijie Zhou

Publié 2026-06-30
📖 5 min de lecture🧠 Analyse approfondie

Auteurs originaux : Meixuan Wang, Yinyu Ye, Zijie Zhou

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 la cuisine d'un restaurant très fréquenté (le serveur LLM) avec une règle très spécifique : vous ne disposez que d'un espace de comptoir limité (la mémoire KV-cache) pour préparer les commandes.

Dans cette cuisine, chaque commande se compose de deux parties :

  1. Le Bon de Commande (Prefill) : Le client vous remet une liste d'ingrédients longue ou courte. Vous devez lire toute la liste avant de commencer à cuisiner. Cela occupe immédiatement de l'espace sur le comptoir.
  2. La Cuisson (Decode) : Vous cuisinez le plat étape par étape. Chaque fois que vous ajoutez un nouvel ingrédient dans la marmite, celle-ci s'agrandit légèrement, occupant ainsi encore plus d'espace sur le comptoir.

L'objectif est de servir tous les clients le plus rapidement possible (minimiser la latence).

Le Problème : L'erreur du « Taille Unique »

Auparavant, les chefs pensaient que la meilleure stratégie était simple : « Cuisinez les plats les plus petits en premier. » Si un client commande un minuscule apéritif, cuisinez-le avant le steak géant.

Mais les auteurs de ce papier ont découvert un pière. Dans le monde réel, les commandes sont désordonnées :

  • Commande A : Un menu énorme (entrée longue) mais un plat minuscule (sortie courte). Cela prend beaucoup d'espace sur le comptoir juste pour lire le menu, mais se cuisine instantanément.
  • Commande B : Un menu minuscule (entrée courte) mais un ragoût à cuisson lente (sortie longue). Cela prend peu de place au début, mais la marmite ne cesse de grandir.

Si vous suivez l'ancienne règle du « plus petit plat en premier », vous risquez de vous retrouver coincé. Vous pourriez commencer le ragoût à cuisson lente parce qu'il semblait petit au départ, pour réaliser ensuite qu'il monopolise tout votre espace de comptoir, vous obligeant à attendre des heures avant de pouvoir commencer les autres commandes. Le papier prouve que si vous mélangez ces différents types de commandes, les anciennes règles peuvent échouer de manière spectaculaire, et trouver le planning parfait est mathématiquement impossible à résoudre instantanément (c'est un problème NP-difficile).

La Solution : L'« Score d'Efficacité » (Sorted-F)

Les auteurs ont inventé une nouvelle façon de décider quelle commande cuisiner ensuite, appelée Sorted-F. Au lieu de simplement regarder si le plat est petit, ils ont créé un Score d'Efficacité spécial (la métrique F).

Voyez ce score comme un calculateur de « rapport qualité-prix » pour votre espace de comptoir. Il demande :

« Si je pose ce groupe de commandes sur le comptoir dès maintenant, combien de plats au total vais-je terminer par minute de comptoir utilisé ? »

Il équilibre deux éléments :

  1. La Taille du Lot (Batch Size) : Combien de commandes peuvent tenir sur le comptoir à la fois ?
  2. Le Temps de Cuisson : Combien de temps les marmites vont-elles continuer à grandir ?

La Stratégie :

  1. Groupement : L'algorithme examine la file d'attente des commandes et tente de former des « lots » (groupes de commandes cuisinées ensemble).
  2. Notation : Il calcule le Score d'Efficacité pour chaque groupe possible.
  3. Sélection : Il choisit le groupe ayant le meilleur score (le chiffre le plus bas) et commence à les cuisiner.
  4. Ajustement Dynamique : Dès qu'un plat du groupe est terminé, sa marmite rétrécit, libérant de l'espace pour qu'une nouvelle commande puisse s'insérer immédiatement.

Les Résultats : Pourquoi cela fonctionne

Les auteurs ont testé cela sur des données réelles, mélangeant des messages de chat courts (comme commander un café) avec des résumés de documents longs (comme cuisiner un banquet de 10 services).

  • L'Ancienne Méthode (Le plus court en premier) : S'est retrouvée bloquée par des plats longs et lents qui obstruaient le comptoir.
  • La Nouvelle Méthode (Sorted-F) : A trouvé le mélange parfait. Elle peut commencer quelques plats longs si ceux-ci s'intègrent bien avec de nombreux plats courts, garantissant que le comptoir est toujours occupé par un travail productif.

Le Chiffre Magique :
Le papier prouve mathématiquement que leur nouvelle méthode n'est jamais plus de 48 fois pire que le planning absolument parfait (qui est impossible à calculer). En pratique, cependant, elle est presque aussi performante que le meilleur théorique, réduisant les temps d'attente de marges considérables (parfois 4 à 5 fois plus vite) par rapport aux méthodes standards lorsque la cuisine est chargée.

Conseils Pratiques pour la Cuisine

Comme calculer le groupe parfait chaque seconde est trop lent pour une vraie cuisine, les auteurs ont également conçu trois « codes de triche » (approximations) pour différentes situations :

  1. Le Calculateur Exact : Pour les petites cuisines (peu de commandes), il trouve le groupe parfait à chaque fois.
  2. L'Échangeur Local : Pour les cuisines moyennes, il effectue de petits ajustements sur un bon plan de départ pour l'améliorer.
  3. Le Sélectionneur Rapide : Pour les cuisines massives et chaotiques, il utilise une estimation rapide et approximative pour obtenir une réponse satisfaisante instantanément.

Ils ont également montré que même si vous ne savez pas exactement combien de temps un plat prendra (car vous devez deviner le temps de cuisson), leur système peut s'adapter à la volée. Si un plat prend plus de temps que prévu, le système retire doucement les plats les moins importants du comptoir pour faire de la place, plutôt que de faire planter l'ensemble du système.

L'Essentiel à Retenir

Lorsque vous avez un mélange de tâches courtes et longues qui se disputent un espace mémoire limité, vous ne pouvez pas simplement choisir les plus courtes. Vous avez besoin d'un système intelligent qui regarde l'ensemble du groupe et la manière dont ils s'assemblent. L'algorithme Sorted-F fait précisément cela, agissant comme un chef étoilé qui sait exactement comment disposer les marmites sur la cuisinière pour servir le dîner le plus rapidement possible.

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 →