Le système SPLASH, présenté sur arXiv, introduit une nouvelle méthode pour servir les grands modèles de langage (LLM) en adaptant dynamiquement la parallélisation de l’attention pendant l’exécution des requêtes. Cette innovation répond à une problématique technique notable : les différentes configurations de parallélisation sont optimales selon la charge et la nature des requêtes, mais changer de configuration nécessitait jusqu’ici d’interrompre les services.
En permettant un changement fluide de la stratégie de parallélisation sans redémarrage, SPLASH ouvre la voie à une meilleure exploitation des ressources GPU et à une gestion plus fine des workflows complexes, notamment ceux combinant requêtes courtes et longues dans un même batch.
Les limites des parallélisations fixes dans le serving des LLM
Les grands modèles de langage reposent sur des mécanismes d’attention parallélisés pour accélérer l’inférence. Trois approches principales coexistent : la parallélisation tensorielle, la parallélisation par données, et la parallélisation par contexte. Chacune est adaptée à des scénarios spécifiques : faible concurrence, nombreuses requêtes indépendantes, ou prompts longs.
Or, dans des cas d’usage comme le raisonnement, les agents autonomes ou les déploiements en apprentissage par renforcement, les charges évoluent rapidement. Un batch peut démarrer avec beaucoup de requêtes courtes et finir avec peu de requêtes longues, rendant inefficace une configuration statique. Jusqu’ici, changer la parallélisation impliquait de vider les files d’attente et de redémarrer les workers, ce qui impacte la disponibilité et la latence.
SPLASH : basculer entre les layouts d’attention sans interruption
SPLASH exploite une caractéristique des mécanismes d’attention modernes : la dissociation entre le stockage du cache clé-valeur (KV) et le sharding des poids d’attention. Cette séparation technique permet de modifier la manière dont les poids sont répartis sur les GPU sans déplacer les caches en cours d’exécution.
Concrètement, SPLASH orchestre la transition entre différentes configurations de parallélisation en assurant la cohérence des caches et des poids, évitant ainsi la nécessité de stopper les requêtes en cours. Cette capacité à basculer de façon transparente optimise l’utilisation des ressources et maintient la fluidité du service.
Impacts sur la performance et la gestion des ressources GPU
En adaptant dynamiquement la parallélisation, SPLASH permet d’ajuster précisément la consommation GPU aux caractéristiques des requêtes en temps réel. Cela réduit les goulots d’étranglement liés à une configuration inadaptée, améliore la latence et la capacité à traiter des charges mixtes.
Pour les opérateurs de services IA, cette flexibilité peut se traduire par une meilleure rentabilité des infrastructures, une réduction des coûts liés à la surprovision ou aux interruptions, et une amélioration de l’expérience utilisateur grâce à une latence plus stable.
Considérations techniques et limites actuelles de SPLASH
La mise en œuvre de SPLASH repose sur des architectures d’attention modernes avec peu ou pas de têtes KV, condition nécessaire pour dissocier cache et sharding. Cette contrainte limite pour l’instant son applicabilité à certains modèles ou frameworks.
De plus, la complexité de la synchronisation des caches et des poids lors des transitions impose une orchestration fine et des tests rigoureux pour garantir la cohérence et la stabilité du service. Ces aspects techniques devront être approfondis avant une adoption industrielle large.
Déploiement dans les workflows agentiques et RL : prochaines étapes
Les cas d’usage combinant raisonnement complexe, agents autonomes et apprentissage par renforcement bénéficient particulièrement de la flexibilité introduite par SPLASH. Ces workflows génèrent des profils de requêtes très variables, où une gestion statique de la parallélisation est peu adaptée.
En intégrant SPLASH, les plateformes d’inférence pourraient offrir une meilleure qualité de service, avec des transitions transparentes entre phases de forte concurrence et phases de traitement de longues séquences. Cela pourrait aussi favoriser l’émergence de nouveaux agents IA plus réactifs et économes en ressources.
Sources
Articles et annonces consultés
Passer à l'action



