0

我在 AWS Sagemaker 上完成了一项培训工作,它运行良好 - 从 s3 位置读取并按照 s3 中的预期存储模型检查点。现在,我需要从网站(通过 API 网关)使用指定的参数(例如具有数据的 s3 位置)触发此触发作业。第一个想法是制作一个从 API 调用中调用的 lambda 函数,并使用 Sagemaker API 训练作业:

HuggingFace(entry_point='train.py',
                            source_dir='./scripts',
                            instance_type='ml.p3.2xlarge',
                            instance_count=1,
                            role=role,
                            transformers_version='4.6',
                            pytorch_version='1.7',
                            py_version='py36',
                            hyperparameters = hyperparameters)

# staarting the train job with our uploaded datasets as input
huggingface_estimator.fit({'train': training_input_path, 'test': test_input_path})

但是,AWS lambda 的最大运行时间为 15 分钟,少于所需的训练时间。我想知道是否有无服务器的方式来做同样的事情?AWS step 函数在这方面与 lambda 有什么不同吗?

4

1 回答 1

0

您可以通过添加或使用 boto3异步启动训练作业wait=False。这样,您可以从 Lambda 启动作业,而无需等待它完成;fit()create_training_job

于 2022-01-31T09:13:02.760 回答