3
votes

Comment puis-je déboguer rapidement un script de formation SageMaker?

Lors de l'exécution d'une tâche d'entraînement ML dans Amazon SageMaker, le script d'entraînement est «déployé» et reçoit une instance d'entraînement ML, ce qui prend environ 10 minutes pour démarrer et obtenir les données dont il a besoin.

Je ne peux recevoir qu'un seul message d'erreur de la tâche d'entraînement, puis elle meurt et l'instance est supprimée avec elle.

Après avoir modifié le script d'entraînement pour le corriger, je dois le déployer et l'exécuter, ce qui prend environ 10 minutes supplémentaires.

Comment puis-je accomplir cela plus rapidement ou maintenir l'instance d'entraînement en cours d'exécution?


0 commentaires

3 Réponses :


4
votes

Il semble que vous exécutiez une tâche d'entraînement à l'aide de l'un des frameworks SageMaker. Compte tenu de cela, vous pouvez utiliser la fonctionnalité «mode local» de SageMaker, qui exécutera votre tâche d'entraînement (en particulier le conteneur) localement dans votre instance de notebook. De cette façon, vous pouvez itérer sur votre script jusqu'à ce qu'il fonctionne. Vous pouvez ensuite passer au cluster d'apprentissage distant pour entraîner le modèle par rapport à l'ensemble de données si nécessaire. Pour utiliser le mode local, il vous suffit de définir le type d'instance sur "local". Vous trouverez plus de détails sur le mode local sur https: // github .com / aws / sagemaker-python-sdk # sagemaker-python-sdk-overview et l'article de blog: https://aws.amazon.com/blogs/machine-learning/use-the- amazon-sagemaker-local-mode-to-train-on-your-notebook-instance /


0 commentaires

1
votes

Si vous utilisez TF, MXNet, Pytorch ou Chainer, le mode local est en effet un moyen beaucoup plus rapide d'itérer. Une solution encore plus rapide consiste à coder et à déboguer sur votre ordinateur local avec un jeu de données jouet, en vous assurant que votre code d'entraînement / de prédiction s'exécute correctement avant de le déplacer vers SageMaker. Vous pouvez même utiliser les mêmes conteneurs que sur SageMaker, car ils sont tous open source, par ex. https://github.com/aws/sagemaker-tensorflow-container .

Si vous utilisez un conteneur personnalisé, vous pouvez également travailler localement avant de le pousser vers ECR et de l'utiliser avec SageMaker.

Si vous utilisez un algorithme intégré, il n'y a pas d'autre option que la formation / prédiction avec des instances gérées par SageMaker. Cependant, vous n'écrivez pas le code ML dans ce cas, il y a donc moins de risque de rencontrer des problèmes :)


0 commentaires

0
votes

Amazon SageMaker propose désormais un moyen de déboguer des modèles d'apprentissage automatique à l'aide de la nouvelle fonctionnalité appelée SageMaker Debugger. Cette fonctionnalité vous permettra de capturer les tenseurs circulant à travers le graphe de calcul et de les analyser en temps réel. Sur la base du résultat de l'analyse en temps réel, vous pouvez choisir d'arrêter la tâche d'entraînement et d'analyser séparément les tenseurs de manière interactive pour déboguer votre modèle.

Voir: https://sagemaker.readthedocs.io/en/stable/amazon_sagemaker_debugger .html


0 commentaires