Je souhaite résoudre les problèmes liés à une latence élevée de mon point de terminaison Amazon SageMaker.
Brève description
Votre point de terminaison SageMaker peut présenter les types de latence suivants :
- Latence du modèle : il s'agit du temps nécessaire au modèle pour répondre à une requête d'inférence. La latence du modèle inclut le temps de communication local nécessaire pour envoyer une requête puis récupérer une réponse. La latence du modèle inclut également le temps d'achèvement de l'inférence dans le conteneur du modèle.
- Latence de surcharge : il s'agit du temps nécessaire à SageMaker pour répondre à une requête d'invocation et exclut la latence du modèle.
- Latence du réseau : il s'agit du temps nécessaire à la requête pour effectuer des allers-retours entre le client et le point de terminaison SageMaker. La latence réseau se produit en dehors de l'infrastructure AWS.
Si votre point de terminaison SageMaker utilise un seul modèle, les métriques Amazon CloudWatch suivantes sont disponibles :
- Latence du modèle
- Latence de surcharge
Si votre point de terminaison SageMaker dessert un point de terminaison multi-modèles, les métriques CloudWatch suivantes sont disponibles :
- Temps d'attente pour le chargement du modèle : cette métrique indique le temps d'attente nécessaire à une requête d'invocation pour que le modèle cible soit téléchargé ou chargé avant que l'inférence ne soit effectuée.
- Durée de téléchargement du modèle : cette métrique indique le temps nécessaire au téléchargement du modèle depuis Amazon Simple Storage Service (Amazon S3).
- Durée de chargement du modèle : cette métrique indique le temps nécessaire au chargement du modèle dans le conteneur.
- Modèle Cache Hit : cette métrique indique le nombre de requêtes InvokeEndpoint envoyées au point de terminaison sur lequel le modèle a été chargé.
Remarque : Les points de terminaison multi-modèles chargent et déchargent des modèles tout au long de leur durée de vie. Vous pouvez utiliser la métrique CloudWatch LoadedModelCount pour afficher le nombre de modèles chargés pour un point de terminaison.
Résolution
Résolvez les problèmes liés à votre latence élevée en vous basant sur les types de latence suivants :
Latence du modèle
Pour réduire la latence élevée de votre modèle, procédez comme suit :
- Pour tester les performances du modèle, comparez le modèle à l’extérieur d'un point de terminaison SageMaker.
- Si SageMaker Neo prend en charge votre modèle, vous pouvez le compiler. SageMaker Neo optimise les modèles afin qu'ils s'exécutent deux fois plus vite avec une empreinte mémoire moindre et sans perte de précision.
- Si AWS Inferentia prend en charge votre modèle, compilez ce dernier pour Inferentia. Cela permet un débit plus élevé à un coût par inférence inférieur.
- Si vous utilisez une instance CPU et que le modèle prend en charge l'accélération GPU, utilisez une instance GPU pour ajouter une accélération GPU à une instance.
Remarque : Le code d'inférence peut affecter la latence du modèle en fonction de la manière dont le code gère l'inférence. Tout retard dans le code augmente la latence.
- Pour augmenter et diminuer de manière dynamique le nombre d'instances disponibles pour un point de terminaison, ajoutez l’autoscaling à un point de terminaison. L’utilisation excessive d’un point de terminaison peut entraîner une latence du modèle plus élevée.
Latence de surcharge
Les facteurs qui contribuent à une latence excessive sont les suivants :
- Taille de la charge utile pour les requêtes et les réponses
- Fréquence ou rareté des requêtes
- Authentification ou autorisation de la requête
La première invocation d'un point de terminaison peut présenter une augmentation de la latence en raison d'un démarrage à froid. Pour éviter une latence élevée lors d'un démarrage à froid, envoyez des requêtes de test au point de terminaison pour le préchauffer.
Latence réseau
Pour réduire la latence élevée de votre réseau, procédez comme suit :
- Déployez l'application client plus près de la région AWS où le point de terminaison SageMaker est hébergé.
- Optimisez les configurations réseau côté client et la connectivité Internet.
- Pour rapprocher les requêtes d'inférence du client, utilisez un réseau de diffusion de contenu (CDN) ou une solution informatique de pointe.
Remarque : SageMaker ne peut pas influencer directement la latence réseau. Assurez-vous d'optimiser la latence d'inférence globale pour les applications qui utilisent des points de terminaison SageMaker en fonction de votre cas d'utilisation.