运行 计划的 Azure ML 管道需要预先存在的计算资源吗?

Pre-existing Compute Resource necessary for running a scheduled Azure ML pipeline?

我一直在探索 Azure 机器学习管道。我指的是 this notebook 以下代码:

这是来自 MS Repo 的一个小片段:

train_step = PythonScriptStep(name = "Prepare Data",
source_directory = experiment_folder,
script_name = "prep_diabetes.py",
arguments = ['--input-data', diabetes_ds.as_named_input('raw_data'),
'--prepped-data', prepped_data_folder],
outputs=[prepped_data_folder],
compute_target = pipeline_cluster,
runconfig = pipeline_run_config,
allow_reuse = True)

这表明在定义管道时,我们必须为其提供计算资源(pipeline_cluster)。这显然是有道理的,因为特定步骤可能需要特定计算。

但是我们是否需要始终启动此计算资源并运行,以便无论何时触发管道,它都能找到计算资源?

此外,我想我们可以保留一个最小节点数为零的集群,在这种情况下,每当管道被触发时集群都会调整大小。但我认为在这样的设置中,可能定期在容器注册表中产生的成本最低。这是部署 ML 管道的推荐方法还是可能的一些更有效的方法?

是的,您是对的 -- 创建一个 ComputeTarget 节点最少为零的节点。 container registry costs 约为 0.16 美元 USD/day 并且,IIRC,该费用与 Azure 机器学习捆绑在一起。

这就是我们的团队在生产中为我们发布的管道所做的。