Amazon SageMaker-Leinwand ist ein umfassender, codefreier Arbeitsbereich für maschinelles Lernen (ML) und generative KI, der es Kunden auf der ganzen Welt dank seiner visuellen, codefreien Benutzeroberfläche ermöglicht hat, ML-Technologien einfacher zu übernehmen, um alte und neue Herausforderungen zu lösen. Dies geschieht, indem es den ML-Workflow durchgängig abdeckt: Ganz gleich, ob Sie leistungsstarke Datenaufbereitung und AutoML, verwaltete Endpunktbereitstellung, vereinfachte MLOps-Funktionen und gebrauchsfertige Modelle suchen, die auf AWS AI-Services und generativer KI basieren, SageMaker Canvas kann Ihnen helfen, Ihre Ziele zu erreichen.
Da Unternehmen jeder Größe SageMaker Canvas einsetzen, fragten Kunden nach Möglichkeiten zur Kostenoptimierung. Wie in der definiert AWS Well-Architated-FrameworkEin kostenoptimierter Workload nutzt alle Ressourcen vollständig aus, erfüllt Ihre funktionalen Anforderungen und erzielt ein Ergebnis zum niedrigstmöglichen Preis.
Heute stellen wir eine neue Möglichkeit vor, die Kosten für SageMaker Canvas-Anwendungen weiter zu optimieren. SageMaker Canvas sammelt jetzt Amazon CloudWatch Metriken, die Einblick in die App-Nutzung und Inaktivität geben. Kunden können diese Informationen nutzen, um inaktive SageMaker Canvas-Anwendungen automatisch herunterzufahren und so unbeabsichtigte Kosten zu vermeiden.
In diesem Beitrag zeigen wir Ihnen, wie Sie inaktive SageMaker Canvas-Apps automatisch herunterfahren, um die Kosten mithilfe einer einfachen serverlosen Architektur zu kontrollieren. Die in diesem Beitrag verwendeten Vorlagen sind verfügbar in GitHub.
Kosten verstehen und verfolgen
Schulung ist immer der erste Schritt, um die Kosten für jede Arbeitslast zu verstehen und zu kontrollieren, sei es vor Ort oder in der Cloud. Beginnen wir mit der Überprüfung SageMaker Canvas-Preise Modell. Kurz gesagt verfügt SageMaker Canvas über ein Pay-as-you-go-Preismodell, das auf zwei Dimensionen basiert:
- Workspace-Instanz: früher als Sitzungszeit bekannt, sind die Kosten, die mit der Ausführung der SageMaker Canvas-App verbunden sind
- AWS-Servicegebühren: Kosten im Zusammenhang mit dem Training der Modelle, der Bereitstellung der Endpunkte und der Generierung von Schlussfolgerungen (Ressourcen zum Hochfahren von SageMaker Canvas).
Kunden haben jederzeit die volle Kontrolle über die von SageMaker Canvas gestarteten Ressourcen und können mithilfe des AWS Billing and Cost Management-Service die mit der SageMaker Canvas-App verbundenen Kosten im Auge behalten. Weitere Informationen finden Sie unter Verwalten Sie Abrechnungen und Kosten in SageMaker Canvas.
Um die mit den Arbeitsbereichsinstanzen verbundenen Kosten zu begrenzen, empfiehlt es sich, sich abzumelden und die Browserregisterkarte nicht zu schließen. Um sich abzumelden, wählen Sie Abmelden Schaltfläche im linken Bereich der SageMaker Canvas-App.
Automatisches Herunterfahren von SageMaker Canvas-Anwendungen
Für IT-Administratoren, die automatisierte Kontrollen zum Herunterfahren von SageMaker Canvas-Anwendungen bereitstellen und die Kosten unter Kontrolle halten möchten, gibt es zwei Ansätze:
- Beenden Sie Anwendungen nach einem Zeitplan (täglich um 19:00 Uhr oder jeden Freitag um 18:00 Uhr)
- Automatisches Herunterfahren inaktiver Anwendungen (wenn die Anwendung zwei Stunden lang nicht verwendet wurde)
Beenden Sie Anwendungen nach einem Zeitplan
Das geplante Herunterfahren von SageMaker Canvas-Anwendungen kann mit sehr geringem Aufwand erreicht werden, indem a cron Ausdruck (mit Amazon EventBridge Cron Rule), eine Rechenkomponente (eine AWS Lambda-Funktion), die die Amazon SageMaker-API aufruft DeleteApp
. Dieser Ansatz wurde im diskutiert Bereitstellen und Verwalten von ML-Umgebungen mit Amazon SageMaker Canvas unter Verwendung von AWS CDK und AWS Service Catalog Beitrag, und implementiert in der zugehörigen GitHub-Repository.
Einer der Vorteile der oben genannten Architektur besteht darin, dass sie sehr einfach zu duplizieren ist, um eine geplante Erstellung der SageMaker Canvas-App zu erreichen. Durch die Verwendung einer Kombination aus geplanter Erstellung und geplantem Löschen kann ein Cloud-Administrator sicherstellen, dass die SageMaker Canvas-Anwendung immer dann einsatzbereit ist, wenn Benutzer ihren Arbeitstag beginnen (z. B. 9 Uhr an einem Arbeitstag), und dass die App auch automatisch heruntergefahren wird am Ende des Geschäftstages (z. B. 7 Uhr an einem Werktag, am Wochenende immer geschlossen). Sie müssen lediglich die Codezeile ändern, die den aufruft DeleteApp
API in CreateApp
, sowie die Aktualisierung des Cron-Ausdrucks, um die gewünschte App-Erstellungszeit widerzuspiegeln.
Obwohl dieser Ansatz sehr einfach zu implementieren und zu testen ist, besteht ein Nachteil der vorgeschlagenen Architektur darin, dass sie nicht berücksichtigt, ob eine Anwendung gerade verwendet wird oder nicht, und sie unabhängig von ihrem aktuellen Aktivitätsstatus herunterfährt. Je nach Situation kann dies zu Konflikten mit aktiven Benutzern führen, deren Sitzung plötzlich beendet wird.
Sie können die dieser Architektur zugeordnete Vorlage aus dem folgenden GitHub-Repository abrufen:
Automatisches Herunterfahren inaktiver Anwendungen
Ab heute gibt Amazon SageMaker Canvas CloudWatch-Metriken aus, die Einblicke in die App-Nutzung und Inaktivität bieten. Dadurch kann ein Administrator eine Lösung definieren, die die Inaktivitätsmetrik liest, sie mit einem Schwellenwert vergleicht und eine spezifische Logik für das automatische Herunterfahren definiert. Eine detailliertere Übersicht über die von SageMaker Canvas ausgegebene Leerlaufmetrik finden Sie im folgenden Absatz.
Um ein automatisches Herunterfahren von SageMaker Canvas-Anwendungen basierend auf den Leerlaufmetriken zu erreichen, stellen wir eine AWS CloudFormation-Vorlage bereit. Diese Vorlage besteht aus drei Hauptkomponenten:
- An Amazon CloudWatch-Alarm, Dadurch wird eine Abfrage ausgeführt, um den MAX-Wert des zu überprüfen
TimeSinceLastActive
metrisch. Wenn dieser Wert größer als ein als Eingabe für die CloudFormation-Vorlage bereitgestellter Schwellenwert ist, wird der Rest der Automatisierung ausgelöst. Diese Abfrage kann für ein einzelnes Benutzerprofil, für eine einzelne Domäne oder für alle Domänen ausgeführt werden. Je nach dem Grad der Kontrolle, den Sie wünschen, können Sie Folgendes verwenden:-
all-domains-all-users
Vorlage, die dies für alle Benutzer und alle Domänen in der Region überprüft, in der die Vorlage bereitgestellt wird -
one-domain-all-users
Vorlage, die dies für alle Benutzer in einer Domäne in der Region überprüft, in der die Vorlage bereitgestellt wird -
one-domain-one-user
Vorlage, die dies für ein Benutzerprofil in einer Domäne in der Region überprüft, in der die Vorlage bereitgestellt wird
-
- Durch die Änderung des Alarmstatus wird ein Ereignis auf dem Standardereignisbus in Amazon EventBridge erstellt, für den eine Amazon EventBridge-Regel zum Auslösen einer AWS Lambda-Funktion eingerichtet ist
- Die AWS Lambda-Funktion identifiziert, welche SageMaker Canvas-App länger als den angegebenen Schwellenwert im Leerlauf ausgeführt wurde, und löscht sie mit dem DeleteApp-API.
Sie können die dieser Architektur zugeordneten AWS CloudFormation-Vorlagen aus dem folgenden GitHub-Repository abrufen:
So funktioniert die Leerlaufmetrik von SageMaker Canvas
SageMaker Canvas sendet ein TimeSinceLastActive
Metrik in der /aws/sagemaker/Canvas/AppActivity
Namespace, der die Anzahl der Sekunden anzeigt, die die App ohne Benutzeraktivität im Leerlauf war. Wir können diese neue Metrik verwenden, um ein automatisches Herunterfahren der SageMaker Canvas-App auszulösen, wenn sie für einen definierten Zeitraum inaktiv war. SageMaker Canvas macht die sichtbar TimeSinceLastActive
mit folgendem Schema:
{
"Namespace": "/aws/sagemaker/Canvas/AppActivity",
"Dimensions": [
[
"DomainId",
"UserProfileName"
]
],
"Metrics": [
{
"Name": "TimeSinceLastActive",
"Unit": "Seconds",
"Value": 12345
}
]
}
Die Schlüsselkomponenten dieser Metrik sind wie folgt:
Dimensions
, im SpeziellenDomainID
undUserProfileName
, die es einem Administrator ermöglichen, genau zu bestimmen, welche Anwendungen in allen Domänen und Benutzern inaktiv sindValue
der Metrik, die die Anzahl der Sekunden seit der letzten Aktivität in den SageMaker Canvas-Anwendungen angibt. SageMaker Canvas betrachtet Folgendes als Aktivität:- Jede in der SageMaker Canvas-Anwendung ausgeführte Aktion (Klicken auf eine Schaltfläche, Transformieren eines Datensatzes, Generieren einer In-App-Inferenz, Bereitstellen eines Modells);
- Verwendung eines gebrauchsfertigen Modells oder Interaktion mit den generativen KI-Modellen über die Chat-Schnittstelle;
- Eine Batch-Inferenz, deren Ausführung zu einem bestimmten Zeitpunkt geplant ist; Weitere Informationen finden Sie unter Automatisierungen verwalten.
Diese Metrik kann über die Amazon CloudWatch API gelesen werden, z get_metric_data
. Verwenden Sie beispielsweise das AWS SDK für 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'
)
Die Python-Abfrage extrahiert die MAX
Wert von TimeSinceLastActive
aus dem Namensraum, der SageMaker Canvas zugeordnet ist, nachdem diese Werte nach gruppiert wurden DomainID
und UserProfileName
.
Bereitstellen und Testen der Lösung zum automatischen Herunterfahren
Gehen Sie wie folgt vor, um den Auto-Shutdown-Stack bereitzustellen:
- Laden Sie die AWS CloudFormation-Vorlage, die sich auf die Lösung bezieht, die Sie implementieren möchten, aus dem oben genannten GitHub-Repository herunter. Wählen Sie, ob Sie eine Lösung für alle SageMaker-Domänen, für eine einzelne SageMaker-Domäne oder für einen einzelnen Benutzer implementieren möchten;
- Vorlagenparameter aktualisieren:
- Das Leerlauf-Timeout – Zeit (in Sekunden), die die SageMaker Canvas-App im Leerlauf bleiben darf, bevor sie heruntergefahren wird; Der Standardwert beträgt 2 Stunden
- Das Alarmzeitraum – Aggregationszeit (in Sekunden), die CloudWatch Alarm zur Berechnung des Leerlaufzeitlimits verwendet; Der Standardwert beträgt 20 Minuten
- (optional) SageMaker-Domänen-ID und Benutzerprofilname
- Stellen Sie den CloudFormation-Stack bereit, um die Ressourcen zu erstellen
Nach der Bereitstellung (sollte weniger als zwei Minuten dauern) sind die AWS Lambda-Funktion und der Amazon CloudWatch-Alarm so konfiguriert, dass die Canvas-App im Leerlauf automatisch heruntergefahren wird. Gehen Sie wie folgt vor, um das Skript zum automatischen Herunterfahren zu testen:
- Stellen Sie sicher, dass die SageMaker Canvas-App in der richtigen Domäne und mit dem richtigen Benutzerprofil ausgeführt wird (sofern Sie diese konfiguriert haben).
- Beenden Sie die Verwendung der SageMaker Canvas-App und warten Sie auf den Leerlauf-Timeout-Zeitraum (Standard: 2 Stunden).
- Überprüfen Sie, ob die App gestoppt wird, nachdem sie für die Schwellenwertzeit inaktiv war, indem Sie überprüfen, ob der CloudWatch-Alarm ausgelöst wurde und nach dem Auslösen der Automatisierung wieder in den Normalzustand zurückgekehrt ist.
In unserem Test haben wir den Leerlauf-Timeout auf zwei Stunden (7200 Sekunden) eingestellt. In der folgenden von Amazon CloudWatch Metrics erstellten Grafik können Sie sehen, dass die SageMaker Canvas-App Folgendes ausgegeben hat TimeSinceLastActive
Metrik, bis der Schwellenwert erreicht wurde (1), was den Alarm auslöste. Sobald der Alarm ausgelöst wurde, wurde die AWS Lambda-Funktion ausgeführt, die die App löschte und die Metrik wieder unter den Schwellenwert brachte (2).
Zusammenfassung
In diesem Beitrag haben wir eine automatisierte Abschaltlösung für inaktive SageMaker Canvas-Apps mithilfe von AWS Lambda und CloudWatch Alarm sowie der neu ausgegebenen Leerlaufmetrik von SageMaker Canvas implementiert. Dank dieser Lösung können Kunden nicht nur die Kosten für ihre ML-Workloads optimieren, sondern auch unbeabsichtigte Gebühren für Anwendungen vermeiden, von denen sie vergessen haben, dass sie in ihrer SageMaker-Domäne ausgeführt werden.
Wir freuen uns darauf, zu sehen, welche neuen Anwendungsfälle und Workloads Kunden mit der Sicherheit dieser Lösung lösen können. Weitere Beispiele dafür, wie SageMaker Canvas Ihnen beim Erreichen Ihrer Geschäftsziele helfen kann, finden Sie in den folgenden Beiträgen:
Um zu erfahren, wie Sie Workloads auf Produktionsebene mit Amazon SageMaker Canvas ausführen können, lesen Sie die folgenden Beiträge:
Über die Autoren
David Gallitelli ist Senior Specialist Solutions Architect für KI/ML. Er hat seinen Sitz in Brüssel und arbeitet eng mit Kunden auf der ganzen Welt zusammen, die Low-Code/No-Code-Technologien für maschinelles Lernen und generative KI einführen möchten. Er ist seit seiner Kindheit als Entwickler tätig und begann im Alter von 7 Jahren mit dem Programmieren. An der Universität begann er, KI/ML zu lernen und hat sich seitdem darin verliebt.
Huong Nguyen ist Senior Product Manager bei AWS. Sie leitet die Integration des Datenökosystems für SageMaker und verfügt über 14 Jahre Erfahrung in der Entwicklung kundenorientierter und datengesteuerter Produkte für Unternehmen und Verbraucher.
Gunjan Garg ist leitender Ingenieur im Amazon SageMaker-Team in AWS und übernimmt die technische Leitung für das Produkt. Sie hat in den letzten fünf Jahren in verschiedenen Rollen in der KI/ML-Organisation gearbeitet und konzentriert sich derzeit auf Amazon SageMaker Canvas.
Ziyao Huang ist Softwareentwicklungsingenieur bei Amazon SageMaker Data Wrangler. Ihm liegt die Entwicklung großartiger Produkte am Herzen, die den Kunden ML einfach machen. Außerhalb der Arbeit liest Ziyao gerne und trifft sich gerne mit seinen Freunden.
- SEO-gestützte Content- und PR-Distribution. Holen Sie sich noch heute Verstärkung.
- PlatoData.Network Vertikale generative KI. Motiviere dich selbst. Hier zugreifen.
- PlatoAiStream. Web3-Intelligenz. Wissen verstärkt. Hier zugreifen.
- PlatoESG. Kohlenstoff, CleanTech, Energie, Umwelt, Solar, Abfallwirtschaft. Hier zugreifen.
- PlatoHealth. Informationen zu Biotechnologie und klinischen Studien. Hier zugreifen.
- Quelle: https://aws.amazon.com/blogs/machine-learning/optimizing-costs-for-amazon-sagemaker-canvas-with-automatic-shutdown-of-idle-apps/
- :hast
- :Ist
- :nicht
- :Wo
- $UP
- 1
- 100
- 114
- 120
- 14
- 150
- 19
- 20
- 2023
- 300
- 33
- 7
- a
- Über Uns
- oben
- Nach
- Konto
- Erreichen
- erreicht
- Erreicht
- über
- Action
- aktiv
- Aktivität
- Administratoren
- adoptieren
- Vorteilen
- Nach der
- gegen
- Alter
- Anhäufung
- AI
- KI-Dienste
- AI / ML
- Alarm
- Alle
- erlauben
- erlaubt
- erlaubt
- ebenfalls
- immer
- Amazon
- Amazon Sage Maker
- Amazon SageMaker-Leinwand
- Amazon SageMaker Data Wrangler
- Amazon Web Services
- an
- und
- jedem
- Bienen
- App
- Anwendung
- Anwendungen
- Ansatz
- Ansätze
- Apps
- Architektur
- SIND
- um
- AS
- damit verbundenen
- At
- Automatisiert
- automatische
- Im Prinzip so, wie Sie es von Google Maps kennen.
- Automation
- AutoML
- verfügbar
- vermeiden
- Vermeidung von
- AWS
- AWS CloudFormation
- AWS Lambda
- Zurück
- basierend
- BE
- war
- Bevor
- Sein
- unten
- BESTE
- Rechnungs-
- beide
- gebracht
- Browser
- Brüssel
- Building
- Bus
- Geschäft
- aber
- Taste im nun erscheinenden Bestätigungsfenster nun wieder los.
- by
- Aufruf
- Aufrufe
- CAN
- Leinwand
- Fähigkeiten
- Fälle
- Verursachen
- Herausforderungen
- Übernehmen
- Gebühren
- aus der Ferne überprüfen
- Überprüfung
- Schecks
- Auswählen
- Menu
- eng
- Cloud
- Code
- sammelt
- Kombination
- Unternehmen
- Komponente
- Komponenten
- Berechnen
- konfiguriert
- überlegt
- besteht
- Verbraucher
- Smartgeräte App
- Regelung
- Steuerung
- Kosten
- Kostenmanagement
- Kosten
- Abdeckung
- erstellen
- schafft
- Schaffung
- Strom
- Zur Zeit
- Kunden
- technische Daten
- Datenaufbereitung
- datengesteuerte
- datetime
- Tag
- Standard
- definieren
- definiert
- Definiert
- einsetzen
- Einsatz
- Bereitstellen
- Einsatz
- erwünscht
- detailliert
- Entwickler:in / Unternehmen
- Entwicklung
- anders
- Größe
- diskutiert
- do
- die
- Domain
- Domains
- nach unten
- im
- e
- leicht
- Einfache
- Ökosystem
- Anstrengung
- entweder
- Ende
- End-to-End
- Endpunkt
- Endpunkte
- Ingenieur
- Unternehmen
- Umgebungen
- Äther (ETH)
- Event
- Jedes
- jeden Tag
- Beispiel
- Beispiele
- ausgeführt
- ERFAHRUNGEN
- Ausdruck
- KONZENTRAT
- Gefallen
- Vorname
- konzentriert
- Folgende
- folgt
- Aussichten für
- früher
- vorwärts
- Reibung
- Freitag
- Freunde
- für
- voller
- voll
- Funktion
- funktional
- weiter
- Erzeugung
- generativ
- Generative KI
- GitHub
- Globus
- Ziele
- weg
- Graph
- groß
- mehr
- Gruppe an
- Aufhängen
- Haben
- he
- Hilfe
- seine
- STUNDEN
- Ultraschall
- Hilfe
- HTML
- http
- HTTPS
- ID
- identifiziert
- Leerlauf
- if
- implementieren
- umgesetzt
- in
- zeigt
- Information
- Varianten des Eingangssignals:
- Einblick
- Instanzen
- Integration
- Interaktion
- Schnittstelle
- in
- Einführung
- IT
- SEINE
- jpg
- Behalten
- Aufbewahrung
- Wesentliche
- bekannt
- Nachname
- ins Leben gerufen
- Leadership
- führenden
- LERNEN
- lernen
- links
- weniger
- Niveau
- Gleichen
- LIMIT
- Line
- wenig
- Log
- Logik
- suchen
- ich liebe
- niedrigste
- Maschine
- Maschinelles Lernen
- Main
- um
- MACHT
- verwalten
- verwaltet
- Management
- Manager
- max
- Trifft
- versiegelte
- Metrisch
- Metrik
- könnte
- Geist / Bewusstsein
- Minuten
- ML
- MLOps
- Modell
- für
- mehr
- sollen
- Name
- erforderlich
- Neu
- neu
- nicht
- normal
- jetzt an
- Anzahl
- Kurzfassung
- of
- Alt
- on
- einmal
- EINEM
- einzige
- Optimieren
- Optimierung
- or
- UNSERE
- Ergebnis
- aussen
- übrig
- Überblick
- Tafel
- Parameter
- besondere
- leidenschaftlich
- Frieden
- Zeit
- Plato
- Datenintelligenz von Plato
- PlatoData
- Points
- möglich
- Post
- BLOG-POSTS
- angetriebene
- größte treibende
- Praxis
- Vorbereitung
- Preis
- gebühr
- Preismodell
- Principal
- Produkt
- Produkt-Manager
- Produkte
- Profil
- die
- vorausgesetzt
- Bereitstellung
- Python
- Q1
- Lesen Sie mehr
- bereit
- siehe
- bezieht sich
- reflektieren
- Ungeachtet
- Region
- Quelle
- Voraussetzungen:
- Downloads
- REST
- Überprüfung
- Reiches
- Recht
- Rollen
- Regel
- Führen Sie
- Laufen
- läuft
- sagemaker
- vorgesehen
- Skript
- Sdk
- Sekunden
- sehen
- Sehen
- wählen
- Senior
- Serverlos
- Lösungen
- Sitzung
- kompensieren
- mehrere
- sie
- sollte
- erklären
- gezeigt
- Konzerte
- geschlossen
- schließen
- Schließung
- Schläge
- Einfacher
- vereinfachte
- da
- Single
- Umstände
- Größen
- So
- Software
- Software-Entwicklung
- Lösung
- Lösungen
- LÖSEN
- Räume
- Spezialist
- spezifisch
- angegeben
- Wirbelsäule ... zu unterstützen.
- Stapel
- Anfang
- begonnen
- Beginnen Sie
- Bundesstaat
- Status
- bleiben
- Schritt
- gestoppt
- so
- sicher
- Nehmen
- gemacht
- Team
- Technische
- Technologies
- Vorlage
- Vorlagen
- Test
- Testen
- als
- dank
- zur Verbesserung der Gesundheitsgerechtigkeit
- Das
- die Welt
- ihr
- Sie
- dann
- Dort.
- Diese
- vom Nutzer definierten
- fehlen uns die Worte.
- nach drei
- Schwelle
- Zeit
- zu
- heute
- verfolgen sind
- Tracking
- Ausbildung
- Transformieren
- auslösen
- ausgelöst
- Auslösen
- XNUMX
- für
- Verständnis
- Einheit
- Universität
- bis
- Aktualisierung
- Anwendungsbereich
- -
- benutzt
- Mitglied
- Nutzer
- verwendet
- Verwendung von
- Wert
- Werte
- sehr
- visuell
- warten
- wollen
- wurde
- Weg..
- Wege
- we
- Netz
- Web-Services
- GUT
- waren
- Was
- wann
- sobald
- ob
- welche
- mit
- .
- Arbeiten
- gearbeitet
- Arbeitsablauf.
- Werk
- weltweit wie ausgehandelt und gekauft ausgeführt wird.
- Jahr
- U
- jung
- Ihr
- Zephyrnet