Databricks Runtime 9.1 LTS pour le Machine Learning

Databricks a publié cette image et lui a attribué le statut Support à long terme (LTS) en septembre 2021.

Databricks Runtime 9.1 LTS pour le Machine Learning fournit un environnement prêt à l’emploi pour le Machine Learning et la science des données basé sur Databricks Runtime 9.1 LTS. Databricks Runtime ML contient de nombreuses bibliothèques populaires de Machine Learning, notamment TensorFlow, PyTorch et XGBoost. Databricks Runtime ML comprend AutoML, un outil permettant d’effectuer l’apprentissage automatique des pipelines Machine Learning. Databricks Runtime ML prend également en charge l'apprentissage profond distribué à l'aide d'Horovod.

Notes

LTS (Long Term Support) signifie que cette version bénéficie d’un support à long terme. Consultez Cycle de vie de la version de Databricks Runtime LTS.

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

Conseil

Pour afficher les notes de publication des versions de Databricks Runtime qui ont atteint la fin du support (EoS), consultez Fin de support des notes de publication des versions de Databricks Runtime. Les versions EoS de Databricks Runtime ont été supprimées et peuvent ne pas être mises à jour.

Améliorations et nouvelles fonctionnalités

AutoML

Les améliorations suivantes sont disponibles dans Databricks Runtime 9.1 LTS ML et versions ultérieures.

AutoML prend en charge les jeux de données volumineux par échantillonnage

AutoML échantillonne désormais les jeux de données susceptibles de dépasser les contraintes de mémoire, ce qui lui permet de s’exécuter sur des jeux de données plus importants avec moins de risques d’erreurs de mémoire insuffisante. Pour plus d’informations, consultez Échantillonnage de jeux de données volumineux.

AutoML prétraite les colonnes en fonction du type de sémantique

AutoML détecte certaines colonnes dont le type de sémantique diffère de leur type de données Spark ou pandas. AutoML convertit et applique ensuite des étapes de prétraitement des données en fonction du type sémantique détecté. Plus précisément, AutoML effectue les conversions suivantes :

  • Les colonnes de type STRING et INTEGER qui représentent des données de type DATE ou TIMESTAMP sont converties en type TIMESTAMP.
  • Les colonnes de type STRING qui représentent des données numériques sont converties en un type numérique.

Améliorations apportées aux notebooks générés par AutoML

Les étapes de prétraitement pour les colonnes de type DATE et TIMESTAMP sont désormais incorporées dans le package databricks-automl-runtime, ce qui simplifie les notebooks générés par la formation AutoML. databricks-automl-runtime est inclus dans Databricks Runtime 9.1 LTS ML et versions ultérieures et est également disponible sur PyPI.

Magasin de fonctionnalités

Les améliorations suivantes sont disponibles dans Databricks Runtime 9.1 LTS ML et versions ultérieures.

  • Lorsque vous créez un TrainingSet, vous pouvez désormais définir label=None pour prendre en charge les applications d’apprentissage non supervisé.
  • Vous pouvez maintenant spécifier plusieurs fonctionnalités dans un seul FeatureLookup.
  • Vous pouvez maintenant spécifier un chemin d’accès personnalisé pour les tables de fonctionnalités. Utilisez le paramètre path dans create_feature_table(). La valeur par défaut est l’emplacement de la base de données.
  • Nouveaux types de données PySpark pris en charge : ArrayType et ShortType.

Mlflow

Les améliorations suivantes sont disponibles à partir de la version 1.20.2 de Mlflow, qui est incluse dans Databricks Runtime 9.1 LTS ML.

  • La journalisation automatique pour scikit-learn enregistre désormais les métriques post-formation chaque fois qu’une API d’évaluation scikit-learn, telle que sklearn.metrics.mean_squared_error, est appelée.
  • La journalisation automatique pour PySpark ML enregistre désormais les métriques post-formation chaque fois qu’une API d’évaluation de modèle, telle que Evaluator.evaluate(), est appelée.
  • mlflow.*.log_model et mlflow.*.save_model ont maintenant des arguments pip_requirements et extra_pip_requirements afin que vous puissiez spécifier directement les exigences pip du modèle à enregistrer ou à sauvegarder.
  • mlflow.*.log_model et mlflow.*.save_model déduisent maintenant automatiquement les exigences pip du modèle à enregistrer ou à sauvegarder en fonction de l’environnement logiciel actuel.
  • Les entrées stdMetrics sont maintenant enregistrées comme métriques de formation pendant la journalisation automatique de PySpark CrossValidator.
  • La journalisation automatique de PyTorch Lightning prend désormais en charge l’exécution distribuée.

Databricks Autologging (Préversion publique)

La Préversion publique de Databricks Autologging a été étendue à de nouvelles régions. Databricks Autologging est une solution sans code qui assure le suivi automatique des expériences pour les sessions de formation d'apprentissage automatique sur Azure Databricks. Avec Databricks Autologging, les paramètres des modèles, les métriques, les fichiers et les informations de lignage sont automatiquement capturés lorsque vous formez des modèles à partir d'une variété de bibliothèques d'apprentissage automatique populaires. Les sessions de formation sont enregistrées en tant qu’exécutions de suivi MLflow. Les fichiers de modèle sont également suivis afin que vous puissiez facilement les enregistrer dans le registre de modèles MLflow et les déployer pour un scoring en temps réel avec MLflow Model Serving.

Pour plus d’informations sur Databricks Autologging, consultez Databricks Autologging.

Changements importants apportés à l’environnement Python de Databricks Runtime ML

Mise à niveau des packages Python

  • automl 1.1.1 => 1.2.1
  • feature_store 0.3.3 => 0.3.4.1
  • holidays 0.10.5.2 => 0.11.2
  • keras 2.5.0 => 2.6.0
  • mlflow 1.19.0 => 1.20.2
  • petastorm 0.11.1 => 0.11.2
  • plotly 4.14.3 => 5.1.0
  • spark-tensorflow-distributor 0.1.0 => 1.0.0
  • sparkdl 2.2.0_db1 => 2.2.0_db3
  • tensorboard 2.5.0 => 2.6.0
  • tensorflow 2.5.0 => 2.6.0

Ajout de packages Python

  • databricks-automl-runtime 0.1.0

Environnement du système

L’environnement système de Databricks Runtime 9.1 LTS ML diffère de Databricks Runtime 9.1 LTS comme suit :

Bibliothèques

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

Dans cette section :

Bibliothèques de niveau supérieur

Databricks Runtime 9.1 LTS ML comprend les bibliothèquesde niveau supérieur suivantes :

Bibliothèques Python

Databricks Runtime 9.1 LTS ML utilise Virtualenv pour la gestion des packages Python et comprend de nombreux packages de ML populaires.

En plus des packages spécifiés dans les sections suivantes, Databricks Runtime 9.1 LTS ML comprend également les packages suivants :

  • hyperopt 0.2.5.db2
  • sparkdl 2.2.0_db3
  • feature_store 0.3.4.1
  • automl 1.2.1

Bibliothèques Python sur les clusters UC

Bibliothèque Version Bibliothèque Version Bibliothèque Version
absl-py 0.11.0 Antergos Linux 2015.10 (ISO-Rolling) appdirs 1.4.4
argon2-cffi 20.1.0 astor 0.8.1 astunparse 1.6.3
async-generator 1,10 attrs 20.3.0 backcall 0.2.0
bcrypt 3.2.0 bleach 3.3.0 boto3 1.16.7
botocore 1.19.7 Bottleneck 1.3.2 cachetools 4.2.2
certifi 2020.12.5 cffi 1.14.5 chardet 4.0.0
clang 5.0 click 7.1.2 cloudpickle 1.6.0
cmdstanpy 0.9.68 configparser 5.0.1 convertdate 2.3.2
chiffrement 3.4.7 cycler 0.10.0 Cython 0.29.23
databricks-automl-runtime 0.1.0 databricks-cli 0.14.3 dbus-python 1.2.16
decorator 5.0.6 defusedxml 0.7.1 dill 0.3.2
diskcache 5.2.1 distlib 0.3.2 distro-info 0.23ubuntu1
entrypoints 0.3 ephem 4.0.0.2 facets-overview 1.0.0
filelock 3.0.12 Flask 1.1.2 flatbuffers 1.12
fsspec 0.9.0 future 0.18.2 gast 0.4.0
gitdb 4.0.7 GitPython 3.1.12 google-auth 1.22.1
google-auth-oauthlib 0.4.2 google-pasta 0.2.0 grpcio 1.39.0
gunicorn 20.0.4 h5py 3.1.0 hijri-converter 2.2.1
holidays 0.11.2 horovod 0.22.1 htmlmin 0.1.12
idna 2.10 ImageHash 4.2.1 importlib-metadata 3.10.0
ipykernel 5.3.4 ipython 7.22.0 ipython-genutils 0.2.0
ipywidgets 7.6.3 isodate 0.6.0 itsdangerous 1.1.0
jedi 0.17.2 Jinja2 2.11.3 jmespath 0.10.0
joblib 1.0.1 joblibspark 0.3.0 jsonschema 3.2.0
jupyter-client 6.1.12 jupyter-core 4.7.1 jupyterlab-pygments 0.1.2
jupyterlab-widgets 1.0.0 keras 2.6.0 Keras-Preprocessing 1.1.2
kiwisolver 1.3.1 koalas 1.8.1 korean-lunar-calendar 0.2.1
lightgbm 3.1.1 llvmlite 0.37.0 LunarCalendar 0.0.9
Mako 1.1.3 Markdown 3.3.3 MarkupSafe 1.1.1
matplotlib 3.4.2 missingno 0.5.0 mistune 0.8.4
mleap 0.17.0 mlflow-skinny 1.20.2 multimethod 1.4
nbclient 0.5.3 nbconvert 6.0.7 nbformat 5.1.3
nest-asyncio 1.5.1 networkx 2.5 nltk 3.6.1
notebook 6.3.0 numba 0.54.0 numpy 1.19.2
oauthlib 3.1.0 opt-einsum 3.3.0 empaquetage 20.9
pandas 1.2.4 pandas-profiling 3.0.0 pandocfilters 1.4.3
paramiko 2.7.2 parso 0.7.0 patsy 0.5.1
petastorm 0.11.2 pexpect 4.8.0 phik 0.12.0
pickleshare 0.7.5 Pillow 8.2.0 pip 21.0.1
plotly 5.1.0 prometheus-client 0.10.1 prompt-toolkit 3.0.17
prophet 1.0.1 protobuf 3.17.2 psutil 5.8.0
psycopg2 2.8.5 ptyprocess 0.7.0 pyarrow 4.0.0
pyasn1 0.4.8 pyasn1-modules 0.2.8 pycparser 2.20
pydantic 1.8.2 Pygments 2.8.1 PyGObject 3.36.0
PyMeeus 0.5.11 PyNaCl 1.3.0 pyodbc 4.0.30
pyparsing 2.4.7 pyrsistent 0.17.3 pystan 2.19.1.1
python-apt 2.0.0+ubuntu0.20.4.6 python-dateutil 2.8.1 python-editor 1.0.4
pytz 2020.5 PyWavelets 1.1.1 PyYAML 5.4.1
pyzmq 20.0.0 regex 2021.4.4 requêtes 2.25.1
requests-oauthlib 1.3.0 requests-unixsocket 0.2.0 rsa 4.7.2
s3transfer 0.3.7 scikit-learn 0.24.1 scipy 1.6.2
seaborn 0.11.1 Send2Trash 1.5.0 setuptools 52.0.0
setuptools-git 1.2 shap 0.39.0 simplejson 3.17.2
six 1.15.0 segment 0.0.7 smmap 3.0.5
spark-tensorflow-distributor 1.0.0 sqlparse 0.4.1 ssh-import-id 5.10
statsmodels 0.12.2 tabulate 0.8.7 tangled-up-in-unicode 0.1.0
tenacity 6.2.0 tensorboard 2.6.0 tensorboard-data-server 0.6.1
tensorboard-plugin-wit 1.8.0 tensorflow-cpu 2.6.0 tensorflow-estimator 2.6.0
termcolor 1.1.0 terminado 0.9.4 testpath 0.4.4
threadpoolctl 2.1.0 torch 1.9.0+cpu torchvision 0.10.0+cpu
tornado 6.1 tqdm 4.59.0 traitlets 5.0.5
typing-extensions 3.7.4.3 ujson 4.0.2 unattended-upgrades 0.1
urllib3 1.25.11 virtualenv 20.4.1 visions 0.7.1
wcwidth 0.2.5 webencodings 0.5.1 websocket-client 0.57.0
Werkzeug 1.0.1 wheel 0.36.2 widgetsnbextension 3.5.1
wrapt 1.12.1 xgboost 1.4.2 zipp 3.4.1

Bibliothèques Python sur les clusters GPU

Bibliothèque Version Bibliothèque Version Bibliothèque Version
absl-py 0.11.0 Antergos Linux 2015.10 (ISO-Rolling) appdirs 1.4.4
argon2-cffi 20.1.0 astor 0.8.1 astunparse 1.6.3
async-generator 1,10 attrs 20.3.0 backcall 0.2.0
bcrypt 3.2.0 bleach 3.3.0 boto3 1.16.7
botocore 1.19.7 Bottleneck 1.3.2 cachetools 4.2.2
certifi 2020.12.5 cffi 1.14.5 chardet 4.0.0
clang 5.0 click 7.1.2 cloudpickle 1.6.0
cmdstanpy 0.9.68 configparser 5.0.1 convertdate 2.3.2
chiffrement 3.4.7 cycler 0.10.0 Cython 0.29.23
databricks-automl-runtime 0.1.0 databricks-cli 0.14.3 dbus-python 1.2.16
decorator 5.0.6 defusedxml 0.7.1 dill 0.3.2
diskcache 5.2.1 distlib 0.3.2 distro-info 0.23ubuntu1
entrypoints 0.3 ephem 4.0.0.2 facets-overview 1.0.0
filelock 3.0.12 Flask 1.1.2 flatbuffers 1.12
fsspec 0.9.0 future 0.18.2 gast 0.4.0
gitdb 4.0.7 GitPython 3.1.12 google-auth 1.22.1
google-auth-oauthlib 0.4.2 google-pasta 0.2.0 grpcio 1.39.0
gunicorn 20.0.4 h5py 3.1.0 hijri-converter 2.2.1
holidays 0.11.2 horovod 0.22.1 htmlmin 0.1.12
idna 2.10 ImageHash 4.2.1 importlib-metadata 3.10.0
ipykernel 5.3.4 ipython 7.22.0 ipython-genutils 0.2.0
ipywidgets 7.6.3 isodate 0.6.0 itsdangerous 1.1.0
jedi 0.17.2 Jinja2 2.11.3 jmespath 0.10.0
joblib 1.0.1 joblibspark 0.3.0 jsonschema 3.2.0
jupyter-client 6.1.12 jupyter-core 4.7.1 jupyterlab-pygments 0.1.2
jupyterlab-widgets 1.0.0 keras 2.6.0 Keras-Preprocessing 1.1.2
kiwisolver 1.3.1 koalas 1.8.1 korean-lunar-calendar 0.2.1
lightgbm 3.1.1 llvmlite 0.37.0 LunarCalendar 0.0.9
Mako 1.1.3 Markdown 3.3.3 MarkupSafe 1.1.1
matplotlib 3.4.2 missingno 0.5.0 mistune 0.8.4
mleap 0.17.0 mlflow-skinny 1.20.2 multimethod 1.4
nbclient 0.5.3 nbconvert 6.0.7 nbformat 5.1.3
nest-asyncio 1.5.1 networkx 2.5 nltk 3.6.1
notebook 6.3.0 numba 0.54.0 numpy 1.19.2
oauthlib 3.1.0 opt-einsum 3.3.0 empaquetage 20.9
pandas 1.2.4 pandas-profiling 3.0.0 pandocfilters 1.4.3
paramiko 2.7.2 parso 0.7.0 patsy 0.5.1
petastorm 0.11.2 pexpect 4.8.0 phik 0.12.0
pickleshare 0.7.5 Pillow 8.2.0 pip 21.0.1
plotly 5.1.0 prompt-toolkit 3.0.17 prophet 1.0.1
protobuf 3.17.2 psutil 5.8.0 psycopg2 2.8.5
ptyprocess 0.7.0 pyarrow 4.0.0 pyasn1 0.4.8
pyasn1-modules 0.2.8 pycparser 2.20 pydantic 1.8.2
Pygments 2.8.1 PyGObject 3.36.0 PyMeeus 0.5.11
PyNaCl 1.3.0 pyodbc 4.0.30 pyparsing 2.4.7
pyrsistent 0.17.3 pystan 2.19.1.1 python-apt 2.0.0+ubuntu0.20.4.6
python-dateutil 2.8.1 python-editor 1.0.4 pytz 2020.5
PyWavelets 1.1.1 PyYAML 5.4.1 pyzmq 20.0.0
regex 2021.4.4 requêtes 2.25.1 requests-oauthlib 1.3.0
requests-unixsocket 0.2.0 rsa 4.7.2 s3transfer 0.3.7
scikit-learn 0.24.1 scipy 1.6.2 seaborn 0.11.1
Send2Trash 1.5.0 setuptools 52.0.0 setuptools-git 1.2
shap 0.39.0 simplejson 3.17.2 six 1.15.0
segment 0.0.7 smmap 3.0.5 spark-tensorflow-distributor 1.0.0
sqlparse 0.4.1 ssh-import-id 5.10 statsmodels 0.12.2
tabulate 0.8.7 tangled-up-in-unicode 0.1.0 tenacity 6.2.0
tensorboard 2.6.0 tensorboard-data-server 0.6.1 tensorboard-plugin-wit 1.8.0
tensorflow 2.6.0 tensorflow-estimator 2.6.0 termcolor 1.1.0
terminado 0.9.4 testpath 0.4.4 threadpoolctl 2.1.0
torch 1.9.0+cu111 torchvision 0.10.0+cu111 tornado 6.1
tqdm 4.59.0 traitlets 5.0.5 typing-extensions 3.7.4.3
ujson 4.0.2 unattended-upgrades 0.1 urllib3 1.25.11
virtualenv 20.4.1 visions 0.7.1 wcwidth 0.2.5
webencodings 0.5.1 websocket-client 0.57.0 Werkzeug 1.0.1
wheel 0.36.2 widgetsnbextension 3.5.1 wrapt 1.12.1
xgboost 1.4.2 zipp 3.4.1

Packages Spark contenant des modules Python

Package Spark Module Python Version
graphframes graphframes 0.8.1-db3-spark3.1

Bibliothèques R

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

Bibliothèques Java et Scala (cluster Scala 2.12)

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

Clusters UC

ID de groupe ID d’artefact Version
com.typesafe.akka akka-actor_2.12 2.5.23
ml.combust.mleap mleap-databricks-runtime_2.12 0.17.0-4882dc3
ml.dmlc xgboost4j-spark_2.12 1.4.1
ml.dmlc xgboost4j_2.12 1.4.1
org.graphframes graphframes_2.12 0.8.1-db2-spark3.1
org.mlflow mlflow-client 1.20.2
org.mlflow mlflow-spark 1.20.2
org.scala-lang.modules scala-java8-compat_2.12 0.8.0
org.tensorflow spark-tensorflow-connector_2.12 1.15.0

Clusters GPU

ID de groupe ID d’artefact Version
com.typesafe.akka akka-actor_2.12 2.5.23
ml.combust.mleap mleap-databricks-runtime_2.12 0.17.0-4882dc3
ml.dmlc xgboost4j-gpu_2.12 1.4.1
ml.dmlc xgboost4j-spark-gpu_2.12 1.4.1
org.graphframes graphframes_2.12 0.8.1-db2-spark3.1
org.mlflow mlflow-client 1.20.2
org.mlflow mlflow-spark 1.20.2
org.scala-lang.modules scala-java8-compat_2.12 0.8.0
org.tensorflow spark-tensorflow-connector_2.12 1.15.0