Toile Amazon SageMaker est un espace de travail riche et sans code d'apprentissage automatique (ML) et d'IA générative qui a permis aux clients du monde entier d'adopter plus facilement les technologies ML pour résoudre des défis anciens et nouveaux grâce à son interface visuelle sans code. Pour ce faire, il couvre le flux de travail ML de bout en bout : que vous recherchiez une préparation de données puissante et AutoML, un déploiement de points de terminaison gérés, des fonctionnalités MLOps simplifiées et des modèles prêts à l'emploi alimentés par les services AWS AI et Generative AI, SageMaker Canvas peut vous aider à atteindre vos objectifs.
Alors que les entreprises de toutes tailles adoptent SageMaker Canvas, les clients ont demandé des moyens d'optimiser les coûts. Tel que défini dans le Framework AWS Well-Architected, une charge de travail optimisée en termes de coûts utilise pleinement toutes les ressources, répond à vos exigences fonctionnelles et obtient un résultat au prix le plus bas possible.
Aujourd'hui, nous introduisons une nouvelle façon d'optimiser davantage les coûts des applications SageMaker Canvas. SageMaker Canvas collecte désormais Amazon Cloud Watch des mesures qui fournissent un aperçu de l’utilisation des applications et de l’inactivité. Les clients peuvent utiliser ces informations pour arrêter automatiquement les applications SageMaker Canvas inactives afin d'éviter d'engager des coûts imprévus.
Dans cet article, nous allons vous montrer comment arrêter automatiquement les applications SageMaker Canvas inactives pour contrôler les coûts en utilisant une architecture simple sans serveur. Les modèles utilisés dans cet article sont disponibles dans GitHub.
Comprendre et suivre les coûts
La formation constitue toujours la première étape pour comprendre et contrôler les coûts de toute charge de travail, que ce soit sur site ou dans le cloud. Commençons par revoir le Tarification de SageMaker Canvas modèle. En un mot, SageMaker Canvas propose un modèle de tarification à l'utilisation, basé sur deux dimensions :
- Instance d'espace de travail: anciennement appelé durée de session, est le coût associé à l'exécution de l'application SageMaker Canvas
- Frais de service AWS: coûts associés à la formation des modèles, au déploiement des points de terminaison, à la génération d'inférences (ressources pour faire tourner SageMaker Canvas).
Les clients ont toujours un contrôle total sur les ressources lancées par SageMaker Canvas et peuvent suivre les coûts associés à l'application SageMaker Canvas en utilisant le service AWS Billing and Cost Management. Pour plus d'informations, reportez-vous à Gérer la facturation et les coûts dans SageMaker Canvas.
Pour limiter le coût associé aux instances de l'espace de travail, il est recommandé de vous déconnecter et de ne pas fermer l'onglet du navigateur. Pour vous déconnecter, choisissez le Déconnexion sur le panneau gauche de l’application SageMaker Canvas.
Arrêt automatique des applications SageMaker Canvas
Pour les administrateurs informatiques qui cherchent à fournir des contrôles automatisés pour arrêter les applications SageMaker Canvas et garder les coûts sous contrôle, il existe deux approches :
- Arrêter les applications selon un calendrier (tous les jours à 19h00 ou tous les vendredis à 18h00)
- Arrêter automatiquement les applications inactives (lorsque l'application n'a pas été utilisée depuis deux heures)
Arrêter les applications selon un calendrier
L'arrêt programmé des applications SageMaker Canvas peut être réalisé avec très peu d'effort en utilisant un cron expression (avec Amazon EventBridge Cron Rule), un composant de calcul (une fonction AWS Lambda) qui appelle l'API Amazon SageMaker DeleteApp
. Cette approche a été discutée dans le Provisionnez et gérez les environnements ML avec Amazon SageMaker Canvas à l'aide d'AWS CDK et d'AWS Service Catalog poste, et mis en œuvre dans le GitHub référentiel.
L'un des avantages de l'architecture ci-dessus est qu'il est très simple de la dupliquer pour réaliser une création planifiée de l'application SageMaker Canvas. En utilisant une combinaison de création et de suppression planifiées, un administrateur cloud peut s'assurer que l'application SageMaker Canvas est prête à être utilisée chaque fois que les utilisateurs commencent leur journée de travail (par exemple, à 9 heures du matin un jour ouvrable), et que l'application s'arrête également automatiquement. à la fin de la journée ouvrable (par exemple à 7 heures un jour ouvrable, toujours fermé le week-end). Il suffit de changer la ligne de code appelant le DeleteApp
API dans CreateApp
, ainsi que la mise à jour de l'expression cron pour refléter l'heure de création de l'application souhaitée.
Bien que cette approche soit très simple à mettre en œuvre et à tester, l'inconvénient de l'architecture proposée est qu'elle ne prend pas en compte si une application est actuellement utilisée ou non, la fermant quel que soit son statut d'activité actuel. Selon différentes situations, cela pourrait provoquer des frictions avec les utilisateurs actifs, qui pourraient voir leur session se terminer brutalement.
Vous pouvez récupérer le modèle associé à cette architecture depuis le dépôt GitHub suivant :
Arrêter automatiquement les applications inactives
À partir d'aujourd'hui, Amazon SageMaker Canvas émet des métriques CloudWatch qui fournissent un aperçu de l'utilisation et de l'inactivité des applications. Cela permet à un administrateur de définir une solution qui lit la métrique d'inactivité, la compare à un seuil et définit une logique spécifique pour l'arrêt automatique. Un aperçu plus détaillé de la métrique d'inactivité émise par SageMaker Canvas est présenté dans le paragraphe suivant.
Pour obtenir l'arrêt automatique des applications SageMaker Canvas en fonction des métriques d'inactivité, nous fournissons un modèle AWS CloudFormation. Ce modèle se compose de trois éléments principaux :
- An Alarme Amazon CloudWatch, qui exécute une requête pour vérifier la valeur MAX du
TimeSinceLastActive
métrique. Si cette valeur est supérieure à un seuil fourni en entrée du modèle CloudFormation, elle déclenche le reste de l'automatisation. Cette requête peut être exécutée sur un seul profil utilisateur, sur un seul domaine ou sur tous les domaines. Selon le niveau de contrôle que vous souhaitez avoir, vous pouvez utiliser :- le
all-domains-all-users
modèle, qui vérifie cela sur tous les utilisateurs et tous les domaines de la région où le modèle est déployé - le
one-domain-all-users
modèle, qui vérifie cela pour tous les utilisateurs d'un domaine dans la région où le modèle est déployé - le
one-domain-one-user
modèle, qui vérifie cela pour un profil utilisateur, dans un domaine, dans la région où le modèle est déployé
- le
- Le changement d'état de l'alarme crée un événement sur le bus d'événements par défaut dans Amazon EventBridge, qui dispose d'une règle Amazon EventBridge configurée pour déclencher une fonction AWS Lambda.
- La fonction AWS Lambda identifie quelle application SageMaker Canvas s'exécute en inactivité depuis plus que le seuil spécifié et la supprime avec l'option API Supprimer l'application.
Vous pouvez récupérer les modèles AWS CloudFormation associés à cette architecture à partir du référentiel GitHub suivant :
Comment fonctionne la métrique d'inactivité de SageMaker Canvas
SageMaker Canvas émet un TimeSinceLastActive
métrique dans le /aws/sagemaker/Canvas/AppActivity
espace de noms, qui indique le nombre de secondes pendant lesquelles l'application est restée inactive sans activité de l'utilisateur. Nous pouvons utiliser cette nouvelle métrique pour déclencher un arrêt automatique de l'application SageMaker Canvas lorsqu'elle est inactive pendant une période définie. SageMaker Canvas expose le TimeSinceLastActive
avec le schéma suivant :
{
"Namespace": "/aws/sagemaker/Canvas/AppActivity",
"Dimensions": [
[
"DomainId",
"UserProfileName"
]
],
"Metrics": [
{
"Name": "TimeSinceLastActive",
"Unit": "Seconds",
"Value": 12345
}
]
}
Les éléments clés de cette métrique sont les suivants :
Dimensions
, en particulierDomainID
et lesUserProfileName
, qui permettent à un administrateur d'identifier les applications inactives sur tous les domaines et tous les utilisateursValue
de la métrique, qui indique le nombre de secondes écoulées depuis la dernière activité dans les applications SageMaker Canvas. SageMaker Canvas considère les éléments suivants comme une activité :- Toute action entreprise dans l'application SageMaker Canvas (cliquer sur un bouton, transformer un ensemble de données, générer une inférence dans l'application, déployer un modèle) ;
- Utiliser un modèle prêt à l'emploi ou interagir avec les modèles d'IA générative à l'aide de l'interface de chat ;
- Une inférence par lots programmée pour s'exécuter à une heure précise ; pour plus d'informations, reportez-vous à Gérer les automatisations.
Cette métrique peut être lue via l'API Amazon CloudWatch telle que get_metric_data
. Par exemple, en utilisant le kit AWS SDK pour Python (boto3
):
import boto3, datetime
cw = boto3.client('cloudwatch')
metric_data_results = cw.get_metric_data(
MetricDataQueries=[
{
"Id": "q1",
"Expression": 'SELECT MAX(TimeSinceLastActive) FROM "/aws/sagemaker/Canvas/AppActivity" GROUP BY DomainId, UserProfileName',
"Period": 900
}
],
StartTime=datetime.datetime(2023, 1, 1),
EndTime=datetime.datetime.now(),
ScanBy='TimestampAscending'
)
La requête Python extrait le MAX
valeur de TimeSinceLastActive
de l'espace de noms associé à SageMaker Canvas après avoir regroupé ces valeurs par DomainID
et les UserProfileName
.
Déployer et tester la solution d'arrêt automatique
Pour déployer la pile d'arrêt automatique, procédez comme suit :
- Téléchargez le modèle AWS CloudFormation qui fait référence à la solution que vous souhaitez implémenter à partir du référentiel GitHub ci-dessus. Choisissez si vous souhaitez mettre en œuvre une solution pour tous les domaines SageMaker, pour un seul domaine SageMaker ou pour un seul utilisateur ;
- Mettre à jour les paramètres du modèle :
- Le délai d'inactivité – durée (en secondes) pendant laquelle l'application SageMaker Canvas est autorisée à rester inactive avant d'être arrêtée ; la valeur par défaut est de 2 heures
- Le période d'alarme – temps d'agrégation (en secondes) utilisé par CloudWatch Alarm pour calculer le délai d'inactivité ; la valeur par défaut est de 20 minutes
- (Optionnel) ID de domaine SageMaker et les nom du profil utilisateur
- Déployer la pile CloudFormation pour créer les ressources
Une fois déployées (cela devrait prendre moins de deux minutes), la fonction AWS Lambda et l'alarme Amazon CloudWatch sont configurées pour arrêter automatiquement l'application Canvas lorsqu'elle est inactive. Pour tester le script d'arrêt automatique, procédez comme suit :
- Assurez-vous que l'application SageMaker Canvas s'exécute dans le bon domaine et avec le bon profil utilisateur (si vous les avez configurés).
- Arrêtez d'utiliser l'application SageMaker Canvas et attendez le délai d'inactivité (par défaut, 2 heures)
- Vérifiez que l'application est arrêtée après avoir été inactive pendant le temps seuil en vérifiant que l'alarme CloudWatch a été déclenchée et, après avoir déclenché l'automatisation, elle est revenue à l'état normal.
Lors de notre test, nous avons fixé le délai d'inactivité à deux heures (7200 XNUMX secondes). Dans le graphique suivant tracé par Amazon CloudWatch Metrics, vous pouvez voir que l'application SageMaker Canvas a émis le TimeSinceLastActive
métrique jusqu'à ce que le seuil soit atteint (1), ce qui a déclenché l'alarme. Une fois l'alarme déclenchée, la fonction AWS Lambda a été exécutée, ce qui a supprimé l'application et ramené la métrique en dessous du seuil (2).
Conclusion
Dans cet article, nous avons implémenté une solution d'arrêt automatisé pour les applications SageMaker Canvas inactives à l'aide d'AWS Lambda et CloudWatch Alarm et de la nouvelle métrique d'inactivité émise par SageMaker Canvas. Grâce à cette solution, les clients peuvent non seulement optimiser les coûts de leurs charges de travail de ML, mais peuvent également éviter des frais imprévus pour des applications dont ils ont oublié qu'elles s'exécutaient dans leur domaine SageMaker.
Nous sommes impatients de voir quels nouveaux cas d'utilisation et charges de travail les clients peuvent résoudre avec la tranquillité d'esprit apportée par cette solution. Pour plus d'exemples de la façon dont SageMaker Canvas peut vous aider à atteindre vos objectifs commerciaux, reportez-vous aux articles suivants :
Pour savoir comment exécuter des charges de travail au niveau de la production avec Amazon SageMaker Canvas, consultez les articles suivants :
À propos des auteurs
David Gallitelli est un architecte de solutions spécialisé senior pour l'IA/ML. Il est basé à Bruxelles et travaille en étroite collaboration avec des clients du monde entier qui cherchent à adopter les technologies d'apprentissage automatique Low-Code/No-Code et l'IA générative. Il est développeur depuis qu'il est très jeune, commençant à coder à l'âge de 7 ans. Il a commencé à apprendre l'IA/ML à l'université et en est depuis tombé amoureux.
Huong Nguyen est chef de produit senior chez AWS. Elle dirige l'intégration de l'écosystème de données pour SageMaker, avec 14 ans d'expérience dans la création de produits centrés sur le client et basés sur les données pour les espaces d'entreprise et de consommation.
Günjan Garg est ingénieur principal au sein de l'équipe Amazon SageMaker chez AWS, assurant la direction technique du produit. Elle a occupé plusieurs postes au sein de l'organisation AI/ML au cours des 5 dernières années et se concentre actuellement sur Amazon SageMaker Canvas.
Ziyao Huang est ingénieur en développement logiciel chez Amazon SageMaker Data Wrangler. Il est passionné par la création d'excellents produits qui facilitent le ML pour les clients. En dehors du travail, Ziyao aime lire et passer du temps avec ses amis.
- Contenu propulsé par le référencement et distribution de relations publiques. Soyez amplifié aujourd'hui.
- PlatoData.Network Ai générative verticale. Autonomisez-vous. Accéder ici.
- PlatoAiStream. Intelligence Web3. Connaissance Amplifiée. Accéder ici.
- PlatonESG. Carbone, Technologie propre, Énergie, Environnement, Solaire, La gestion des déchets. Accéder ici.
- PlatoHealth. Veille biotechnologique et essais cliniques. Accéder ici.
- La source: https://aws.amazon.com/blogs/machine-learning/optimizing-costs-for-amazon-sagemaker-canvas-with-automatic-shutdown-of-idle-apps/
- :possède
- :est
- :ne pas
- :où
- $UP
- 1
- 100
- 114
- 120
- 14
- 150
- 19
- 20
- 2023
- 300
- 33
- 7
- a
- A Propos
- au dessus de
- Selon
- Compte
- atteindre
- atteint
- Atteint
- à travers
- Action
- infection
- activité
- administrateurs
- adopter
- avantages
- Après
- à opposer à
- âge
- agrégation
- AI
- Services d'IA
- AI / ML
- alarme
- Tous
- permettre
- permis
- permet
- aussi
- toujours
- Amazon
- Amazon Sage Maker
- Toile Amazon SageMaker
- Gestionnaire de données Amazon SageMaker
- Amazon Web Services
- an
- et les
- tous
- api
- appli
- Application
- applications
- une approche
- approches
- applications
- architecture
- SONT
- autour
- AS
- associé
- At
- Automatisation
- Automatique
- automatiquement
- Automation
- AutoML
- disponibles
- éviter
- en évitant
- AWS
- AWS CloudFormation
- AWS Lambda
- RETOUR
- basé
- BE
- était
- before
- va
- ci-dessous
- LES MEILLEURS
- facturation
- tous les deux
- Apporté
- navigateur
- Bruxelles
- Développement
- bus
- la performance des entreprises
- mais
- bouton (dans la fenêtre de contrôle qui apparaît maintenant)
- by
- appel
- Appels
- CAN
- la toile
- capacités
- cas
- Causes
- globaux
- Change
- des charges
- vérifier
- vérification
- Contrôles
- Selectionnez
- Fermer
- étroitement
- le cloud
- code
- recueille
- combinaison
- Sociétés
- composant
- composants électriques
- calcul
- configurée
- considère
- consiste
- consommateur
- des bactéries
- contrôle
- contrôles
- Prix
- La gestion des coûts
- Costs
- couvrant
- engendrent
- crée des
- création
- Courant
- Lecture
- Clients
- données
- Préparation des données
- data-driven
- datetime
- journée
- Réglage par défaut
- Vous permet de définir
- défini
- Définit
- déployer
- déployé
- déployer
- déploiement
- voulu
- détaillé
- Développeur
- Développement
- différent
- dimensions
- discuté
- do
- domaine
- domaines
- down
- pendant
- e
- même
- Easy
- risque numérique
- effort
- non plus
- fin
- end-to-end
- Endpoint
- critères
- ingénieur
- Entreprise
- environnements
- Ether (ETH)
- événement
- Chaque
- tous les jours
- exemple
- exemples
- réalisé
- d'experience
- expression
- Extraits
- Déchu
- Prénom
- concentré
- Abonnement
- suit
- Pour
- anciennement
- Avant
- frottement
- Vendredi
- amis
- De
- plein
- d’étiquettes électroniques entièrement
- fonction
- fonctionnel
- plus
- générateur
- génératif
- IA générative
- GitHub
- globe
- Objectifs
- disparu
- graphique
- l'
- plus grand
- Réservation de groupe
- Accrochez
- Vous avez
- he
- vous aider
- sa
- HEURES
- Comment
- How To
- HTML
- http
- HTTPS
- ID
- identifie
- Idle
- if
- Mettre en oeuvre
- mis en œuvre
- in
- indique
- d'information
- contribution
- perspicacité
- cas
- l'intégration
- interagissant
- Interfaces
- développement
- Découvrez le tout nouveau
- IT
- SES
- jpg
- XNUMX éléments à
- en gardant
- ACTIVITES
- connu
- Nom
- lancé
- Leadership
- conduisant
- APPRENTISSAGE
- apprentissage
- à gauche
- moins
- Niveau
- aime
- LIMIT
- Gamme
- peu
- enregistrer
- logique
- recherchez-
- love
- le plus bas
- click
- machine learning
- Entrée
- a prendre une
- FAIT DU
- gérer
- gérés
- gestion
- manager
- max
- Se rencontre
- la ficelle d'étiquettes/étiquettes volantes en carton
- métrique
- Métrique
- pourrait
- l'esprit
- minutes
- ML
- MLOps
- modèle
- numériques jumeaux (digital twin models)
- PLUS
- must
- prénom
- nécessaire
- Nouveauté
- nouvellement
- aucune
- Ordinaire
- maintenant
- nombre
- Nutshell
- of
- Vieux
- on
- une fois
- ONE
- uniquement
- Optimiser
- l'optimisation
- or
- nos
- ande
- Résultat
- au contrôle
- plus de
- vue d'ensemble
- panneau
- paramètres
- particulier
- passionné
- paix
- période
- Platon
- Intelligence des données Platon
- PlatonDonnées
- Point
- possible
- Post
- Poteaux
- alimenté
- solide
- pratique
- préparation
- prix
- établissement des prix
- Modèle de prix
- Directeur
- Produit
- chef de produit
- Produits
- Profil
- fournir
- à condition de
- aportando
- Python
- Q1
- Lire
- solutions
- reportez-vous
- se réfère
- refléter
- Indépendamment
- région
- dépôt
- Exigences
- Resources
- REST
- examen
- Rich
- bon
- rôle
- Règle
- Courir
- pour le running
- fonctionne
- sagemaker
- prévu
- scénario
- Sdk
- secondes
- sur le lien
- voir
- Sélectionner
- supérieur
- Sans serveur
- service
- Services
- Session
- set
- plusieurs
- elle
- devrait
- montrer
- montré
- Spectacles
- fermer
- arrêter
- shutdown
- Fermetures
- étapes
- simplifié
- depuis
- unique
- situations
- tailles
- So
- Logiciels
- développement de logiciels
- sur mesure
- Solutions
- RÉSOUDRE
- espaces
- spécialiste
- groupe de neurones
- spécifié
- Spin
- empiler
- Commencer
- j'ai commencé
- Commencez
- Région
- Statut
- rester
- étapes
- arrêté
- tel
- sûr
- Prenez
- tâches
- équipe
- Technique
- Les technologies
- modèle
- modèles
- tester
- Essais
- que
- à
- qui
- Le
- le monde
- leur
- Les
- puis
- Là.
- Ces
- l'ont
- this
- trois
- порог
- fiable
- à
- aujourd'hui
- suivre
- Tracking
- Formation
- transformer
- déclencher
- déclenché
- déclenchement
- deux
- sous
- compréhension
- unité
- université
- jusqu'à
- la mise à jour
- Utilisation
- utilisé
- d'utiliser
- Utilisateur
- utilisateurs
- Usages
- en utilisant
- Plus-value
- Valeurs
- très
- via
- visuel
- attendez
- souhaitez
- était
- Façon..
- façons
- we
- web
- services Web
- WELL
- ont été
- Quoi
- quand
- chaque fois que
- que
- qui
- comprenant
- dans les
- activités principales
- travaillé
- workflow
- vos contrats
- world
- années
- you
- jeune
- Votre
- zéphyrnet