在Amazon SageMaker中运行ML培训作业时,将“部署”培训脚本并指定一个ML培训实例,这大约需要10分钟来启动并获取所需的数据。
我只能从培训工作中获得一条错误消息,然后它死了,实例也被杀死了。
对培训脚本进行更改以对其进行修复后,我需要部署并运行它,这又需要花费10分钟左右的时间。
我该如何更快地完成此任务,或者保持训练实例运行?
答案 0 :(得分:2)
似乎您正在使用SageMaker框架之一进行培训。鉴于此,您可以使用SageMaker的“本地模式”功能,该功能将在您的笔记本实例中本地运行您的训练作业(特别是容器)。这样,您可以迭代脚本,直到脚本起作用为止。然后,如果需要,您可以转到远程训练集群以针对整个数据集训练模型。要使用本地模式,只需将实例类型设置为“本地”。有关本地模式的更多详细信息,请参见https://github.com/aws/sagemaker-python-sdk#sagemaker-python-sdk-overview和博客文章:https://aws.amazon.com/blogs/machine-learning/use-the-amazon-sagemaker-local-mode-to-train-on-your-notebook-instance/
答案 1 :(得分:1)
如果您使用的是TF,MXNet,Pytorch或Chainer,则本地模式确实是一种更快的迭代方式。甚至更快的解决方案是使用玩具数据集在本地计算机上进行编码和调试,确保将训练/预测代码正确运行后再将其移至SageMaker。您甚至可以使用与SageMaker上相同的容器,因为它们都是开源的,例如https://github.com/aws/sagemaker-tensorflow-container。
如果您使用的是自定义容器,那么在将其推送到ECR并与SageMaker结合使用之前,您也可以在本地工作。
如果您使用内置算法,则除了使用SageMaker管理的实例进行训练/预测外,别无选择。但是,在这种情况下,您无需编写ML代码,因此遇到问题的风险较小:)
答案 2 :(得分:0)
Amazon SageMaker现在提供了一种使用名为SageMaker Debugger的新功能调试机器学习模型的方法。此功能将允许您捕获流经计算图的张量并实时分析它们。根据实时分析的结果,您可以选择停止训练工作,并以交互方式分别分析张量以调试模型。
请参阅:https://sagemaker.readthedocs.io/en/stable/amazon_sagemaker_debugger.html