【问题标题】:Setting max run time for a SageMaker HyperParameter Tuning job设置 SageMaker HyperParameter Tuning 作业的最长运行时间
【发布时间】:2021-12-23 07:56:58
【问题描述】:
我的训练作业只运行一两分钟,因此我增加了资源限制,以便可以并行运行大量 (500)。但是,我想设置一些上限,这样我就不会意外地让它们运行几个小时乘以 500....
从documentation我可以找到以下内容
超参数调整作业的最长运行时间:30 天
30 天定义太多了,哈哈,但我该如何改变呢?如果它达到最大总训练时间,希望能够将其设置为停止,但与其他限制不同,没有提到这可以改变。
【问题讨论】:
标签:
amazon-web-services
amazon-sagemaker
hyperparameters
【解决方案1】:
虽然没有限制 Tuner 作业持续时间的 Tuner 参数,但您可以使用 Tuner 的 max_jobs 参数设置有效的 $ 支出限制:
allowed_spend_usd = 50 # 50$
instance_cost_usd_hr = 0.1
total_train_minutes_allowed = allowed_spend_usd * 60 / instance_cost_usd_hr
minutes_per_job = 2 # you know this empirically
max_jobs = round(total_train_minutes_allowed / minutes_per_job)
###
tuner = HyperparameterTuner(max_jobs=max_jobs, ...)
我建议您还为每个训练作业设置一个合理的max_run,以进一步确保训练作业以您预期的速度完成(如果您预期 60-120 秒,则说 300 秒)。