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
danscreate_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
etmlflow.*.save_model
ont maintenant des argumentspip_requirements
etextra_pip_requirements
afin que vous puissiez spécifier directement les exigences pip du modèle à enregistrer ou à sauvegarder.mlflow.*.log_model
etmlflow.*.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 :
- DBUtils : Databricks Runtime ML n’inclut pas l’Utilitaire de bibliothèque (dbutils.library) (hérité).
Utilisez les commandes
%pip
à la place. Consultez Bibliothèques Python délimitées à un notebook. - Pour les clusters GPU, Databricks Runtime ML inclut les bibliothèques GPU NVIDIA suivantes :
- CUDA 11.0
- cuDNN 8.1.0.77
- NCCL 2.10.3
- TensorRT 7.2.2
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
- Bibliothèques Python
- Bibliothèques R
- Bibliothèques Java et Scala (cluster Scala 2.12)
Bibliothèques de niveau supérieur
Databricks Runtime 9.1 LTS ML comprend les bibliothèquesde niveau supérieur suivantes :
- AutoML
- GraphFrames
- Horovod et HorovodRunner
- MLflow
- PyTorch
- spark-tensorflow-connector
- TensorFlow
- TensorBoard
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 |