Le déséquilibre entre préfill et décodage
L'architecture de service des modèles de langage (LLM) a évolué vers la séparation des phases de préfill et de décodage. Cette dissociation, connue sous le nom de séparation préfill-décodage, permet d'optimiser chaque phase de manière indépendante, car elles présentent des motifs d'exécution et des objectifs de service (SLO) très distincts.
Cependant, les charges de travail réelles ne sont pas statiques. Les pics courts et les changements soutenus dans le ratio de demande entre préfill et décodage peuvent rapidement déséquilibrer une configuration initialement bien dimensionnée. Ce désajustement provoque des violations de SLO de latence, même lorsque de la capacité inactive existe ailleurs dans le système.
Mécanismes d'élasticité in-place de FluidPD
FluidPD est un système de service P/D séparé qui introduit deux mécanismes complémentaires pour gérer ce déséquilibre. Le premier, FluidToken, traite le déséquilibre transitoire en déchargeant une portion limitée du calcul de préfill vers les travailleurs de décodage lorsque ceux-ci disposent d'une capacité inactive.
Le second mécanisme, FluidRole, gère le déséquilibre soutenu en réaffectant les travailleurs en cours d'exécution entre les rôles de préfill et de décodage. Cette réaffectation est effectuée in-place, ce qui évite le rechargement du modèle et le redémarrage du moteur d'inférence, permettant une adaptation beaucoup plus rapide aux changements de charge.
Comparaison des mécanismes d'élasticité
Différences clés entre les mécanismes de FluidPD et l'autoscaling traditionnel.
| Caractéristique | FluidToken | FluidRole | Autoscaling traditionnel |
|---|---|---|---|
| Type de déséquilibre | Transitoire | Soutenu | Soutenu |
| Action principale | Décharge de calcul | Réaffectation de rôles | Ajout/Suppression de GPU |
| Nécessite des GPU de réserve | Non | Non | Oui |
| Rechargement du modèle | Non | Non | Oui (sur les nouveaux nœuds) |
Métriques et conditions d'évaluation
Les auteurs du préprint rapportent que FluidPD améliore le respect global des SLO de jusqu'à 94,6 points de pourcentage par rapport à SGLang statique. Cette amélioration est évaluée en utilisant des traces de travail de production d'Azure, ce qui suggère une pertinence pratique pour les environnements à grande échelle.
Il est important de noter que ces métriques proviennent du résumé du préprint et n'ont pas été vérifiées de manière indépendante. L'évaluation se concentre sur la capacité du système à maintenir les SLO sans provisionner de travailleurs supplémentaires, un objectif clé pour l'efficacité opérationnelle.
Coûts opérationnels et dépendances
La stratégie de FluidPD dépend de la capacité des travailleurs de décodage à absorber une partie de la charge de préfill (FluidToken) et de la possibilité de réaffecter les rôles sans redémarrer le moteur (FluidRole). Cela implique que l'architecture du système d'inférence doit prendre en charge ces opérations de manière native.
Bien que le système évite le besoin de GPU de réserve, la rapidité de la réaffectation et l'efficacité de la décharge de calcul sont des facteurs critiques. Si la réaffectation n'est pas suffisamment rapide, le déséquilibre pourrait persister et causer des violations de SLO avant que le système ne se stabilise.
Flux de réaffectation de FluidRole
Processus simplifié de la manière dont FluidRole gère le déséquilibre soutenu.
- 01Détection du déséquilibre soutenu au moyen d'indices de pression.
- 02Identification des travailleurs candidats pour la réaffectation.
- 03Réaffectation in-place du rôle du travailleur (de préfill à décodage ou vice-versa).
- 04Rééquilibrage de la charge de travail entre les travailleurs réaffectés.
Tests externes et déploiement en production
Avant de recommander le déploiement de FluidPD en production, il serait nécessaire d'évaluer ses performances avec des charges de travail réelles et diverses, et non seulement avec des traces d'Azure. Cela inclurait des tests avec différents modèles de langage, tailles de lot et motifs de trafic.
De plus, la disponibilité du code et des configurations pour reproduire les résultats, ainsi que les limites d'élasticité du système, doivent être vérifiées. L'absence d'une révision par les pairs indépendante et la nature de préprint du travail nécessitent une prudence supplémentaire lors de l'interprétation de ses affirmations de performance.
Questions ouvertes
- L'amélioration de 94,6 points de pourcentage dans les SLO provient du résumé du préprint et n'a pas été vérifiée de manière indépendante.
- Aucune preuve suffisante n'a été trouvée dans les matériaux fournis pour confirmer l'architecture et la plateforme de service évaluées en détail.
- Il n'y a pas d'information sur les limites d'élasticité du système ni sur la disponibilité du code ou des configurations pour reproduire les résultats.
- Le travail est un préprint et n'a pas été révisé par les pairs, ce qui nécessite une prudence dans l'interprétation de ses affirmations de performance.
Poursuivre l’exploration
Sources consultées
Corrections et transparence
Si vous repérez une information incorrecte ou obsolète, envoyez-nous la page et la source à vérifier.
Proposer une correction