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
-
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
DateienStdout
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