Verwenden der SageMaker Trainings- und Inferenz-Toolkits - 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.

Verwenden der SageMaker Trainings- und Inferenz-Toolkits

Die SageMaker Training and SageMaker Inference Toolkits implementieren die Funktionalität, die Sie benötigen, um Ihre Container anzupassen, um Skripts auszuführen, Algorithmen zu trainieren und Modelle auf bereitzustellen SageMaker. Bei der Installation definiert die Bibliothek Folgendes für Benutzer:

  • Die Speicherorte für das Speichern von Code und anderen Ressourcen.

  • Der Eintrittspunkt, der den Code enthält, der beim Starten des Containers ausgeführt werden soll. Ihre Docker-Datei muss den Code kopieren, der an dem Speicherort ausgeführt werden muss, der von einem Container erwartet wird, der mit kompatibel ist SageMaker.

  • Andere Informationen, die ein Container für die Verwaltung von Bereitstellungen für Schulung und Inferenz benötigt.

SageMaker -Toolkits-Containerstruktur

Wenn ein Modell SageMaker trainiert, erstellt es die folgende Dateiordnerstruktur im /opt/ml Verzeichnis des Containers.

/opt/ml ├── input │ ├── config │ │ ├── hyperparameters.json │ │ └── resourceConfig.json │ └── data │ └── <channel_name> │ └── <input data> ├── model │ ├── code │ ├── output │ └── failure

Wenn Sie einen Modelltraining sauftragausführen, verwendet der SageMaker Container das -/opt/ml/input/Verzeichnis, das die JSON-Dateien enthält, die die Hyperparameter für den Algorithmus und das Netzwerklayout konfigurieren, das für verteiltes Training verwendet wird. Das /opt/ml/input/ Verzeichnis enthält auch Dateien, die die Kanäle angeben, über die auf die Daten SageMaker zugreift, die in Amazon Simple Storage Service (Amazon S3) gespeichert sind. Die SageMaker Container-Bibliothek platziert die Skripts, die der Container ausführen wird, im /opt/ml/code/ Verzeichnis . Ihr Skript sollte das von Ihrem Algorithmus generierte Modell in das Verzeichnis /opt/ml/model/ schreiben. Weitere Informationen finden Sie unter Verwenden Ihrer eigenen Trainingsalgorithmen.

Wenn Sie ein trainiertes Modell auf hosten, SageMaker um Rückschlüsse zu ziehen, stellen Sie das Modell auf einem HTTP-Endpunkt bereit. Das Modell erstellt Echtzeitprognosen als Antwort auf Inferenzanforderungen. Der Container muss einen Serving-Stack enthalten, um diese Anforderungen zu verarbeiten.

In einem Hosting- oder Batch-Transformationscontainer befinden sich die Modelldateien im selben Ordner, in den sie während der Schulung geschrieben wurden.

/opt/ml/model │ └── <model files>

Weitere Informationen finden Sie unter Verwenden Ihres eigenen Inferenzcodes.

Einzelne versus mehrere Container

Sie können entweder separate Docker-Images für den Schulungsalgorithmus und Inferenzcode bereitstellen oder beides in einem einzigen Docker-Image kombinieren. Beachten Sie beim Erstellen von Docker- SageMakerImages zur Verwendung mit Folgendes:

  • Durch die Bereitstellung von zwei Docker-Images können die Speicheranforderungen sowie die Kosten steigen, da allgemeine Bibliotheken möglicherweise dupliziert werden.

  • Im Allgemeinen starten kleinere Container für Schulung und Hosting schneller. Modelle lernen schneller und der Hosting-Service kann durch die automatische Skalierung schneller auf erhöhten Datenverkehr reagieren.

  • Sie können unter Umständen einen Inferenzcontainer schreiben, der erheblich kleiner ist als der Schulungscontainer. Das ist gängige Praxis, wenn Sie GPUs zur Schulungen einsetzen, Ihr Inferenzcode aber für CPUs optimiert ist.

  • SageMaker erfordert, dass Docker-Container ohne privilegierten Zugriff ausgeführt werden.

  • Sowohl von Ihnen erstellte Docker-Container als auch von bereitgestellte Container SageMaker können Nachrichten an die Stderr Dateien Stdout und senden. SageMaker sendet diese Nachrichten an Amazon- CloudWatch Protokolle in Ihrem AWS Konto.

Weitere Informationen zum Erstellen von SageMaker Containern und zur Ausführung von Skripts darin finden Sie in den Repositorys SageMaker Training Toolkit und SageMaker Inference Toolkit auf GitHub. Sie enthalten auch Listen wichtiger Umgebungsvariablen und der Umgebungsvariablen, die von SageMaker Containern bereitgestellt werden.