Minimisez la latence d'inférence en temps réel à l'aide des stratégies de routage Amazon SageMaker | Services Web Amazon

Minimisez la latence d'inférence en temps réel à l'aide des stratégies de routage Amazon SageMaker | Services Web Amazon

Amazon Sage Maker facilite le déploiement de modèles d'apprentissage automatique (ML) pour l'inférence en temps réel et offre une large sélection d'instances de ML couvrant les processeurs et les accélérateurs tels que Inférence AWS. En tant que service entièrement géré, vous pouvez faire évoluer vos déploiements de modèles, minimiser les coûts d'inférence et gérer vos modèles plus efficacement en production avec une charge opérationnelle réduite. Un point de terminaison d'inférence en temps réel SageMaker se compose d'un point de terminaison HTTP et d'instances ML déployées sur plusieurs zones de disponibilité pour une haute disponibilité. SageMaker mise à l'échelle automatique des applications peut ajuster dynamiquement le nombre d'instances ML provisionnées pour un modèle en réponse aux changements de charge de travail. Le point de terminaison distribue uniformément les requêtes entrantes aux instances ML à l’aide d’un algorithme à tour de rôle.

Lorsque les modèles ML déployés sur des instances reçoivent des appels API d'un grand nombre de clients, une distribution aléatoire des requêtes peut très bien fonctionner lorsqu'il n'y a pas beaucoup de variabilité dans vos requêtes et réponses. Mais dans les systèmes dotés de charges de travail d’IA générative, les demandes et les réponses peuvent être extrêmement variables. Dans ces cas, il est souvent préférable d’équilibrer la charge en tenant compte de la capacité et de l’utilisation de l’instance plutôt que d’un équilibrage de charge aléatoire.

Dans cet article, nous discutons de la stratégie de routage des demandes les moins en attente (LOR) de SageMaker et de la manière dont elle peut minimiser la latence pour certains types de charges de travail d'inférence en temps réel en prenant en compte la capacité et l'utilisation des instances de ML. Nous parlons de ses avantages par rapport au mécanisme de routage par défaut et de la manière dont vous pouvez activer LOR pour vos déploiements de modèles. Enfin, nous présentons une analyse comparative des améliorations de latence avec LOR par rapport à la stratégie de routage par défaut du routage aléatoire.

Stratégie SageMaker LOR

Par défaut, les points de terminaison SageMaker ont une stratégie de routage aléatoire. SageMaker prend désormais en charge une stratégie LOR, qui permet à SageMaker d'acheminer de manière optimale les requêtes vers l'instance la mieux adaptée pour répondre à cette requête. SageMaker rend cela possible en surveillant la charge des instances derrière votre point de terminaison et les modèles ou composants d'inférence déployés sur chaque instance.

Le diagramme interactif suivant montre la politique de routage par défaut dans laquelle les demandes arrivant aux points de terminaison du modèle sont transmises de manière aléatoire aux instances ML.

Minimize real-time inference latency by using Amazon SageMaker routing strategies | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Le diagramme interactif suivant montre la stratégie de routage dans laquelle SageMaker acheminera la requête vers l'instance qui a le moins de requêtes en attente.

Minimize real-time inference latency by using Amazon SageMaker routing strategies | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

En général, le routage LOR fonctionne bien pour les modèles fondamentaux ou les modèles d'IA génératifs lorsque votre modèle répond en centaines de millisecondes ou en minutes. Si la réponse de votre modèle a une latence plus faible (jusqu'à des centaines de millisecondes), vous pourrez bénéficier davantage du routage aléatoire. Quoi qu’il en soit, nous vous recommandons de tester et d’identifier le meilleur algorithme de routage pour vos charges de travail.

Comment définir des stratégies de routage SageMaker

SageMaker vous permet désormais de définir le RoutingStrategy paramètre lors de la création du EndpointConfiguration pour les points de terminaison. Le différent RoutingStrategy les valeurs prises en charge par SageMaker sont :

  • LEAST_OUTSTANDING_REQUESTS
  • RANDOM

Voici un exemple de déploiement d'un modèle sur un point de terminaison d'inférence sur lequel LOR est activé :

  1. Créez la configuration du point de terminaison en définissant RoutingStrategy as LEAST_OUTSTANDING_REQUESTS:
    endpoint_config_response = sm_client.create_endpoint_config( EndpointConfigName=endpoint_config_name, ProductionVariants=[ { "VariantName": "variant1", "ModelName": model_name, "InstanceType": "instance_type", "InitialInstanceCount": initial_instance_count, ….. "RoutingConfig": { 'RoutingStrategy': 'LEAST_OUTSTANDING_REQUESTS'} }, ],
    )

  2. Créez le point de terminaison à l'aide de la configuration du point de terminaison (aucun changement) :
    create_endpoint_response = sm_client.create_endpoint( EndpointName="endpoint_name", EndpointConfigName="endpoint_config_name"
    )

Résultats de performance

Nous avons effectué une analyse comparative des performances pour mesurer la latence et le débit d'inférence de bout en bout du codegen2-7B modèle hébergé sur des instances ml.g5.24xl avec des points de terminaison de routage par défaut et de routage intelligent. Le modèle CodeGen2 appartient à la famille des modèles de langage autorégressifs et génère du code exécutable lorsqu'il est invité en anglais.

Dans notre analyse, nous avons augmenté le nombre d'instances ml.g5.24xl derrière chaque point de terminaison pour chaque exécution de test à mesure que le nombre d'utilisateurs simultanés augmentait, comme le montre le tableau suivant.

Teste Nombre d'utilisateurs simultanés Nombre d'instances
1 4 1
2 20 5
3 40 10
4 60 15
5 80 20

Nous avons mesuré la latence P99 de bout en bout pour les deux paramètres et observé une amélioration de 4 à 33 % de la latence lorsque le nombre d'instances passait de 5 à 20, comme le montre le graphique suivant.

Minimize real-time inference latency by using Amazon SageMaker routing strategies | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

De même, nous avons observé une amélioration de 15 à 16 % du débit par minute et par instance lorsque le nombre d'instances passait de 5 à 20.

Minimize real-time inference latency by using Amazon SageMaker routing strategies | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Cela montre que le routage intelligent est capable d'améliorer la répartition du trafic entre les points de terminaison, entraînant ainsi des améliorations de la latence de bout en bout et du débit global.

Conclusion

Dans cet article, nous avons expliqué les stratégies de routage SageMaker et la nouvelle option permettant d'activer le routage LOR. Nous avons expliqué comment activer LOR et comment cela peut bénéficier à vos déploiements de modèles. Nos tests de performances ont montré des améliorations en matière de latence et de débit lors de l'inférence en temps réel. Pour en savoir plus sur les fonctionnalités de routage de SageMaker, reportez-vous à Documentation. Nous vous encourageons à évaluer vos charges de travail d'inférence et à déterminer si vous êtes configuré de manière optimale avec la stratégie de routage.


À propos des auteurs

Minimize real-time inference latency by using Amazon SageMaker routing strategies | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.James Park est architecte de solutions chez Amazon Web Services. Il travaille avec Amazon.com pour concevoir, créer et déployer des solutions technologiques sur AWS, et s'intéresse particulièrement à l'IA et à l'apprentissage automatique. Dans ses temps libres, il aime rechercher de nouvelles cultures, de nouvelles expériences et se tenir au courant des dernières tendances technologiques. Vous pouvez le retrouver sur LinkedIn.

Minimize real-time inference latency by using Amazon SageMaker routing strategies | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Venugopal Paï est architecte de solutions chez AWS. Il vit à Bangalore, en Inde, et aide les clients natifs du numérique à faire évoluer et à optimiser leurs applications sur AWS.

Minimize real-time inference latency by using Amazon SageMaker routing strategies | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.David Nigenda est ingénieur principal en développement logiciel au sein de l'équipe Amazon SageMaker. Il travaille actuellement à l'amélioration des workflows d'apprentissage automatique de production, ainsi qu'au lancement de nouvelles fonctionnalités d'inférence. Pendant son temps libre, il essaie de suivre ses enfants.

Minimize real-time inference latency by using Amazon SageMaker routing strategies | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Deepti Ragha est ingénieur en développement logiciel au sein de l'équipe Amazon SageMaker. Son travail actuel se concentre sur la création de fonctionnalités pour héberger efficacement des modèles d'apprentissage automatique. Dans ses temps libres, elle aime voyager, faire de la randonnée et cultiver des plantes.

Alan TanAlan Tan est chef de produit senior chez SageMaker, dirigeant les efforts sur l'inférence de grands modèles. Il est passionné par l'application de l'apprentissage automatique au domaine de l'analyse. En dehors du travail, il aime le plein air.

Minimize real-time inference latency by using Amazon SageMaker routing strategies | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Dhawal Patel est architecte principal en apprentissage machine chez AWS. Il a travaillé avec des organisations allant des grandes entreprises aux startups de taille moyenne sur des problèmes liés à l'informatique distribuée et à l'intelligence artificielle. Il se concentre sur l'apprentissage en profondeur, y compris les domaines de la PNL et de la vision par ordinateur. Il aide les clients à obtenir une inférence de modèle haute performance sur SageMaker.

Horodatage:

Plus de Apprentissage automatique AWS