Bonnes pratiques d'optimisation des coûts d'inférence - Amazon SageMaker

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 pour 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 passer à tout moment d'une instance ml.c5.xlarge de processeur exécutée dans la région USA Est (Ohio) à une instance ml.Inf1 exécutée dans la région USA Ouest (Oregon) pour les charges de travail d'inférence et continuer automatiquement à payer 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 Optimisez les performances du modèle avec 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.

  • 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.