我在 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 有什么不同吗?