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

Im folgenden Beispiel werden die Schritte für die Entwicklung von RL-Modellen mit RL beschrieben.

  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 Instanzkapazitä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 Instanzen 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- und benutzerdefinierte Umgebungen verbinden, die mithilfe von Gym-Schnittstellen entwickelt wurden, sowie kommerzielle Simulationsumgebungen wie MATLAB und Simulink.

  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 übergeben Sie das Skript an einen SageMaker-Trainingsauftrag. Importieren Sie die Umgebungsdateien und Voreinstellungsdateien in Ihren Trainingscode und definieren Sie dann die main()-Funktion.

  5. Trainieren Sie das RL-Modell — Verwenden Sie SageMaker RLEstimator im Amazon SageMaker Python SDK, um einen RL-Trainingsauftrag zu starten. Im lokalen Modus wird der Trainingsauftrag auf der Notebook-Instance ausgeführt. Wenn Sie SageMaker für das Training verwenden, können Sie GPU- oder CPU-Instanzen auswählen. Speichern Sie die Ausgabe des Trainingsauftrags 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 führt automatisch zu dem Amazon ECR-Pfad für den RL-Container.

    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 Notebooks visualisiert werden.

  6. Trainingsmetriken und -ausgabe visualisieren — Nach Abschluss eines Trainingsauftrags, der ein RL-Modell verwendet, können Sie die Metriken, die Sie in den Trainingsauftrags definiert haben, in CloudWatch anzeigen. Sie können die Metriken auch in einem Notebook ausgeben. Hierfür verwenden Sie die Amazon SageMaker Python SDK Analysebibliothek. 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 die Metriken in CloudWatch nicht visualisieren.

  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 in S3 hochladen.

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

Weitere Informationen zu RL mit SageMaker finden Sie unter Verwenden von RL mit dem SageMaker Python SDK.