这个问题非常直白。何时应该使用 Azure ML Notebooks 与 Azure Databricks?我觉得这两款产品有很大的重叠之处,而且其中一个的市场推广明显比另一个要好..
我主要想了解关于数据集大小和典型工作流程的信息。如果我的工作流程不是基于 Spark 的,我为什么要选择 Databricks 而不是 AzureML?
谢谢!
回答:
@隐藏人名,从我的角度来看,以下是主要的区别:
-
数据分布:
- Azure ML Notebooks 在单机上训练有限数据时表现良好。虽然 Azure ML 提供了训练集群,但在节点间的数据分布需要在代码中处理。
- Azure Databricks 通过其 RDDs 设计用于处理分布在多个节点上的数据。当你的数据量巨大时,这非常有优势。如果数据量较小,且能在一个扩展后的单机上处理/你使用的是 pandas 数据框,那么使用 Azure Databricks 就有些大材小用了
-
数据清理:Databricks 可以原生支持多种文件格式,查询和清理大型数据集非常容易,而在 AzureML 笔记本中这些需要定制处理。虽然这可以在 aml 笔记本上完成,但清理和写入存储需要单独处理。
- 训练:两者都具备分布式训练的能力,Databricks 提供了内置的机器学习算法,可以在该节点上的数据块上操作,并与其他节点协调。虽然这在 AzureMachineLearning 和 Databricks 上都可以通过 tf、horovod 等实现,
总的来说(仅代表个人观点),如果数据集较小,aml 笔记本就很好。如果数据量巨大,那么 Azure Databricks 在数据清理和格式转换方面更容易。然后训练可以在 AML 或 Databricks 上进行。尽管 Databricks 有一定的学习曲线,而 Azure ML 使用 Python 和 pandas 会更简单。
谢谢。