Amazon SageMaker-Studio bietet eine vollständig verwaltete Lösung für Data Scientists zum interaktiven Erstellen, Trainieren und Bereitstellen von Modellen für maschinelles Lernen (ML). Neben der interaktiven ML-Erfahrung suchen Data Worker auch nach Lösungen, um Notebooks als kurzlebige Jobs auszuführen, ohne Code in Python-Module umgestalten oder DevOps-Tools und Best Practices zur Automatisierung ihrer Bereitstellungsinfrastruktur erlernen zu müssen. Einige häufige Anwendungsfälle dafür sind:
- Regelmäßig ausgeführte Modellinferenz zum Generieren von Berichten
- Hochskalieren eines Feature-Engineering-Schritts nach dem Testen in Studio anhand einer Teilmenge von Daten auf einer kleinen Instanz
- Umschulen und Bereitstellen von Modellen mit einer gewissen Kadenz
- Analyse Ihres Teams Amazon Sage Maker Nutzung bei regelmäßiger Trittfrequenz
Wenn Data Scientists den Code, den sie interaktiv auf Notebooks erstellten, als Batch-Jobs ausführen wollten, sahen sie sich zuvor mit einer steilen Lernkurve konfrontiert Amazon SageMaker-Pipelines, AWS Lambda, Amazon EventBridge, oder andere Lösungen die schwierig einzurichten, zu verwenden und zu verwalten sind.
Mit der SageMaker-Notebook-Jobs, können Sie Ihre Notebooks jetzt unverändert oder in parametrisierter Form mit nur wenigen einfachen Klicks aus dem SageMaker Studio oder ausführen SageMaker Studio Lab Schnittstelle. Sie können diese Notebooks nach einem Zeitplan oder sofort ausführen. Der Endbenutzer muss seinen vorhandenen Notebook-Code nicht ändern. Wenn der Job abgeschlossen ist, können Sie die ausgefüllten Notebook-Zellen einschließlich aller Visualisierungen anzeigen!
In diesem Beitrag teilen wir mit, wie Sie Ihre SageMaker Studio-Notebooks als geplante Notebook-Jobs operationalisieren.
Lösungsüberblick
Das folgende Diagramm veranschaulicht unsere Lösungsarchitektur. Wir verwenden die vorinstallierte SageMaker-Erweiterung, um Notebooks sofort oder nach Zeitplan als Job auszuführen.
In den folgenden Abschnitten gehen wir durch die Schritte zum Erstellen eines Notizbuchs, zum Parametrieren von Zellen, zum Anpassen zusätzlicher Optionen und zum Planen Ihres Jobs. Wir fügen auch einen Beispielanwendungsfall hinzu.
Voraussetzungen:
Um SageMaker-Notebook-Jobs verwenden zu können, müssen Sie eine JupyterLab 3 JupyterServer-App in Studio ausführen. Weitere Informationen zum Upgrade auf JupyterLab 3 finden Sie unter Anzeigen und Aktualisieren der JupyterLab-Version einer App über die Konsole. Sicher sein zu Beenden und aktualisieren Sie SageMaker Studio um die neuesten Updates zu erhalten.
Um Jobdefinitionen zu definieren, die Notebooks nach einem Zeitplan ausführen, müssen Sie Ihrer SageMaker-Ausführungsrolle möglicherweise zusätzliche Berechtigungen hinzufügen.
Fügen Sie zunächst eine Vertrauensbeziehung zu Ihrer SageMaker-Ausführungsrolle hinzu, die dies zulässt events.amazonaws.com
um Ihre Rolle zu übernehmen:
Darüber hinaus müssen Sie möglicherweise eine Inline-Richtlinie erstellen und an Ihre Ausführungsrolle anhängen. Die folgende Richtlinie ergänzt die sehr freizügige AmazonSageMakerFullAccess
Politik. Einen vollständigen und minimalen Satz von Berechtigungen finden Sie unter Richtlinien und Berechtigungen installieren.
Erstellen Sie einen Notebook-Job
Um Ihr Notebook als SageMaker-Notebook-Job zu operationalisieren, wählen Sie die Erstellen Sie einen Notebook-Job klicken.
Alternativ können Sie Ihr Notebook im Dateisystem auswählen (Rechtsklick) und auswählen Notebook-Auftrag erstellen.
Im Job erstellen Wählen Sie im Abschnitt einfach den richtigen Instance-Typ für Ihren geplanten Job basierend auf Ihrer Workload aus: Standard-Instances, rechenoptimierte Instances oder beschleunigte Computing-Instances, die GPUs enthalten. Sie können jede der für SageMaker-Schulungsaufträge verfügbaren Instanzen auswählen. Die vollständige Liste der verfügbaren Instanzen finden Sie unter Amazon SageMaker Preise.
Wenn ein Job abgeschlossen ist, können Sie die Ausgabe-Notebook-Datei mit den gefüllten Zellen sowie die zugrunde liegenden Protokolle der Jobausführungen anzeigen.
Zellen parametrisieren
Beim Verschieben eines Notebooks in einen Produktionsworkflow ist es wichtig, dasselbe Notebook mit unterschiedlichen Parametersätzen für die Modularität wiederverwenden zu können. Beispielsweise möchten Sie möglicherweise den Datensatzspeicherort oder die Hyperparameter Ihres Modells parametrisieren, sodass Sie dasselbe Notebook für viele verschiedene Modelltrainings wiederverwenden können. SageMaker-Notizbuchjobs unterstützen dies durch Zell-Tags. Wählen Sie einfach das doppelte Zahnradsymbol im rechten Bereich und wählen Sie aus Tag hinzufügen. Beschriften Sie das Tag dann als Parameter.
Standardmäßig verwendet die Notebook-Auftragsausführung die im Notebook angegebenen Parameterwerte, aber Sie können diese alternativ als Konfiguration für Ihren Notebook-Auftrag ändern.
Konfigurieren Sie zusätzliche Optionen
Beim Erstellen eines Notebook-Jobs können Sie die erweitern Dieses Formular beschänkt sich auf einige wesentliche Grundfunktionen Abschnitt, um Ihre Jobdefinition anzupassen. Studio erkennt automatisch das Image oder den Kernel, den Sie in Ihrem Notebook verwenden, und wählt es für Sie vorab aus. Stellen Sie sicher, dass Sie diese Auswahl validiert haben.
Sie können auch Umgebungsvariablen oder Startskripts angeben, um Ihre Notebook-Ausführungsumgebung anzupassen. Die vollständige Liste der Konfigurationen finden Sie unter Basics.
Planen Sie Ihren Job
Um Ihren Job zu planen, wählen Sie Nach einem Zeitplan ausführen und stellen Sie ein geeignetes Intervall und eine geeignete Zeit ein. Dann können Sie wählen Notebook-Jobs Registerkarte, die nach Auswahl des Home-Symbols sichtbar ist. Wählen Sie nach dem Laden des Notebooks die Notebook-Auftragsdefinitionen Tab, um Ihren Zeitplan zu pausieren oder zu entfernen.
Beispielanwendungsfall
In unserem Beispiel zeigen wir einen End-to-End-ML-Workflow, der Daten aus einer Ground-Truth-Quelle aufbereitet, ein aktualisiertes Modell aus diesem Zeitraum trainiert und dann Rückschlüsse auf die neuesten Daten zieht, um umsetzbare Erkenntnisse zu generieren. In der Praxis können Sie einen kompletten End-to-End-Workflow ausführen oder einfach nur einen Schritt Ihres Workflows operationalisieren. Sie können einen Termin vereinbaren AWS-Kleber interaktive Sitzung für die tägliche Datenvorbereitung oder führen Sie einen Batch-Inferenz-Job aus, der grafische Ergebnisse direkt in Ihrem Ausgabe-Notebook generiert.
Das vollständige Notebook für dieses Beispiel finden Sie in unserem SageMaker-Beispiele im GitHub-Repository. Der Anwendungsfall geht davon aus, dass wir ein Telekommunikationsunternehmen sind, das ein Notebook planen möchte, das die wahrscheinliche Kundenabwanderung basierend auf einem Modell vorhersagt, das mit den neuesten verfügbaren Daten trainiert wurde.
Zu Beginn sammeln wir die neuesten verfügbaren Kundendaten und führen eine Vorverarbeitung durch:
Wir trainieren unser aktualisiertes Modell mit diesen aktualisierten Trainingsdaten, um genaue Vorhersagen zu treffen todays_data
:
Da wir dieses Notebook als täglichen Bericht planen, möchten wir erfassen, wie gut unser aktualisiertes Modell in unserem Validierungssatz abgeschnitten hat, damit wir uns auf seine zukünftigen Vorhersagen verlassen können. Die Ergebnisse im folgenden Screenshot stammen aus unserem geplanten Inferenzbericht.
Schließlich möchten Sie die vorhergesagten Ergebnisse der heutigen Daten in einer Datenbank erfassen, damit auf der Grundlage der Ergebnisse dieses Modells Maßnahmen ergriffen werden können.
Nachdem das Notebook verstanden wurde, können Sie dies gerne als flüchtigen Job mit dem ausführen Lauf jetzt oben beschriebene Option oder testen Sie die Planungsfunktion.
Aufräumen
Wenn Sie unserem Beispiel gefolgt sind, stellen Sie sicher, dass Sie den Zeitplan Ihres Notebook-Auftrags anhalten oder löschen, um laufende Kosten zu vermeiden.
Zusammenfassung
Notebooks mit SageMaker-Notebook-Jobs in die Produktion zu bringen, vereinfacht das undifferenzierte schwere Heben, das von Data Workern benötigt wird, erheblich. Egal, ob Sie End-to-End-ML-Workflows oder ein Puzzleteil planen, wir empfehlen Ihnen, einige Notebooks mit SageMaker Studio oder SageMaker Studio Lab in Produktion zu bringen! Weitere Informationen finden Sie unter Notebook-basierte Workflows.
Über die Autoren
SeanMorgan ist Senior ML Solutions Architect bei AWS. Er verfügt über Erfahrung in den Bereichen Halbleiter und akademische Forschung und nutzt seine Erfahrung, um Kunden dabei zu helfen, ihre Ziele auf AWS zu erreichen. In seiner Freizeit ist Sean ein aktiver Mitwirkender/Betreuer von Open Source und Leiter der Interessengruppe für TensorFlow-Add-Ons.
Sumedha Swamy ist Principal Product Manager bei Amazon Web Services. Er leitet das Team von SageMaker Studio, um es in die IDE der Wahl für interaktive Data-Science- und Data-Engineering-Workflows zu integrieren. Er hat die letzten 15 Jahre damit verbracht, kundenorientierte Verbraucher- und Unternehmensprodukte mithilfe von maschinellem Lernen zu entwickeln. In seiner Freizeit fotografiert er gerne die erstaunliche Geologie des amerikanischen Südwestens.
Eduard Sonne ist Senior SDE und arbeitet für SageMaker Studio bei Amazon Web Services. Er konzentriert sich auf den Aufbau interaktiver ML-Lösungen und die Vereinfachung der Kundenerfahrung, um SageMaker Studio mit gängigen Technologien im Data Engineering und ML-Ökosystem zu integrieren. In seiner Freizeit ist Edward ein großer Fan von Camping, Wandern und Angeln und genießt die Zeit, die er mit seiner Familie verbringt.
- AI
- Kunst
- KI-Kunstgenerator
- KI-Roboter
- Amazon Sage Maker
- Amazon SageMaker-Studio
- künstliche Intelligenz
- Zertifizierung für künstliche Intelligenz
- Künstliche Intelligenz im Bankwesen
- Roboter mit künstlicher Intelligenz
- Roboter mit künstlicher Intelligenz
- Software für künstliche Intelligenz
- AWS Maschinelles Lernen
- Blockchain
- Blockchain-Konferenz ai
- Einfallsreichtum
- dialogorientierte künstliche Intelligenz
- Krypto-Konferenz ai
- Dalls
- tiefe Lernen
- Google Ai
- Mittel (200)
- Maschinelles Lernen
- Plato
- platon ai
- Datenintelligenz von Plato
- Plato-Spiel
- PlatoData
- Platogaming
- Skala ai
- Syntax
- Zephyrnet