为了账号安全,请及时绑定邮箱和手机立即绑定

AWS Sagemaker 多项训练作业

AWS Sagemaker 多项训练作业

慕村225694 2024-01-12 10:34:57
目前,我们有一个在 AWS Sagemaker 上运行的系统,其中多个单位拥有自己经过训练的机器学习模型工件(使用带有 Sagemaker SKLearn 估计器的 SKLearn 训练脚本)。通过使用 Sagemaker 的多模型端点,我们能够在单个实例上托管所有这些单元。我们面临的问题是,我们需要扩展这个系统,以便我们可以为数十万个单元训练单个模型,然后将生成的模型工件托管在多模型端点上。但是,Sagemaker 对可以并行训练的模型数量有限制(我们的限制是 30)。除了批量训练我们的模型之外,有谁知道如何在 AWS Sagemaker 中实现一个系统,从而对于数十万个单元,我们可以为每个单元拥有一个单独的经过训练的模型工件?有没有办法使用 SKLearn 估计器为 1 个 sagemaker 训练作业输出多个模型工件?此外,提交训练脚本时,Sagemaker如何利用多个CPU?这是否必须在训练脚本/估计器对象中指定,还是自动处理?
查看完整描述

1 回答

?
慕后森

TA贡献1802条经验 获得超5个赞

以下是一些想法:

1. 有谁知道如何在 AWS Sagemaker 中实现一个系统,从而对于数十万个单元,我们可以为每个单元拥有一个单独的经过训练的模型工件?有没有办法使用 SKLearn 估计器为 1 个 sagemaker 训练作业输出多个模型工件?

我不知道 30 个训练作业并发数是否是一个硬性限制,如果它是一个障碍,您应该尝试打开支持票询问是否是这样,并尝试提高它。否则,正如您所指出的,您可以尝试在一项作业中训练多个模型,并生成多个工件,您可以 (a) 手动发送到 S3,或 (b) 保存,以便将opt/ml/model它们全部发送到模型。 S3 中的 tar.gz 工件。请注意,如果这个工件变得太大,这可能会变得不切实际

2. 提交训练脚本时,Sagemaker如何利用多个CPU?这是否必须在训练脚本/估计器对象中指定,还是自动处理?

这取决于您使用的训练容器的类型。SageMaker 内置容器由 Amazon 团队开发,旨在高效利用可用资源。如果您在 Sklearn 容器中使用自己的代码(例如自定义 python),则您有责任确保您的代码高效编写并使用可用的硬件。因此框架的选择非常重要:)例如,一些sklearn模型支持显式使用多个CPU(例如随机森林n_jobs中的参数),但我不认为Sklearn原生支持GPU、多GPU或多节点训练。


查看完整回答
反对 回复 2024-01-12
  • 1 回答
  • 0 关注
  • 97 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信