Beispiel für einen RL-Workflow mit Amazon SageMaker RL - Amazon SageMaker

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Beispiel für einen RL-Workflow mit Amazon SageMaker RL

Das folgende Beispiel beschreibt die Schritte zur Entwicklung von RL-Modellen mit Amazon SageMaker RL.

  1. Formulieren Sie das RL-Problem – Formulieren Sie zunächst das Geschäftsproblem in ein RL-Problem. Beispiel: Auto Scaling ermöglicht es Services, die Kapazität in Abhängigkeit von Bedingungen, die Sie festlegen, dynamisch zu steigern oder zu reduzieren. Aktuell müssen dazu Alarme, Skalierungsrichtlinien, Schwellenwerte und andere manuelle Schritte eingerichtet werden. Um dies mit RL zu lösen, definieren wir die Komponenten des Markow-Entscheidungsprozesses:

    1. Ziel – Skalieren Sie die Instance-Kapazität so, dass sie dem gewünschten Lastprofil entspricht.

    2. Umgebung – Eine benutzerdefinierte Umgebung, die das Lastprofil enthält. Sie generiert eine simulierte Last mit täglichen und wöchentlichen Schwankungen und gelegentlichen Spitzen. Beim simulierten System gibt es eine Verzögerung zwischen dem Zeitpunkt des Anforderns neuer Ressourcen und ihrer Verfügbarkeit für das Verarbeiten von Anforderungen.

    3. Status – Die aktuelle Auslastung, die Anzahl der fehlgeschlagenen Jobs und die Anzahl der aktiven Maschinen.

    4. Aktion – Die gleiche Anzahl von Instances entfernen, hinzufügen oder beibehalten.

    5. Belohnung – Eine positive Belohnung für erfolgreiche Transaktionen und eine hohe Strafe für fehlgeschlagene Transaktionen, die einen bestimmten Schwellenwert überschreiten.

  2. Definieren Sie die RL-Umgebung – Die RL-Umgebung kann die reale Welt sein, in der der RL-Agent interagiert, oder eine Simulation der realen Welt. Sie können Open-Source-Umgebungen und benutzerdefinierte Umgebungen, die mit Gym-Schnittstellen entwickelt wurden, und kommerzielle Simulationsumgebungen wie MATLAB Simulink verbinden.

  3. Definieren Sie die Voreinstellungen – Die Voreinstellungen konfigurieren die RL-Trainingsauftrags und definieren die Hyperparameter für die RL-Algorithmen.

  4. Schreiben Sie den Trainingscode — Schreiben Sie den Trainingscode als Python-Skript und geben Sie das Skript an einen SageMaker Trainingsjob weiter. Importieren Sie die Umgebungsdateien und Voreinstellungsdateien in Ihren Trainingscode und definieren Sie dann die main()-Funktion.

  5. Train the RL Model — Verwenden Sie das SageMaker RLEstimator in Amazon SageMaker Python, SDK um einen RL-Trainingsjob zu starten. Im lokalen Modus wird der Trainingsauftrag auf der Notebook-Instance ausgeführt. Wenn Sie es SageMaker für das Training verwenden, können Sie CPU OR-Instances auswählenGPU. Speichern Sie die Ausgabe des Trainingsjobs in einem lokalen Verzeichnis, wenn Sie im lokalen Modus trainieren, oder auf Amazon S3, wenn Sie SageMaker Training verwenden.

    Der RLEstimator erfordert die folgenden Informationen als Parameter.

    1. Das Quellverzeichnis, in das die Umgebung, Voreinstellungen und der Trainingscode hochgeladen wurden.

    2. Den Pfad zum Trainingsskript.

    3. Das RL-Toolkit und Deep-Learning-Framework, die Sie verwenden möchten. Dies wird automatisch in den ECR Amazon-Pfad für den RL-Container aufgelöst.

    4. Die Trainingsparameter, wie z. B. die Anzahl der Instances, der Auftragsname und der S3-Pfad für die Ausgabe.

    5. Definitionen der Metriken, die in Ihren Protokollen erfasst werden sollen. Diese können auch in CloudWatch und in SageMaker Notizbüchern visualisiert werden.

  6. Trainingsmetriken und Ergebnisse visualisieren — Nach Abschluss eines Trainingsjobs, der ein RL-Modell verwendet, können Sie die in den Trainingsjobs definierten Kennzahlen in, anzeigen. CloudWatch Sie können die Metriken auch mithilfe der Amazon SageMaker SDK Python-Analysebibliothek in einem Notizbuch grafisch darstellen. Durch das Visualisieren der Metriken können Sie nachvollziehen, wie die Leistung des Modells sich gemessen an der Belohnung im Laufe der Zeit verbessert.

    Anmerkung

    Wenn Sie im lokalen Modus trainieren, können Sie Metriken nicht in visualisieren CloudWatch.

  7. Evaluieren Sie das Modell – Checkpoint-Daten aus den zuvor trainierten Modellen können zur Auswertung und Inferenz an den Checkpoint-Kanal weitergegeben werden. Im lokalen Modus verwenden Sie das lokale Verzeichnis. Im SageMaker Trainingsmodus müssen Sie die Daten zuerst auf S3 hochladen.

  8. Bereitstellen von RL-Modellen — Stellen Sie abschließend das trainierte Modell auf einem Endpunkt bereit, der auf SageMaker Containern oder auf einem Edge-Gerät gehostet wird, indem Sie AWS IoT Greengrass

Weitere Informationen zu RL with SageMaker finden Sie unter Using RL with the SageMaker Python SDK.