AWS Sagemaker 中 DeepAR 的最佳笔记本实例类型

0

【以下的问题经过翻译处理】 当前,我正在使用一个 ml.c4.2xlarge 实例类型来运行自动化模型调优任务,应用场景是 DeepAR。数据由7157个时间序列组成,分别在训练集和测试集中有152个时间步和52个时间步。我估计在这个特定实例类型上,调优任务的运行时间需要大约4-5天。想了解一下 DeepAR 的训练是否基于GPU 进行了优化,以及是否建议使用 "p" 或 "g" 计算实例来获得更快的结果。同时,也很想听到对于这种情况,哪种加速计算实例会是最优的建议。

profile picture
专家
已提问 8 个月前28 查看次数
1 回答
0

【以下的回答经过翻译处理】 正如算法详细说明页面中详细说明的那样,是的,SageMaker DeepAR算法实现可以在GPU加速的实例上进行训练,以加快处理更具挑战性的工作。此外,在这里还有一个快捷的参考表,列出了所有的SageMaker内置算法以及它们是否可能通过GPU加速。

然而,要明确的是,影响这一点的不应该是笔记本实例类型。通常在SageMaker上训练模型时,笔记本提供交互式计算环境,但您要在训练作业中运行训练-例如使用[SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable/)的`Estimator`类,在DeepAR的样例笔记本中,如[electricity](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/deepar_electricity/DeepAR-Electricity.ipynb)和[synthetic](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/deepar_synthetic/deepar_synthetic.ipynb)中所示。您选择用于训练的实例类型是独立于笔记本使用的实例类型的-例如,在electricity笔记本中,它设置如下:
estimator = sagemaker.estimator.Estimator(
    image_uri=image_name,
    sagemaker_session=sagemaker_session,
    role=role,
    train_instance_count=1,  # <-- 设置训练实例计数
    train_instance_type="ml.c4.2xlarge",  # <-- 设置训练实例类型
    base_job_name="deepar-electricity-demo",
    output_path=s3_output_path,
)

因此,通常我不期望您需要通过更改笔记本实例类型来加速训练 - 只需在笔记本内编辑训练作业的配置即可。

建议特定的实例类型很棘手,因为 DeepAR 超参(例如 context_length、embedding_dimension 和 mini_batch_size)将影响特定运行所需的 GPU 容量。 由于您仅提供了机遇 CPU 的基准,我会建议从小配置开始尝试单 GPU, g4dn.xlarge、g5.xlarge 或 p3.2xlarge 实例,也许从每小时最低成本开始? 您可以关注作业的 GPUUtilization 和 GPUMemoryUtilization 指标,以检查具有“更大”GPU 的 p3 等实例的利用率是否较低。 增加 mini_batch_size 应该有助于填充这些额外的容量并更快地完成你的工作,但它可能会影响模型收敛 - 因此可能需要调整其他参数(例如learning_rate)来尝试和补偿。 因此,考虑到所有这些,您可能会在速度和总成本或速度和准确性之间进行权衡,以获得数据集上良好的超参组合。 当然,如果您想进一步加速,您也可以扩展到多 GPU 实例类型。

如果我理解正确的话,您还使用 SageMaker 自动超参数调整来搜索这些参数,例如带有 HyperparameterTuner 类的 XGBoost 笔记本?

在这种情况下还会提到:

增加 max_parallel_jobs 参数可能会加速整体运行时间(通过并行运行更多的单独训练作业) - 权衡预算中的每个训练作业启动时可用的信息量。 如果您计划在随时间变化的数据集上定期运行此训练,则可能不需要每次都运行 HPO:使用之前优化的超参数可能会看到良好的结果,除非数据的性质和模式发生重大变化。

profile picture
专家
已回答 8 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则