13

我有一个关于 SageMaker 的笔记本,我想每天晚上运行。安排此任务的最佳方式是什么。有没有办法从 SageMaker 运行 bash 脚本并安排 Cron 作业?

4

5 回答 5

19

Amazon SageMaker 是一组 API,可以帮助完成各种机器学习和数据科学任务。这些 API 可以从各种来源调用,例如 CLI、SDK或专门从计划 AWS Lambda 函数调用(请参阅此处获取文档:https ://docs.aws.amazon.com/lambda/latest/dg/with-scheduled-events .html )

Amazon SageMaker 的主要部分是笔记本实例、训练和调整作业以及用于实时预测的模型托管。每个都有您可能想要的不同类型的时间表。最受欢迎的是:

  • 停止和启动笔记本实例- 由于笔记本实例用于交互式 ML 模型开发,因此您实际上并不需要它们在夜间或周末运行。您可以安排 Lambda 函数在工作日结束时(例如晚上 8 点)调用stop-notebook-instance API,并在早上调用start-notebook-instance API。请注意,您还可以在笔记本实例上运行 crontab(从 Jupyter 界面打开本地终端后)。
  • 刷新 ML 模型- 根据一直流入系统的新数据自动重新训练模型是 SageMaker 更容易解决的常见问题。从计划的 Lambda 函数(甚至从监控现有模型性能的CloudWatch 事件)调用create-training-job API ,指向新旧数据所在的 S3 存储桶,可以创建一个刷新的模型,您可以在现在可以部署到A/B 测试环境中

----- 更新(感谢@snat2100 评论)-----

  • 创建和删除实时端点- 如果您的实时端点不需要 24/7(例如,为在工作日和小时工作的内部公司用户提供服务),您还可以在早上创建端点并在晚上删除它们。
于 2018-04-08T18:45:15.337 回答
4

截至 2020 年中期,AWS 提供了多种选项来将笔记本作为 cron 作业运行。它使用 Papermill 为每次运行注入参数,您还可以使用 CLI 按需运行 notebook。
您可以: (1) 直接使用 AWS API 或 CLI;(2) 使用便利包,或 (3) 使用 Jupyter Lab 扩展。

有关示例,请参阅本教程快速入门指南

于 2020-10-16T17:58:28.103 回答
3

I dont think there is any way to schedule tasks on sagemaker. Notebook is meant more for interacting with the SageMaker runtime. Which is more for training and hosting ML models.

I am presuming you want retrain your model every night. There are two ways of achieving that, retrain your model somewhere else and then upload to S3 and recreate your docker container every night using an external script. Or Provide your own docker container which has a cron job scheduled within it. Give that to SageMaker to deploy.

于 2018-03-31T23:14:23.223 回答
2

您可以在 AWS 控制台 Jupyter 页面中访问 Notebook 终端(在右上角,选择新建 --> 终端)。如果 cron 对你来说足够了,也许crontab里面就足够了。

如果您有可以在容器中运行的大型、昂贵的作业,也可以考虑使用 AWS Batch。例如,您可以在此处尝试对所需实例使用现货定价。批处理作业可以由 Cloudwatch 事件(例如 cron 触发器)启动。

于 2018-04-06T21:02:17.650 回答
0

现在,任务通过 2 项服务大大简化,其中一项是 Stepfunctions,它允许您通过连接器创建多个 AWS 服务的工作流。例如,可以通过启动爬虫然后启动胶水作业,最后启动一个简单的管道。 sagemaker notebook,现在调度这个过程 eventbrige 被用作这个任务的 cron,注意 SF 是高度可参数化的。

于 2021-12-22T02:41:40.497 回答