Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Bonnes pratiques d'optimisation des coûts d'inférence
Le contenu suivant fournit des techniques et des remarques permettant d'optimiser le coût des points de terminaison. Vous pouvez utiliser ces recommandations pour optimiser le coût des points de terminaison nouveaux et existants.
Bonnes pratiques
Pour optimiser vos coûts SageMaker d'inférence, suivez ces meilleures pratiques.
SageMaker propose 4 options d'inférence différentes afin de fournir la meilleure option d'inférence pour le travail. Il est possible d'économiser sur les coûts en choisissant l'option d'inférence qui correspond le mieux à votre charge de travail.
Utilisez l'inférence en temps réel pour les charges de travail à faible latence avec des modèles de trafic prévisibles dont les caractéristiques de latence doivent être cohérentes et qui sont toujours disponibles. Vous payez pour utiliser l'instance.
Utilisez l'inférence sans serveur pour les charges de travail synchrones qui présentent un modèle de trafic irrégulier et qui peuvent accepter des variations de latence p99. L'inférence sans serveur est automatiquement mise à l'échelle pour répondre au trafic de votre charge de travail, de sorte que vous ne payez pas pour les ressources inactives. Vous payez uniquement pour la durée de la demande d'inférence. Le même modèle et les mêmes conteneurs peuvent être utilisés avec l'inférence en temps réel et l'inférence sans serveur, ce qui vous permet de basculer entre ces deux modes en fonction de vos besoins.
Utilisez l'inférence asynchrone pour les charges de travail asynchrones qui traitent jusqu'à 1 Go de données (corpus de textes, image, vidéo et audio) et qui sont insensibles à la latence et sensibles aux coûts. Avec l'inférence asynchrone, vous pouvez contrôler les coûts en spécifiant un nombre fixe d'instances pour le taux de traitement optimal au lieu d'approvisionner pour gérer le pic. Vous pouvez également procéder à une réduction d'échelle à zéro pour éviter les coûts supplémentaires.
Utilisez l'inférence par lots pour les charges de travail pour lesquelles vous avez besoin d'inférence pour un ensemble volumineux de données pour les processus hors ligne (en d'autres termes, vous n'avez pas besoin d'un point de terminaison persistant). Vous payez pour l'instance pour toute la durée de la tâche d'inférence par lots.
-
Si votre niveau d'utilisation est constant pour tous les SageMaker services, vous pouvez souscrire à un SageMaker Savings Plan afin de réduire vos coûts jusqu'à 64 %.
-
Amazon SageMaker Savings Plans
fournit un modèle de tarification flexible à Amazon SageMaker, en échange d'un engagement à utiliser régulièrement (mesuré en $/heure) pour une durée d'un an ou trois ans. Ces plans s'appliquent automatiquement aux utilisations d'instances SageMaker ML éligibles, notamment SageMaker Studio Classic Notebook, SageMaker On-Demand Notebook, SageMaker Processing, SageMaker Data Wrangler, SageMaker Training, SageMaker Real-Time Inference et SageMaker Batch Transform, quelles que soient la famille d'instances, leur taille ou leur région. Par exemple, vous pouvez modifier à tout moment l'utilisation d'une instance CPU ml.c5.xlarge exécutée dans l'est des États-Unis (Ohio) à une instance ml.inf1 dans l'ouest des États-Unis (Oregon) pour les charges de travail d'inférence et continuer à payer automatiquement le prix des Savings Plans.
Les modèles non optimisés peuvent entraîner des durées d'exécution plus longues et utiliser davantage de ressources. Vous pouvez choisir d'utiliser un plus grand nombre d'instances ou des instances plus volumineuses pour améliorer les performances. Sachez toutefois que cela entraîne des coûts plus élevés.
En optimisant vos modèles pour qu'ils soient plus performants, il est possible de réduire les coûts en utilisant moins d'instances ou des instances plus petites tout en conservant les mêmes caractéristiques de performances ou en les améliorant. Vous pouvez utiliser SageMaker Neo
with SageMaker Inference pour optimiser automatiquement les modèles. Pour plus d'informations et pour obtenir des exemples, consultez Optimisation des performances des modèles avec SageMaker Neo.
SageMaker Inference possède plus de 70 types et tailles d'instances qui peuvent être utilisés pour déployer des modèles de ML, notamment les chipsets AWS Inferentia et Graviton optimisés pour le ML. Le choix de l'instance adaptée à votre modèle permet de garantir que vous disposez de l'instance la plus performante au moindre coût pour vos modèles.
En utilisant Inference Recommender, vous pouvez rapidement comparer différentes instances pour comprendre les performances du modèle et les coûts. Avec ces résultats, vous pouvez choisir l'instance à déployer ayant le meilleur retour sur investissement.
-
Les coûts peuvent rapidement s'accumuler lorsque vous déployez plusieurs points de terminaison, surtout s'ils n'utilisent pas complètement les instances sous-jacentes. Pour savoir si l'instance est sous-utilisée, vérifiez les indicateurs d'utilisation (CPU,GPU, etc.) sur Amazon CloudWatch pour vos instances. Si vous disposez de plusieurs de ces points de terminaison, vous pouvez combiner les modèles ou les conteneurs sur ces points de terminaison multiples en un seul point de terminaison.
-
À l'aide de points de terminaison multimodèles (MME) ou de points de terminaison multiconteneurs (MCE), vous pouvez déployer plusieurs modèles ou conteneurs ML sur un seul point de terminaison afin de partager l'instance entre plusieurs modèles ou conteneurs et d'améliorer votre retour sur investissement. Pour en savoir plus, consultez cet article Réduisez les coûts d'inférence en utilisant les points de terminaison SageMaker multimodèles Amazon
ou Déployez plusieurs conteneurs de service sur une seule instance à l'aide des points de terminaison SageMaker multi-conteneurs Amazon sur le blog Machine Learning . AWS
-
Sans mise à l'échelle automatique, vous devez approvisionner pour gérer les pics de trafic ou risquer l'indisponibilité des modèles. À moins que le trafic vers votre modèle soit stable tout au long de la journée, la capacité inutilisée sera excédentaire. Cela entraîne une faible utilisation et un gaspillage de ressources.
-
La mise à l'échelle automatique est une out-of-the-box fonctionnalité qui surveille vos charges de travail et ajuste dynamiquement la capacité afin de maintenir des performances stables et prévisibles au moindre coût possible. Lorsque la charge de travail augmente, la mise à l'échelle automatique met en ligne plus d'instances. Lorsque la charge de travail diminue, la mise à l'échelle automatique retire les instances inutiles, ce qui vous permet de réduire vos coûts de calcul. Pour en savoir plus, consultez Configuration des points de terminaison d'inférence à dimensionnement automatique SageMaker sur Amazon
sur le blog AWS Machine Learning.