Avancées dans le service des modèles de machine learning
Un nouveau système améliore le service des modèles ML en combinant précision et montée en charge matérielle.
― 11 min lire
Table des matières
- L'Importance du Service de Modèles ML
- Défis des Approches Actuelles
- Présentation du Nouveau Système
- Comment le Système Fonctionne
- Les Avantages de Combiner Scalabilité Matérielle et Scalabilité de la Précision
- Avantages de la Nouvelle Approche
- Gestion des Ressources dans le Nouveau Système
- Exécution des Requêtes en Temps Réel
- Évaluation de la Performance du Système
- Conclusion
- Source originale
- Liens de référence
L'apprentissage automatique (ML) fait de plus en plus partie des applis aujourd'hui. Avec le nombre grandissant de personnes utilisant le ML, la nécessité de systèmes capables de gérer les tâches ML efficacement augmente aussi. Un des aspects importants de ça, c'est de servir les modèles ML rapidement et efficacement, surtout quand il y a plein de demandes en même temps. Les méthodes traditionnelles se concentrent surtout sur l'augmentation du nombre de serveurs ou l'amélioration de leur puissance pour répondre à la demande. Mais, ça peut vite devenir compliqué à cause des limites budgétaires ou du manque de matériel.
Une nouvelle idée appelée "scalabilité de la précision" a émergé comme une solution potentielle. Au lieu de juste booster le matériel, la scalabilité de la précision ajuste la précision des modèles ML en fonction du nombre de demandes reçues. Bien que cette méthode ait ses avantages, elle peine souvent avec les tâches complexes qui utilisent plus d'un modèle, connues sous le nom de "pipelines d'inférence". Les méthodes actuelles ne s'intègrent pas bien non plus avec la scalabilité matérielle, ce qui peut entraîner un gaspillage de ressources pendant les périodes de faible demande.
Cet article présente un système conçu pour relever ces défis. Le système peut servir des pipelines d'inférence efficacement en combinant scalabilité matérielle et scalabilité de la précision. Il inclut un moyen réfléchi d'allouer les ressources et une méthode intelligente pour rediriger les requêtes, ce qui aide à améliorer la précision du système tout en gardant les temps de réponse bas. Des tests montrent que ce système peut améliorer la capacité des groupes de serveurs de taille fixe de manière significative en utilisant la scalabilité de la précision par rapport à une simple addition de matériel.
L'Importance du Service de Modèles ML
Avec le ML qui devient de plus en plus courant, les installations qui gèrent les tâches ML - connues sous le nom de systèmes de service de modèles - doivent être à la fois rapides et efficaces. Ces systèmes gardent des modèles ML pré-entraînés sur des serveurs pour répondre rapidement aux requêtes entrantes. Chaque installation de service de modèles doit respecter des Objectifs de Niveau de Service (SLO), qui sont des normes fixées pour les temps de réponse, tout en s'assurant de gérer le maximum de requêtes possible.
Cependant, le nombre de requêtes entrantes, mesuré en requêtes par seconde (QPS), n'est pas constant. Il a tendance à varier dans le temps, et les systèmes de service de modèles doivent s'adapter à ces changements sans accroc. Beaucoup de méthodes traditionnelles gèrent l'augmentation de la demande en ajoutant simplement plus de serveurs ou en mettant à niveau le matériel existant. Bien que cela puisse aider à répondre à la demande, cela ne fonctionne souvent pas à cause des limites budgétaires ou d'un manque de ressources matérielles disponibles.
D'un autre côté, la scalabilité de la précision modifie la précision des modèles ML au lieu de dépendre uniquement du matériel. Quand le nombre de requêtes entrantes est élevé, le système peut utiliser des modèles moins précis pour traiter rapidement les demandes. En revanche, quand la demande diminue, le système revient à des modèles plus précis pour améliorer la qualité des résultats. Cette méthode est cruciale dans les scénarios où recevoir une réponse rapide, bien que moins précise, est plus bénéfique qu'une réponse plus lente mais plus précise.
Défis des Approches Actuelles
Les techniques traditionnelles de scalabilité de la précision fonctionnent principalement avec des modèles ML indépendants. Cependant, à mesure que le ML continue de s'intégrer dans des applications réelles, de nombreux systèmes utilisent maintenant des pipelines d'inférence qui combinent plusieurs modèles pour accomplir des tâches complexes. Par exemple, une tâche de génération d'images pourrait impliquer plusieurs modèles séquentiels travaillant ensemble. Le temps de réponse de bout en bout de ces pipelines doit respecter des délais spécifiques, connus sous le nom de SLO.
Les méthodes actuelles de scalabilité de la précision manquent souvent de pertinence lorsqu'elles sont appliquées à ces pipelines d'inférence. Elles négligent généralement les connexions entre les différents modèles dans le pipeline, ce qui entraîne souvent une mauvaise Gestion des ressources et des taux de violations des SLO accrus. De plus, ces approches n'incorporent pas efficacement la scalabilité matérielle, ce qui conduit à un gaspillage de ressources durant les périodes de faible demande.
Présentation du Nouveau Système
Pour relever ces défis, un nouveau système a été développé pour gérer efficacement les pipelines d'inférence ML en combinant scalabilité matérielle et scalabilité de la précision. Ce système vise à maximiser la précision globale tout en minimisant le nombre de serveurs actifs utilisés à tout moment, réagissant dynamiquement à la demande changeante.
Le système fonctionne sur l'hypothèse que, lorsque les ressources sont disponibles, chaque requête vise le modèle variant le plus précis. Cependant, il prend aussi en compte que parfois, livrer une réponse rapide - même si elle est légèrement moins précise - est plus acceptable.
Quand la demande est relativement faible, ce système essaie d'optimiser l'utilisation des ressources en réduisant le nombre de serveurs actifs nécessaires pour gérer les requêtes avec la plus grande précision. Pendant les périodes de forte demande, le système passe à un mode où il diminue la précision pour continuer à servir les requêtes entrantes.
Comment le Système Fonctionne
Pour illustrer le fonctionnement du système, considérons un exemple simple impliquant un pipeline d'analyse de trafic composé de deux tâches. La première tâche détecte des objets dans des images, tandis que la seconde tâche classe ces objets détectés. Le système gère les ressources dans le cluster de serveurs en employant à la fois la scalabilité matérielle et la scalabilité de la précision pour traiter efficacement les requêtes entrantes.
Pendant la phase initiale d'augmentation de la demande, le système augmente le nombre de serveurs actifs pour traiter les demandes tout en maintenant une précision maximale. Quand la demande augmente encore plus et que les limites matérielles sont atteintes, le système réduit la précision de la deuxième tâche pour augmenter le débit, lui permettant de gérer plus de requêtes simultanément sans en perdre une.
Cette stratégie permet au système de maintenir un taux de requêtes plus élevé par rapport à un scénario où seule la scalabilité matérielle serait utilisée. De plus, le système peut soutenir un meilleur débit tout en gardant la baisse de précision minimale.
Les Avantages de Combiner Scalabilité Matérielle et Scalabilité de la Précision
L'intégration de la scalabilité matérielle et de la scalabilité de la précision dans ce nouveau système offre plusieurs avantages. Cela permet une meilleure gestion des ressources et aide le système à rester réactif même pendant les périodes de forte demande. En utilisant les deux stratégies ensemble, le système peut passer de l'optimisation du débit au maintien de niveaux de précision acceptables selon les besoins.
Quand la demande est faible, le système peut réduire le nombre de serveurs actifs, ce qui optimise l'utilisation des ressources et réduit les coûts. Au fur et à mesure que la demande augmente, le système réalloue efficacement les ressources pour gérer la charge tout en gardant les temps de réponse et la précision sous contrôle.
Avantages de la Nouvelle Approche
Les forces du nouveau système résident dans sa capacité à gérer les complexités des pipelines d'inférence. Il comprend comment les différentes tâches dans un pipeline s'influencent mutuellement, permettant une allocation des ressources plus intelligente. Cette approche entraîne des taux de violations des SLO plus bas, une meilleure précision globale du système et une utilisation plus efficace des ressources, surtout pendant les périodes de fluctuation de la demande.
Une des innovations clés est la capacité d'ajuster dynamiquement la précision des différentes tâches dans le pipeline en fonction de la demande en temps réel. Cela signifie que lorsque la demande augmente, le système peut répondre rapidement en servant les requêtes plus vite, même si cela implique d'utiliser des modèles moins précis. Inversement, lorsque la demande diminue, il peut passer à des modèles plus précis pour améliorer la qualité des résultats.
Gestion des Ressources dans le Nouveau Système
Le système utilise un composant de gestion des ressources pour faire des choix intelligents sur quels modèles variant déployer et combien de ressources allouer à chacun. Cela inclut la détermination du nombre optimal d'instances de modèle à héberger et de la taille de lot maximale pour optimiser la vitesse de traitement.
Le gestionnaire de ressources évalue périodiquement la demande entrante et ajuste l'allocation des ressources au besoin. L'objectif est de s'assurer que le système puisse répondre aux exigences de débit et de précision sans gaspiller de ressources.
De plus, le système dispose d'un répartiteur de charge qui dirige intelligemment les requêtes entrantes. Cela permet au système d'utiliser ses ressources efficacement tout en réduisant les chances de dépasser les SLO. Le répartiteur de charge s'assure que les requêtes sont dirigées vers les meilleures instances de modèle disponibles, maximisant ainsi la précision globale du système.
Exécution des Requêtes en Temps Réel
Au fur et à mesure que les demandes sont traitées, elles suivent un parcours à travers les différentes tâches dans le pipeline d'inférence. L'architecture du système permet aux clients d'envoyer des requêtes au front-end, qui les transmet à des travailleurs appropriés. Chaque travailleur exécute sa part de la tâche et passe les résultats au suivant dans le pipeline.
Pour garantir que le système respecte les SLO, la bande passante utilisée pour chaque tâche est surveillée. Si une requête risque de ne pas respecter son délai attendu, le système peut la laisser tomber pour libérer des ressources pour des requêtes plus prometteuses. En agissant ainsi, le système maximise les chances de respecter les SLO pour les requêtes les plus critiques.
Évaluation de la Performance du Système
Pour évaluer le bon fonctionnement du nouveau système, une série d'expériences a été menée. Il a été comparé à des systèmes de service de modèles existants pour mesurer sa performance sur plusieurs critères.
Les évaluations se concentraient sur la précision, l'utilisation des ressources et les taux de violations de SLO. Les résultats ont montré que le nouveau système surpassait systématiquement ses concurrents. Il a réussi à réduire de manière significative les taux de violations de SLO et à augmenter la capacité effective du cluster de serveurs.
De plus, le système a démontré une meilleure gestion des pics de demande en utilisant efficacement à la fois la scalabilité matérielle et la scalabilité de la précision. Quand les approches traditionnelles peinaient à répondre à une forte demande, ce nouveau système est parvenu à continuer de fournir des réponses rapides sans submerger l'infrastructure.
Conclusion
L'introduction d'un système qui combine scalabilité matérielle et scalabilité de la précision offre une façon prometteuse de gérer les pipelines d'inférence ML. Cette méthode fournit une réponse flexible aux demandes variées tout en veillant à ce que le système maintienne une haute précision et minimise l'utilisation des ressources.
En s'attaquant aux défis spécifiques liés aux pipelines d'inférence, le nouveau système représente un pas en avant dans le domaine du service de modèles. Il améliore non seulement la capacité de servir les demandes rapidement, mais optimise aussi l'utilisation globale des ressources, en faisant une solution attrayante pour les organisations confrontées aux complexités de l'apprentissage automatique dans des applications réelles.
En résumé, à mesure que la demande pour le ML continue d'augmenter, des systèmes comme celui-ci seront cruciaux pour s'assurer que les services restent efficaces, rentables et réactifs aux besoins des utilisateurs.
Titre: Loki: A System for Serving ML Inference Pipelines with Hardware and Accuracy Scaling
Résumé: The rapid adoption of machine learning (ML) has underscored the importance of serving ML models with high throughput and resource efficiency. Traditional approaches to managing increasing query demands have predominantly focused on hardware scaling, which involves increasing server count or computing power. However, this strategy can often be impractical due to limitations in the available budget or compute resources. As an alternative, accuracy scaling offers a promising solution by adjusting the accuracy of ML models to accommodate fluctuating query demands. Yet, existing accuracy scaling techniques target independent ML models and tend to underperform while managing inference pipelines. Furthermore, they lack integration with hardware scaling, leading to potential resource inefficiencies during low-demand periods. To address the limitations, this paper introduces Loki, a system designed for serving inference pipelines effectively with both hardware and accuracy scaling. Loki incorporates an innovative theoretical framework for optimal resource allocation and an effective query routing algorithm, aimed at improving system accuracy and minimizing latency deadline violations. Our empirical evaluation demonstrates that through accuracy scaling, the effective capacity of a fixed-size cluster can be enhanced by more than $2.7\times$ compared to relying solely on hardware scaling. When compared with state-of-the-art inference-serving systems, Loki achieves up to a $10\times$ reduction in Service Level Objective (SLO) violations, with minimal compromises on accuracy and while fulfilling throughput demands.
Auteurs: Sohaib Ahmad, Hui Guan, Ramesh K. Sitaraman
Dernière mise à jour: 2024-07-03 00:00:00
Langue: English
Source URL: https://arxiv.org/abs/2407.03583
Source PDF: https://arxiv.org/pdf/2407.03583
Licence: https://creativecommons.org/licenses/by/4.0/
Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.
Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.