首页 > 解决方案 > 训练数千个相对较小的模型有哪些选择

问题描述

我想每天训练 10,000-20,000 个非常小的 ML 模型来进行个性化预测。

我正在使用带有 MultiModelEndpoint 的 AWS Sagemaker 为模型提供实时预测服务。遵循此文档页面和示例笔记本有很大帮助,但没有提到如何训练数千个模型,只是您可以在 1 个端点上托管数千个不同的模型。理想情况下,我想并行训练所有模型。

我现在的设置是使用 1 个通用培训脚本对模型进行培训。训练时间很短,每个模型 30-40 秒。因此,在 AWS 实例上使用 trainingsjob 对其进行训练并不理想。因为启动一个实例(5 分钟)需要比实际训练时间更多的时间,并且您只能并行运行 30 个作业。此方法在示例笔记本中使用。

目前,1 个模型的训练是在 Sagemaker 笔记本上使用 trainingsjob 设置完成的,train_instance_type = 'local'因此它不会在单独的 AWS 实例上进行训练,而是使用笔记本实例中的资源。

训练数千个这些小模型并将工件保存到 S3 的选项是什么?使用 Lambda 创建数千个这样的笔记本并自动执行它们?使用火花?我很想听听一些研究方向。

标签: pythonapache-sparkmachine-learningamazon-sagemaker

解决方案


推荐阅读