Databricks Runtime 10.1 für ML (nicht unterstützt)

Databricks Runtime 10.1 für Machine Learning bietet eine sofort einsatzbereite Umgebung für maschinelles Lernen und Data Science auf Basis von Databricks Runtime 10.1 (nicht unterstützt). Databricks Runtime ML enthält viele beliebte Machine Learning-Bibliotheken, einschließlich TensorFlow, PyTorch und XGBoost. Zudem wird ein verteiltes Deep Learning-Training mit Horovod unterstützt.

Weitere Informationen, einschließlich Anweisungen zum Erstellen eines Databricks Runtime ML-Clusters, finden Sie unter KI und Machine Learning in Databricks.

Neue Features und Verbesserungen

Databricks Runtime 10.1 ML basiert auf Databricks Runtime 10.1. Informationen zu den Neuerungen in Databricks Runtime 10.1 (einschließlich Apache Spark MLlib und SparkR) finden Sie in den Versionshinweisen zu Databricks Runtime 10.1 (nicht unterstützt).

Verbesserungen an Databricks AutoML

In Databricks Runtime 10.1 enthält Databricks AutoML eine verbesserte semantische Typerkennung, neue Warnungen für potenzielle Datenprobleme während des Trainings, neue Funktionen zum Verhindern von Überanpassungsmodellen und die Möglichkeit, das Eingabedataset chronologisch in Trainings-, Validierungs- und Testsätze aufzuteilen.

Zusätzliche semantische Typerkennungen

AutoML unterstützt jetzt eine zusätzliche semantische Typerkennung:

  • Numerische Spalten, die kategorische Bezeichnungen enthalten, werden als kategorischer Typ behandelt.
  • Zeichenfolgenspalten, die englischen Text enthalten, werden als Text-Feature behandelt.

Sie können jetzt auch Anmerkungen hinzufügen, um einen Spaltendatentyp anzugeben. Weitere Informationen finden Sie unter Semantische Typerkennung.

Warnungen während des Trainings bei potenziellen Datenproblemen

AutoML erkennt jetzt potenzielle Probleme mit dem Dataset und generiert Warnungen für diese. Beispiele für Warnungen umfassen nicht unterstützte Spaltentypen und Spalten mit hoher Kardinalität. Diese Warnungen werden auf der Experiment-Seite auf der neuen Registerkarte Warnungen angezeigt. Weitere Informationen zu Warnungen finden Sie im Notizbuch zur Datenexploration. Weitere Informationen finden Sie unter Ausführen des Experiments und Überwachen der Ergebnisse.

Reduzierte Modellüberanpassung

Zwei neue Funktionen verringern die Wahrscheinlichkeit einer Überanpassung eines Modells bei Verwendung von AutoML:

  • AutoML meldet jetzt Testmetriken zusätzlich zu Validierungs- und Trainingsmetriken.
  • AutoML verwendet jetzt das frühzeitige Beenden. Das Training und die Optimierung von Modellen werden beendet, wenn sich die Validierungsmetrik nicht mehr verbessert.

Chronologisches Teilen des Datasets in Trainings-/Validierungs-/Testsätze

Bei Klassifizierungs- und Regressionsproblemen können Sie das Dataset chronologisch in Trainings-, Validierungs- und Testsätze aufteilen. Ausführliche Informationen finden Sie unter Aufteilen von Daten in Trainings-/Validierungs-/Testsätze.

Verbesserungen am Featurespeicher von Databricks

Databricks Feature Store unterstützt jetzt zusätzliche Datentypen für Featuretabellen: BinaryType, DecimalType und MapType.

Mlflow

Die folgenden Verbesserungen sind ab Mlflow, Version 1.21.0, verfügbar, die in Databricks Runtime 10.1 ML enthalten ist.

  • [Modelle] Aktualisieren Sie die fastai-Modellvariante, um fastai v2 (2.4.1 und höher) zu unterstützen.
  • [Modelle] Stellen Sie eine mlflow.prophet-Modellvariante für die Prophet-Zeitreihenmodelle vor.
  • [Bewertung] Beheben Sie einen Schemaerzwingungsfehler, der datumsähnliche Zeichenfolgen fälschlicherweise in datetime-Objekte umwandelt.

Hyperopt

SparkTrials unterstützt jetzt den early_stopping_fn-Parameter für fmin. Sie können die Funktion zum frühzeitigen Beenden verwenden, um Bedingungen festzulegen, unter denen Hyperopt die Optimierung der Hyperparameter beenden soll, bevor die maximale Anzahl von Auswertungen erreicht ist. Sie können diesen Parameter zum Beispiel verwenden, um die Optimierung zu beenden, wenn die Zielfunktion nicht mehr abnimmt. Weitere Informationen finden Sie unter fmin().

Wichtige Änderungen an der Databricks Runtime ML Python-Umgebung

Python-Pakete, die ein Upgrade erhalten haben

  • 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

Hinzugefügte Python-Pakete

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

Veraltete Funktionen

Die automatisierte MLflow-Nachverfolgung von MLlib ist auf Clustern, die Databricks Runtime 10.1 ML und höher ausführen, veraltet. Verwenden Sie stattdessen MLflow PySpark ML-Autologging, indem Sie mlflow.pyspark.ml.autolog() aufrufen. Die automatische Protokollierung ist mit Databricks Autologging standardmäßig aktiviert.

Systemumgebung

Die Systemumgebung der Databricks Runtime 10.1 ML unterscheidet sich wie folgt von der Databricks Runtime 10.1:

Bibliotheken

In den folgenden Abschnitten sind die Bibliotheken aufgelistet, die in Databricks Runtime 10.1 ML enthalten sind und sich von den in Databricks Runtime 10.1 enthaltenen Bibliotheken unterscheiden.

Inhalt dieses Abschnitts:

Bibliotheken der obersten Ebene

Databricks Runtime 10.1 ML enthält die folgenden Bibliotheken der obersten Ebene:

Python-Bibliotheken

Databricks Runtime 10.1 ML verwendet Virtualenv zur Verwaltung von Python-Paketen und enthält viele beliebte ML-Pakete.

Zusätzlich zu den Paketen, die in den folgenden Abschnitten aufgeführt sind, enthält Databricks Runtime 10.1 ML auch die folgenden Pakete:

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

Hinweis

Databricks Runtime 10.1 ML enthält aufgrund von Inkompatibilitätsproblemen scikit-learn Version 0.24 anstelle von Version 1.0. Das scikit-learn-Paket interagiert mit vielen anderen Paketen in Databricks Runtime 10.1 ML.

Sie können ein Upgrade auf scikit-learn Version 1.0 durchführen. Databricks unterstützt diese Version jedoch nicht.

Verwenden Sie für das Upgrade Bibliotheken im Notebookbereich. Führen Sie in einem Notebook %pip install --upgrade "scikit-learn>=1.0,<1.1" aus.

Eine Alternative ist die Verwendung dieses Clusterinitialisierungsskripts:

#!/bin/bash

set -e

pip install --upgrade "scikit-learn>=1.0,<1.1"

Python-Bibliotheken in CPU-Clustern

Bibliothek Version Bibliothek Version Bibliothek 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
Katalog 2.0.6 certifi 2020.12.5 cffi 1.14.5
chardet 4.0.0 clang 5.0 Klicken 7.1.2
cloudpickle 1.6.0 cmdstanpy 0.9.68 configparser 5.0.1
convertdate 2.3.2 cryptography 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
Packen 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
requests 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 sechs 1.15.0
slicer 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
tokenizers 0.10.3 torch 1.9.1+cpu torchvision 0.10.1+cpu
tornado 6.1 tqdm 4.59.0 traitlets 5.0.5
transformers 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 Visionen 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

Python-Bibliotheken für GPU-Cluster

Bibliothek Version Bibliothek Version Bibliothek 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
Katalog 2.0.6 certifi 2020.12.5 cffi 1.14.5
chardet 4.0.0 clang 5.0 Klicken 7.1.2
cloudpickle 1.6.0 cmdstanpy 0.9.68 configparser 5.0.1
convertdate 2.3.2 cryptography 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
Packen 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 requests 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 sechs 1.15.0 slicer 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 tokenizers 0.10.3
torch 1.9.1+cu111 torchvision 0.10.1+cu111 tornado 6.1
tqdm 4.59.0 traitlets 5.0.5 transformers 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
Visionen 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

Spark-Pakete mit Python-Modulen

Spark-Paket Python-Modul Version
graphframes graphframes 0.8.2-db1-spark3.2

R-Bibliotheken

Die R-Bibliotheken sind mit den R-Bibliotheken in Databricks Runtime 10.1 identisch.

Java- und Scala-Bibliotheken (Scala 2.12-Cluster)

Zusätzlich zu Java- und Scala-Bibliotheken in Databricks Runtime 10.1 enthält Databricks Runtime 10.1 ML die folgenden JAR-Dateien:

CPU-Cluster

Gruppen-ID Artefakt-ID 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

GPU-Cluster

Gruppen-ID Artefakt-ID 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