在 AWS 上运行 ML 批量训练作业的 EC2 替代方案

数据挖掘 机器学习 管道 aws 数据工程 aws-lambda
2022-02-22 00:44:54

我们正在 AWS 上构建 ML 管道,这显然需要一些繁重的计算组件,包括预处理和批量训练。

大多数管道都在 Lambda 上,但众所周知,Lambda 对作业的运行时间有时间限制(约 15 分钟)。因此,对于长期运行的作业,例如 ML 模型的批量训练,我们需要(?)访问 EC2 实例之类的东西。例如,可以调用一个 lambda 函数,然后启动一个 EC2 实例来处理训练。

是否有任何替代方案可以使用 EC2 进行繁重的计算?有没有办法在不利用任何 EC2 进行计算的情况下仍然在 AWS 上托管/运行作业?

这个想法是为了避免 EC2 附带的额外管理,因为我们目前没有使用它。让所有广告尽可能接近 Lambda 是理想的。

1个回答

对于批量训练,我一直在使用 sagemaker,虽然它比 ec2 有点贵,但它很容易设置和开始。

  • 制作一个 docker 容器并将其推送到 ecr,然后开始训练并使用任何监控工具(如 wandb)跟踪指标
  • 如果您的用例不需要任何自定义包,那么您也可以使用 HuggingFace DLC,它可以更轻松地开始培训。

参考: