Verwenden Sie Docker-Container, um Modelle zu erstellen - 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 Sie Docker-Container, um Modelle zu erstellen

Amazon SageMaker verwendet Docker-Container in großem Umfang für Build- und Runtime-Aufgaben. SageMaker bietet vorgefertigte Docker-Images für seine integrierten Algorithmen und die unterstützten Deep-Learning-Frameworks, die für Training und Inferenz verwendet werden. Durch die Verwendung von Containern können Sie Machine-Learning-Algorithmen trainieren und Modelle in jeder Größenordnung schnell und zuverlässig bereitstellen. Die Themen in diesem Abschnitt zeigen, wie Sie diese Container für Ihre eigenen Anwendungsfälle einsetzen können. Informationen darüber, wie Sie Ihre eigenen Container zur Verwendung mit Amazon SageMaker Studio Classic mitbringen können, finden Sie unterBringen Sie Ihr eigenes SageMaker Bild mit.

Szenarien für das Ausführen von Skripten, das Trainieren von Algorithmen oder das Bereitstellen von Modellen mit SageMaker

Amazon verwendet beim Ausführen von Skripten, beim Trainieren von Algorithmen und beim Bereitstellen von Modellen SageMaker immer Docker-Container. Wie intensiv Sie mit Containern umgehen, hängt von Ihrem Anwendungsfall ab.

Der folgende Entscheidungsbaum veranschaulicht drei Hauptszenarien: Anwendungsfälle für die Verwendung vorgefertigter Docker-Container mit SageMaker; Anwendungsfälle für die Erweiterung eines vorgefertigten Docker-Containers; Anwendungsfall für die Erstellung Ihres eigenen Containers.

Entscheidungsbaum für die Entscheidung, ob Sie einen benutzerdefinierten Container erstellen, einen Container erweitern oder einen vorgefertigten Container verwenden möchten.

Anwendungsfälle für die Verwendung vorgefertigter Docker-Container mit SageMaker

Beachten Sie die folgenden Anwendungsfälle bei der Verwendung von Containern mit: SageMaker

  • Vordefinierter SageMaker Algorithmus — Verwenden Sie das Image, das mit dem integrierten Algorithmus geliefert wird. Weitere Informationen finden Sie unter Verwenden von SageMaker integrierten Amazon-Algorithmen oder vortrainierten Modellen.

  • Benutzerdefiniertes Modell mit SageMaker vorgefertigtem Container — Wenn Sie ein benutzerdefiniertes Modell trainieren oder bereitstellen, aber ein Framework verwenden, das über einen vorgefertigten SageMaker Container mit TensorFlow und verfügt PyTorch, wählen Sie eine der folgenden Optionen:

    • Wenn Sie kein benutzerdefiniertes Paket benötigen und der Container bereits alle erforderlichen Pakete enthält: Verwenden Sie das vorgefertigte Docker-Image, das mit Ihrem Framework verknüpft ist. Weitere Informationen finden Sie unter Verwenden Sie vorgefertigte Docker-Images SageMaker .

    • Wenn Sie ein benutzerdefiniertes Paket in einem der vorgefertigten Container installieren müssen: Vergewissern Sie sich, dass das vorgefertigte Docker-Image eine Datei requirements.txt zulässt, oder erweitern Sie den vorgefertigten Container auf der Grundlage der folgenden Anwendungsfälle.

Anwendungsfälle für die Erweiterung eines vorgefertigten Docker-Containers

Im Folgenden finden Sie Anwendungsfälle für die Erweiterung eines vorgefertigten Docker-Containers:

  • Sie können die Abhängigkeiten nicht importieren – Erweitern Sie das vorgefertigte Docker-Image, das Ihrem Framework zugeordnet ist. Weitere Informationen finden Sie unter Erweitern eines vorgefertigter Containers.

  • Sie können die Abhängigkeiten im vorgefertigten Container nicht importieren und der vorgefertigte Container unterstützt requirements.txt – Fügen Sie alle erforderlichen Abhängigkeiten in requirements.txt hinzu. Die folgenden Frameworks unterstützen die Verwendung von requirements.txt.

Anwendungsfall für den Bau Ihres eigenen Containers

Wenn Sie ein benutzerdefiniertes Modell erstellen oder trainieren und ein benutzerdefiniertes Framework benötigen, das kein vorgefertigtes Image hat, erstellen Sie einen benutzerdefinierten Container.

Als Beispiel für einen Anwendungsfall für das Training und die Bereitstellung eines TensorFlow Modells zeigt die folgende Anleitung, wie Sie ermitteln können, welche Option aus den vorherigen Abschnitten von Anwendungsfällen für den jeweiligen Fall geeignet ist.

Gehen Sie davon aus, dass Sie die folgenden Anforderungen für das Training und die Bereitstellung eines TensorFlow Modells erfüllen.

Nachdem Sie den benötigten Containertyp bestimmt haben, enthält die folgende Liste Einzelheiten zu den zuvor aufgelisteten Optionen.

  • Verwenden Sie einen integrierten SageMaker Algorithmus oder ein integriertes Framework. In den meisten Anwendungsfällen können Sie die integrierten Algorithmen und Frameworks verwenden, ohne sich Gedanken über Container machen zu müssen. Sie können diese Algorithmen über die SageMaker Konsole, die AWS Command Line Interface (AWS CLI), ein Python-Notebook oder das Amazon SageMaker Python SDK trainieren und bereitstellen. Sie können dies tun, indem Sie bei der Erstellung Ihres Schätzers den Algorithmus oder die Framework-Version angeben. Die verfügbaren integrierten Algorithmen werden unter dem Thema Verwenden Sie die SageMaker integrierten Algorithmen von Amazon oder vortrainierte Modelle einzeln aufgeführt und beschrieben. Weitere Informationen über die verfügbaren Frameworks finden Sie unter ML-Frameworks und Sprachen. Ein Beispiel für das Trainieren und Bereitstellen eines integrierten Algorithmus mithilfe eines Jupyter-Notebooks, das in einer SageMaker Notebook-Instance ausgeführt wird, finden Sie im Thema. Leitfaden zur Einrichtung bei Amazon SageMaker

  • Verwenden Sie vorgefertigte Container-Images SageMaker . Alternativ können Sie die integrierten Algorithmen und Frameworks mithilfe von Docker-Containern verwenden. SageMaker bietet Container für seine integrierten Algorithmen und vorgefertigte Docker-Images für einige der gängigsten Frameworks für maschinelles Lernen wie Apache MXNet, TensorFlow PyTorch, und Chainer. Eine vollständige Liste der verfügbaren SageMaker Images finden Sie unter Verfügbare Deep Learning Containers Learning-Container-Images. Auch Machine-Learning-Bibliotheken wie scikit-learn und SparkML werden unterstützt. Wenn Sie das Amazon SageMaker Python SDK verwenden, können Sie die Container bereitstellen, indem Sie den vollständigen Container-URI an die jeweilige SageMaker Estimator SDK-Klasse übergeben. Die vollständige Liste der Deep-Learning-Frameworks, die derzeit von unterstützt werden SageMaker, finden Sie unterVorgefertigte SageMaker Docker-Images für Deep Learning. Weitere Informationen über die vordefinierten Container-Images von scikit-learn und SparkML finden Sie unter Vorgefertigte Amazon SageMaker Docker-Images für Scikit-Learn und Spark ML. Weitere Informationen zur Verwendung von Frameworks mit dem Amazon SageMaker Python SDK finden Sie in den entsprechenden Themen unterFrameworks und Sprachen für Machine Learning.

  • Erweitern Sie ein vorgefertigtes SageMaker Container-Image. Wenn Sie einen vorgefertigten SageMaker Algorithmus oder ein vorgefertigtes Docker-Image erweitern möchten, können Sie das SageMaker Image an Ihre Bedürfnisse anpassen. Ein Beispiel finden Sie unter Erweiterung unserer PyTorch Container.

  • Passen Sie ein vorhandenes Container-Image an: Wenn Sie ein bereits vorhandenes Container-Image so anpassen möchten, dass es verwendet werden kann SageMaker, müssen Sie den Docker-Container ändern, um entweder das SageMaker Training- oder das Inference-Toolkit zu aktivieren. Ein Beispiel, wie Sie eigene Container zum Trainieren und Hosten eines Algorithmus erstellen können, finden Sie unter Bring Your Own R Algorithm.