Utilisation des boîtes à SageMaker outils de formation et d'inférence - Amazon SageMaker

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation des boîtes à SageMaker outils de formation et d'inférence

Les boîtes à outils de SageMaker formation et d'SageMaker inférence mettent en œuvre les fonctionnalités dont vous avez besoin pour adapter vos conteneurs afin d'exécuter des scripts, d'entraîner des algorithmes et de déployer des modèles. SageMaker Lorsqu'elle est installée, cette bibliothèque définit les éléments suivants pour les utilisateurs :

  • Les emplacements pour stocker du code et d'autres ressources.

  • Le point d'entrée qui contient le code à exécuter au démarrage du conteneur. Votre Dockerfile doit copier le code qui doit être exécuté à l'emplacement attendu par un conteneur compatible avec. SageMaker

  • D'autres informations dont un conteneur a besoin pour gérer les déploiements pour l'entraînement et l'inférence.

SageMaker Structure des conteneurs de boîtes à outils

Lors de SageMaker l'entraînement d'un modèle, il crée la structure de dossiers de fichiers suivante dans le /opt/ml répertoire du conteneur.

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

Lorsque vous exécutez une tâche d'entraînement modèle, le SageMaker conteneur utilise le /opt/ml/input/ répertoire, qui contient les fichiers JSON qui configurent les hyperparamètres de l'algorithme et la structure du réseau utilisée pour l'entraînement distribué. Le /opt/ml/input/ répertoire contient également des fichiers qui spécifient les canaux d' SageMaker accès aux données, qui sont stockées dans Amazon Simple Storage Service (Amazon S3). La bibliothèque de SageMaker conteneurs place les scripts que le conteneur exécutera dans le /opt/ml/code/ répertoire. Votre script doit écrire le modèle généré par votre algorithme dans le répertoire /opt/ml/model/. Pour de plus amples informations, veuillez consulter Utilisez de vos propres algorithmes d'entraînement.

Lorsque vous hébergez un modèle entraîné SageMaker pour effectuer des inférences, vous déployez le modèle sur un point de terminaison HTTP. Le modèle effectue des prédictions en temps réel en réponse aux requêtes d'inférence. Le conteneur doit contenir une pile de traitement pour traiter ces requêtes.

Dans un conteneur d'hébergement ou de transformation par lots, les fichiers de modèle se trouvent dans le même dossier que celui de leur écriture pendant l'entraînement.

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

Pour de plus amples informations, veuillez consulter Utilisation de votre propre code d'inférence.

Conteneur unique versus conteneurs multiples

Vous pouvez fournir des images Docker distinctes pour l'algorithme d'entraînement et le code d'inférence, ou utiliser une image Docker unique pour les deux. Lorsque vous créez des images Docker à utiliser avec SageMaker, tenez compte des points suivants :

  • Fournir deux images Docker peut augmenter les exigences de stockage et les coûts, car les bibliothèques courantes risquent d'être dupliquées.

  • En général, les plus petits conteneurs démarrent plus rapidement à la fois pour l'entraînement et l'hébergement. Les modèles se forment plus rapidement et le service d'hébergement peut réagir aux augmentations du trafic en effectuant plus rapidement une mise à l'échelle.

  • Il se peut que vous arriviez à écrire un conteneur d'inférence nettement plus petit que le conteneur de formation. Cela est particulièrement courant lorsque l'on utilise des GPU pour l'entraînement, mais votre code d'inférence est optimisé pour les CPU.

  • SageMaker nécessite que les conteneurs Docker s'exécutent sans accès privilégié.

  • Les conteneurs Docker que vous créez et ceux fournis par SageMaker peuvent envoyer des messages aux Stderr fichiers Stdout et. SageMaker envoie ces messages à Amazon CloudWatch se connecte à votre AWS compte.

Pour plus d'informations sur la création de SageMaker conteneurs et sur la manière dont les scripts y sont exécutés, consultez les référentiels SageMakerTraining Toolkit et SageMaker Inference Toolkit sur. GitHub Ils fournissent également des listes de variables environnementales importantes et des variables environnementales fournies par les SageMaker conteneurs.