Databricks Runtime 5.2 ML (bêta)

Databricks a publié cette image en janvier 2019.

Databricks Runtime 5.2 ML fournit un environnement prêt à l’emploi pour le Machine Learning et la science des données basé sur Databricks Runtime 5.2 (sans support). Databricks Runtime for ML contient de nombreuses bibliothèques d’apprentissage automatique populaires, notamment TensorFlow, PyTorch, Keras et XGBoost. Il prend également en charge l’entraînement TensorFlow distribué avec Horovod.

Pour plus d’informations, notamment les instructions relatives à la création d’un cluster Databricks Runtime ML, consultez Databricks Runtime pour le Machine Learning.

Nouvelles fonctionnalités

Databricks Runtime 5.2 ML s’appuie sur Databricks Runtime 5.2. Pour plus d’informations sur les nouveautés de Databricks Runtime 5.2, consultez les notes de publication Databricks Runtime 5.2 (sans support). En plus des mises à jour de bibliothèque, Databricks Runtime 5.2 ML introduit les nouvelles fonctionnalités suivantes :

  • GraphFrames prend désormais en charge l’API Pregel (Python) avec les optimisations de performances de Databricks.
  • HorovodRunner ajoute :
    • Sur un cluster GPU, les processus de formation sont mappés à des GPU plutôt qu’à des nœuds Worker afin de simplifier la prise en charge des types d’instance à plusieurs GPU. Cette prise en charge intégrée vous permet de distribuer à tous les GPU d’un ordinateur à plusieurs GPU sans code personnalisé.
    • HorovodRunner.run() renvoie désormais la valeur renvoyée du premier processus de formation.

Notes

Les versions de Databricks Runtime ML récupèrent toutes les mises à jour de maintenance de la version de base de Databricks Runtime. Pour obtenir la liste de toutes les mises à jour de maintenance, consultez Mises à jour de maintenance de Databricks Runtime.

Environnement du système

L’environnement système de Databricks Runtime 5.2 ML diffère de celui de Databricks Runtime 5.2 comme suit :

  • Python : 2.7.15 pour les clusters Python 2 et 3.6.5 pour les clusters Python 3.
  • DBUtils : Databricks Runtime 5.2 ML n’inclut pas l’utilitaire de bibliothèque (dbutils.library).
  • Pour des clusters GPU, les bibliothèques GPU NVIDIA suivantes :
    • Pilote Tesla 396.44
    • CUDA 9.2
    • CUDNN 7.2.1

Bibliothèques

Les sections suivantes répertorient les bibliothèques incluses dans Databricks Runtime 5.2 ML qui diffèrent de celles incluses dans Databricks Runtime 5.2.

Bibliothèques Python

Databricks Runtime 5.2 ML utilise Conda pour la gestion des packages Python. Par conséquent, il existe des différences majeures dans les bibliothèques python préinstallées par rapport à Databricks Runtime. Voici une liste complète des paquets Python fournis et des versions installées à l’aide du gestionnaire de paquets Conda.

Bibliothèque Version Bibliothèque Version Bibliothèque Version
absl-py 0.6.1 argparse 1.4.0 asn1crypto 0.24.0
astor 0.7.1 backports-abc 0.5 backports.functools-lru-cache 1.5
backports.weakref 1.0.post1 bcrypt 3.1.5 bleach 2.1.3
boto 2.48.0 boto3 1.7.62 botocore 1.10.62
certifi 2018.04.16 cffi 1.11.5 chardet 3.0.4
cloudpickle 0.5.3 colorama 0.3.9 configparser 3.5.0
chiffrement 2.2.2 cycler 0.10.0 Cython 0.28.2
decorator 4.3.0 docutils 0.14 entrypoints 0.2.3
enum34 1.1.6 et-xmlfile 1.0.1 funcsigs 1.0.2
functools32 3.2.3-2 fusepy 2.0.4 tâches futures 3.2.0
gast 0.2.0 grpcio 1.12.1 h5py 2.8.0
horovod 0.15.2 html5lib 1.0.1 idna 2.6
ipaddress 1.0.22 ipython 5.7.0 ipython_genutils 0.2.0
jdcal 1.4 Jinja2 2.10 jmespath 0.9.3
jsonschema 2.6.0 jupyter-client 5.2.3 jupyter-core 4.4.0
Keras 2.2.4 Keras-Applications 1.0.6 Keras-Preprocessing 1.0.5
kiwisolver 1.0.1 linecache2 1.0.0 llvmlite 0.23.1
lxml 4.2.1 Markdown 3.0.1 MarkupSafe 1.0
matplotlib 2.2.2 mistune 0.8.3 mleap 0.8.1
mock 2.0.0 msgpack 0.5.6 nbconvert 5.3.1
nbformat 4.4.0 nose 1.3.7 nose-exclude 0.5.0
numba 0.38.0+0.g2a2b772fc.dirty numpy 1.14.3 olefile 0.45.1
openpyxl 2.5.3 pandas 0.23.0 pandocfilters 1.4.2
paramiko 2.4.1 pathlib2 2.3.2 patsy 0.5.0
pbr 5.1.1 pexpect 4.5.0 pickleshare 0.7.4
Pillow 5.1.0 pip 10.0.1 ply 3.11
prompt-toolkit 1.0.15 protobuf 3.6.1 psycopg2 2.7.5
ptyprocess 0.5.2 pyarrow 0.8.0 pyasn1 0.4.4
pycparser 2.18 Pygments 2.2.0 PyNaCl 1.3.0
pyOpenSSL 18.0.0 pyparsing 2.2.0 PySocks 1.6.8
Python 2.7.15 python-dateutil 2.7.3 pytz 2018.4
PyYAML 3,12 pyzmq 17.0.0 requêtes 2.18.4
s3transfer 0.1.13 scandir 1.7 scikit-learn 0.19.1
scipy 1.1.0 seaborn 0.8.1 setuptools 39.1.0
simplegeneric 0.8.1 singledispatch 3.4.0.3 six 1.11.0
statsmodels 0.9.0 subprocess32 3.5.3 tensorboard 1.12.2
tensorboardX 1.4 tensorflow 1.12.0 termcolor 1.1.0
testpath 0.3.1 torch 0.4.1 torchvision 0.2.1
tornado 5.0.2 traceback2 1.4.0 traitlets 4.3.2
unittest2 1.1.0 urllib3 1,22 virtualenv 16.0.0
wcwidth 0.1.7 webencodings 0.5.1 Werkzeug 0.14.1
wheel 0.31.1 wrapt 1.10.11 wsgiref 0.1.2

En outre, les packages Spark suivants incluent des modules Python :

Package Spark Module Python Version
graphframes graphframes 0.7.0-db1-spark2.4
spark-deep-learning sparkdl 1.5.0-db1-spark2.4
tensorframes tensorframes 0.6.0-s_2.11

Bibliothèques R

Les bibliothèques R sont identiques aux bibliothèques R dans Databricks Runtime 5.2.

Bibliothèques Java et Scala (cluster Scala 2.11)

En plus des bibliothèques Java et Scala dans Databricks Runtime 5.2, Databricks Runtime 5.2 ML contient les fichiers JAR suivants :

ID de groupe ID d’artefact Version
com.databricks spark-deep-learning 1.5.0-db1-spark2.4
com.typesafe.akka akka-actor_2.11 2.3.11
ml.combust.mleap mleap-databricks-runtime_2.11 0.13.0
ml.dmlc xgboost4j 0.81
ml.dmlc xgboost4j-spark 0.81
org.graphframes graphframes_2.11 0.7.0-db1-spark2.4
org.tensorflow libtensorflow 1.12.0
org.tensorflow libtensorflow_jni 1.12.0
org.tensorflow spark-tensorflow-connector_2.11 1.12.0
org.tensorflow tensorflow 1.12.0
org.tensorframes tensorframes 0.6.0-s_2.11