Partager via


Databricks Runtime 10.1 pour Machine Learning (non pris en charge)

Databricks Runtime 10.1 for Machine Learning fournit un environnement prêt à l’emploi pour l’apprentissage automatique et la science des données basés sur Databricks Runtime 10.1 (non pris en charge). Databricks Runtime ML contient de nombreuses bibliothèques populaires de Machine Learning, notamment TensorFlow, PyTorch et XGBoost. Il prend également en charge la formation de Deep Learning distribué avec Horovod.

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

Améliorations et nouvelles fonctionnalités

Databricks Runtime 10.1 ML s’appuie sur Databricks Runtime 10.1. Pour obtenir plus d’informations sur les nouveautés de Databricks Runtime 10.1, y compris Apache Spark MLlib et SparkR, consultez les notes de publication de Databricks Runtime 10.1 (non pris en charge).

Améliorations apportées à Databricks AutoML

Dans Databricks Runtime 10.1, Databricks AutoML inclut une détection de type sémantique améliorée, de nouvelles alertes pour d’éventuels problèmes de données survenant en cours d’apprentissage, de nouvelles fonctionnalités pour empêcher un surajustement des modèles, et la possibilité de fractionner le jeu de données d’entrée dans un ordre chronologique en jeux d’apprentissage, de validation et de test.

Détection de type sémantique supplémentaire

AutoML prend désormais en charge une détection de type sémantique supplémentaire :

  • Les colonnes numériques qui contiennent des étiquettes catégorielles sont traitées comme un type catégoriel.
  • Les colonnes de type chaîne qui contiennent du texte en anglais sont traitées comme une fonctionnalité de texte.

Vous pouvez désormais également ajouter des annotations pour spécifier un type de données de colonne. Pour plus d’informations, consultez Détection de type sémantique.

Alertes pour d’éventuels problèmes de données survenant en cours d’apprentissage

AutoML détecte et génère désormais des alertes pour d’éventuels problèmes liés au jeu de données. Les exemples d’alertes incluent des types de colonnes non pris en charge et des colonnes de cardinalité élevée. Ces alertes s’affichent dans la page d’expérience sous le nouvel onglet Alertes. Des informations supplémentaires sur les alertes sont incluses dans le notebook d’exploration de données. Pour plus d’informations, consultez Exécuter l’expérience et surveiller les résultats.

Réduction du surajustement de modèle

Deux nouvelles fonctionnalités réduisent le risque de surajustement d’un modèle lors de l’utilisation d’AutoML :

  • AutoML rend compte désormais de métriques de test en plus des métriques de validation et d’apprentissage.
  • AutoML utilise désormais un arrêt précoce. Il arrête les modèles de formation et de réglage si la métrique de validation ne s’améliore plus.

Fractionner le jeu de données dans un ordre chronologique en jeux d’apprentissage, de validation et de test

Pour les problèmes de classification et de régression, vous pouvez fractionner le jeu de données dans un ordre chronologique en jeux d’apprentissage, de validation et de test. Pour plus d’informations, consultez Fractionner des données en jeux d’entraînement/de validation/de test.

Améliorations apportées à Databricks Feature Store

Le magasin de composants Databricks prend désormais en charge des types de données supplémentaires pour les tables de composants : BinaryType, DecimalType et MapType.

Mlflow

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

  • [Modèles] Mise à niveau de la version de modèle fastai pour prendre en charge fastai v2 (2.4.1 et versions ultérieures).
  • [Modèles] Introduction d’une version de modèle mlflow.prophet pour les modèles de série chronologique Prophet.
  • [Scoring] Correction d’une erreur d’application de schéma qui convertit erronément les chaînes de type date en objets DateHeure.

Hyperopt

SparkTrials prend désormais en charge le early_stopping_fn paramètre pour fmin. Vous pouvez utiliser la fonction d’arrêt précoce pour spécifier les conditions dans lesquelles Hyperopt devrait arrêter un réglage d’hyperparamètre avant que le nombre maximal d’évaluations soit atteint. Par exemple, vous pouvez utiliser ce paramètre pour mettre fin au réglage si la fonction objective ne diminue plus. Pour plus d’informations, consultez fmin().

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

Mise à niveau des packages Python

  • automl 1.3.1 => 1.4.1
  • feature_store 0.3.4 => 0.3.5
  • holidays 0.11.2 => 0.11.3.1
  • horovod 0.22.1 => 0.23.0
  • hyperopt 0.2.5.db2 => 0.2.5.db4
  • imbalanced-learn 0.8.0 => 0.8.1
  • lightgbm 3.1.1 => 3.3.0
  • mlflow 1.20.2 => 1.21.0
  • petastorm 0.11.2 => 0.11.3
  • plotly 5.1.0 => 5.3.0
  • pytorch 1.9.0 => 1.9.1
  • spacy 3.1.2 => 3.1.3
  • sparkdl 2.2.0_db3 => 2.2.0_db4
  • torchvision 0.10.0 => 0.10.1
  • transformers 4.9.2 => 4.11.3

Ajout de packages Python

  • fasttext => 0.9.2
  • tensorboard-plugin-profile => 2.5.0

Dépréciations

Le suivi MLflow automatisé de MLlib est déconseillé sur des clusters exécutant Databricks Runtime 10.1 ML et versions ultérieures. À la place, utilisez la journalisation automatique MLflow PySpark ML en appelant la commande mlflow.pyspark.ml.autolog(). La journalisation est activée par défaut avec Databricks Autologging.

Environnement du système

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

Bibliothèques

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

Dans cette section :

Bibliothèques de niveau supérieur

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

Bibliothèques Python

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

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

  • hyperopt 0.2.5.db4
  • sparkdl 2.2.0.db4
  • feature_store 0.3.5
  • automl 1.4.0

Notes

Databricks Runtime 10.1 ML inclut scikit-learn version 0.24 au lieu de la version 1,0 en raison de problèmes d’incompatibilité. Le package scikit-learn interagit avec de nombreux autres packages dans Databricks Runtime 10.1 ML.

Vous pouvez opérer une mise à niveau vers scikit-learn version 1.0. Toutefois, Databricks ne prend pas en charge cette version.

Pour opérer la mise à niveau, utilisez des bibliothèques délimitées aux notebooks. À partir d’un notebook, exécutez %pip install --upgrade "scikit-learn>=1.0,<1.1" .

Une alternative consiste à utiliser ce script init de cluster :

#!/bin/bash

set -e

pip install --upgrade "scikit-learn>=1.0,<1.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 blis 0.7.4
boto3 1.16.7 botocore 1.19.7 cachetools 4.2.4
catalogue 2.0.6 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
cymem 2.0.5 Cython 0.29.23 databricks-automl-runtime 0.2.3
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.3 distro-info 0.23ubuntu1 entrypoints 0.3
ephem 4,1 facets-overview 1.0.0 fasttext 0.9.2
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 gviz-api 1.10.0 h5py 3.1.0
hijri-converter 2.2.2 holidays 0.11.3.1 horovod 0.23.0
htmlmin 0.1.12 huggingface-hub 0.0.19 idna 2.10
ImageHash 4.2.1 imbalanced-learn 0.8.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.2 korean-lunar-calendar 0.2.1
lightgbm 3.3.0 llvmlite 0.37.0 LunarCalendar 0.0.9
Mako 1.1.3 Markdown 3.3.3 MarkupSafe 2.0.1
matplotlib 3.4.2 missingno 0.5.0 mistune 0.8.4
mleap 0.18.1 mlflow-skinny 1.21.0 multimethod 1.6
murmurhash 1.0.5 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.1
numpy 1.19.2 oauthlib 3.1.0 opt-einsum 3.3.0
empaquetage 20.9 pandas 1.2.4 pandas-profiling 3.1.0
pandocfilters 1.4.3 paramiko 2.7.2 parso 0.7.0
pathy 0.6.0 patsy 0.5.1 petastorm 0.11.3
pexpect 4.8.0 phik 0.12.0 pickleshare 0.7.5
Pillow 8.2.0 pip 21.0.1 plotly 5.3.0
preshed 3.0.5 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 pybind11 2.8.0
pycparser 2.20 pydantic 1.8.2 Pygments 2.8.1
PyGObject 3.36.0 PyMeeus 0.5.11 PyNaCl 1.4.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 sacremoses 0.0.46
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 smart-open 5.2.0 smmap 3.0.5
spacy 3.1.3 spacy-legacy 3.0.8 spark-tensorflow-distributor 1.0.0
sqlparse 0.4.1 srsly 2.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-profile 2.5.0 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 thinc 8.0.9 threadpoolctl 2.1.0
générateurs de jetons 0.10.3 torch 1.9.1+cpu torchvision 0.10.1+cpu
tornado 6.1 tqdm 4.59.0 traitlets 5.0.5
transformateurs 4.11.3 typer 0.3.2 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.4 wasabi 0.8.2
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 blis 0.7.4
boto3 1.16.7 botocore 1.19.7 cachetools 4.2.4
catalogue 2.0.6 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
cymem 2.0.5 Cython 0.29.23 databricks-automl-runtime 0.2.3
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.3 distro-info 0.23ubuntu1 entrypoints 0.3
ephem 4,1 facets-overview 1.0.0 fasttext 0.9.2
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 gviz-api 1.10.0 h5py 3.1.0
hijri-converter 2.2.2 holidays 0.11.3.1 horovod 0.23.0
htmlmin 0.1.12 huggingface-hub 0.0.19 idna 2.10
ImageHash 4.2.1 imbalanced-learn 0.8.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.2 korean-lunar-calendar 0.2.1
lightgbm 3.3.0 llvmlite 0.37.0 LunarCalendar 0.0.9
Mako 1.1.3 Markdown 3.3.3 MarkupSafe 2.0.1
matplotlib 3.4.2 missingno 0.5.0 mistune 0.8.4
mleap 0.18.1 mlflow-skinny 1.21.0 multimethod 1.6
murmurhash 1.0.5 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.1
numpy 1.19.2 oauthlib 3.1.0 opt-einsum 3.3.0
empaquetage 20.9 pandas 1.2.4 pandas-profiling 3.1.0
pandocfilters 1.4.3 paramiko 2.7.2 parso 0.7.0
pathy 0.6.0 patsy 0.5.1 petastorm 0.11.3
pexpect 4.8.0 phik 0.12.0 pickleshare 0.7.5
Pillow 8.2.0 pip 21.0.1 plotly 5.3.0
preshed 3.0.5 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 pybind11 2.8.1 pycparser 2.20
pydantic 1.8.2 Pygments 2.8.1 PyGObject 3.36.0
PyMeeus 0.5.11 PyNaCl 1.4.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 sacremoses 0.0.46 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
smart-open 5.2.0 smmap 3.0.5 spacy 3.1.3
spacy-legacy 3.0.8 spark-tensorflow-distributor 1.0.0 sqlparse 0.4.1
srsly 2.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-profile 2.5.0
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
thinc 8.0.9 threadpoolctl 2.1.0 générateurs de jetons 0.10.3
torch 1.9.1+cu111 torchvision 0.10.1+cu111 tornado 6.1
tqdm 4.59.0 traitlets 5.0.5 transformateurs 4.11.3
typer 0.3.2 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.4 wasabi 0.8.2 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.2-db1-spark3.2

Bibliothèques R

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

Bibliothèques Java et Scala (cluster Scala 2.12)

En plus des bibliothèques Java et Scala dans Databricks Runtime 10.1, Databricks Runtime 10.1 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-db6-spark3.2
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.18.1-23eb1ef
ml.dmlc xgboost4j-gpu_2.12 1.4.1
ml.dmlc xgboost4j-spark-gpu_2.12 1.4.1-spark3.2
org.graphframes graphframes_2.12 0.8.2-db1-spark3.2
org.mlflow mlflow-client 1.21.0
org.mlflow mlflow-spark 1.21.0
org.scala-lang.modules scala-java8-compat_2.12 0.8.0
org.tensorflow spark-tensorflow-connector_2.12 1.15.0