工程的博客

介绍Databricks运行时5.0机器学习

2018年11月27日 工程的博客

分享这篇文章

六个月前介绍了用于机器学习的Databricks运行时其目标是使机器学习在Databricks统一分析平台上表现得更好,更容易。bob体育亚洲版bob体育客户端下载Databricks用于ML的运行时预先打包了许多ML框架,并支持分布式训练和推理。今天,我们很兴奋地发布了包含Conda支持的第二迭代,TensorFlow的最新版本,用于分布式深度学习的HorovodRunner APIGraphframes和MLlib的训练和性能优化。

我们的客户对Databricks Runtime for ML的第一个实验版本4.1的兴奋和接受程度超出了我们的预期。这鼓励我们将运行时移到常规的生产节奏。从Runtime 5.0开始,我们将在每个新的DBR版本(包括主要框架的最新稳定版本,如TensorFlow)中发布一个新的ML运行时。

这个5.0版本可用于所有Databricks层,包括Community Edition。您可以在我们的网站上找到包含的库列表发布说明,最引人注目的是我们用于分布式深度学习训练的新APIHorovodRunner.此外,我们还将介绍数据科学家和机器学习工程师所依赖的几个关键改进。

Conda托管运行时

Databricks Runtime 5.0 for ML是我们使用Conda进行Python包管理的第一个版本。所有Python包都安装在一个环境中。我们的库管理人员将在这个相同的环境中安装Egg和PyPi包。

这是我们迈向更有利于数据科学家的环境的第一步。我们将使用Conda添加更多的特性,并使其作为ML运行时的包管理器更加突出。你可以在集群初始化脚本或笔记本中找到使用Conda的说明在这里

升级Tensorflow

此版本将Tensorflow升级为版本1.10.在GPU集群上,客户将拥有cuda优化的版本,在标准实例上,我们提供了利用该版本的包英特尔MKL-DNN在英特尔cpu上实现数值计算的最大性能。还提供了Keras 2.2.4版。

优化训练算法

我们对Spark MLlib逻辑回归和树分类器(Databricks客户最常用的估计器)进行了性能改进。我们观察到~40%的加速火花性能测试与Apache Spark 2.4.0相比。您可以利用Databricks Runtime 5.0和Databricks Runtime 5.0 ML上的性能改进。

与Runtime 5.0 ML绑定的GraphFrames库包含一个优化的连接组件实现。现在它的运行速度快了2-4倍,并且支持更大的图形。图查询将利用Spark基于成本优化(CBO)如果基础节点和边缘表包含列统计信息,则确定连接顺序。这可能导致100倍的加速,具体取决于您的工作负载和数据倾斜。

流行的ML包

我们包括来自Apache Spark和Tensorflow生态系统的其他几个流行机器学习库的最新稳定版本。

  • XGBoost v0.80
  • GraphFrames v0.6.0-db1
  • MLeap v0.13.0
  • TensorFrames v0.5.0
  • Spark Deep Learning v1.3.0-db1
免费试用Databricks
看到所有工程的博客的帖子