【发布时间】:2020-11-04 04:51:28
【问题描述】:
我是一名软件工程师,正在向机器学习工程过渡,但需要一些帮助。
我目前正在使用 AWS Lambda 和 Step Functions 为我的 ML 管道运行查询和预处理作业,但受到 Lambda 15m 运行时限制的限制。
我们是一家严格意义上的 AWS 商店,所以我暂时还坚持使用 SageMaker 和其他 AWS 工具。稍后我们会考虑尝试使用 Kubeflow 之类的东西,如果它看起来足够有利的话。
我目前的流程
- 我让我的数据科学家为模型的查询和预处理步骤编写 Python 脚本(在 git 存储库中),并将它们(通过 Terraform)部署为 Lambda 函数,然后使用 Step Functions 将 ML Pipeline 步骤排序为DAG(查询 -> 预处理 -> 训练 -> 部署)
- Query lambda 从我们的数据仓库 (Redshift) 中提取数据,并将未处理的数据集写入 S3
- Preprocessing lambda 从 S3 加载未处理的数据集,根据需要对其进行操作,并将其作为训练和验证数据集写入不同的 S3 位置
- 训练和部署任务使用 SageMaker python api 将模型训练和部署为 SageMaker 端点
我是否需要使用 Glue 和 SageMaker 处理作业?据我所知,Glue 似乎更针对 ETL,而不是写入 S3,而且 SageMaker 处理作业的部署似乎比 Lambda 更复杂。
【问题讨论】:
-
哪个或哪些步骤运行到 15 分钟超时?目前尚不清楚您需要哪些方面的帮助。
-
@BillWeiner 查询和预处理步骤,我目前正在使用 Lambda。
标签: amazon-web-services machine-learning aws-lambda pipeline amazon-sagemaker