Databricks Runtime 9.1 LTS für Machine Learning
Databricks hat dieses Image veröffentlicht und im September 2021 als Long Term Support (LTS) deklariert.
Databricks Runtime 9.1 LTS für Machine Learning bietet eine sofort einsatzbereite Umgebung für maschinelles Lernen und Data Science basierend auf Databricks Runtime 9.1 LTS. Databricks Runtime ML enthält viele beliebte Machine Learning-Bibliotheken, einschließlich TensorFlow, PyTorch und XGBoost. Databricks Runtime ML enthält AutoML, ein Tool zum automatischen Trainieren von Machine Learning-Pipelines. Databricks Runtime ML unterstützt auch verteiltes Deep Learning-Training mit Horovod.
Hinweis
LTS bedeutet, dass diese Version langfristig unterstützt wird. Weitere Informationen finden Sie unter Databricks Runtime LTS-Versionslebenszyklus.
Weitere Informationen, einschließlich Anweisungen zum Erstellen eines Databricks Runtime ML-Clusters, finden Sie unter KI und Machine Learning in Databricks.
Tipp
Hinweise zu Databricks-Runtime-Versionen, die das Ende des Supports (EoS) erreicht haben, finden Sie unter Versionshinweise zu Databricks Runtime am Ende des Supports. Die EoS-Databricks-Runtime-Versionen wurden eingestellt und werden möglicherweise nicht aktualisiert.
Neue Features und Verbesserungen
AutoML
Die folgenden Verbesserungen sind in Databricks Runtime 9.1 LTS ML und höher verfügbar.
AutoML unterstützt durch Sampling größere Datasets
AutoML nutzt nun Sampling für Datasets, die Speicherbeschränkungen überschreiten könnten, was die Ausführung mit größeren Datasets bei geringerem Risiko für Arbeitsspeicherfehler ermöglicht. Ausführliche Informationen finden Sie unter Stichprobenentnahme großer Datasets.
AutoML verarbeitet Spalten vorab dem semantischen Typ entsprechend.
AutoML erkennt bestimmte Spalten mit einem semantischen Typ, der sich von ihrem Spark- oder Pandas-Datentyp unterscheidet. AutoML konvertiert dann Datenvorverarbeitungsschritte und wendet sie dem erkannten semantischen Typ entsprechend an. AutoML führt hierbei die folgenden Konvertierungen aus:
- Zeichenfolgen- und Integer-Spalten, die Datums- oder Zeitstempeldaten darstellen, werden in einen Zeitstempeltyp konvertiert.
- Zeichenfolgenspalten, die numerische Daten darstellen, werden in einen numerischen Typ konvertiert.
Verbesserungen an von autoML generierten Notebooks
Die Vorverarbeitungsschritte für Datums- und Zeitstempelspalten sind jetzt in das databricks-automl-runtime
-Paket integriert, was die durch AutoML-Training generierten Notebooks vereinfacht. databricks-automl-runtime
ist in Databricks Runtime 9.1 LTS ML und höher enthalten und auch auf PyPl verfügbar.
Featurespeicher
Die folgenden Verbesserungen sind in Databricks Runtime 9.1 LTS ML und höher verfügbar.
- Wenn Sie ein TrainingSet erstellen, können Sie jetzt
label=None
so festlegen, dass nicht überwachte Lernanwendungen unterstützt werden. - Sie können jetzt mehr als ein Feature in einem einzelnen
FeatureLookup
angeben. - Sie können jetzt einen benutzerdefinierten Pfad für Featuretabellen angeben. Verwenden Sie den
path
-Parameter increate_feature_table()
. Der Standardwert ist der Speicherort der Datenbank. - Neue unterstützte PySpark-Datentypen: ArrayType und ShortType.
Mlflow
Die folgenden Verbesserungen sind ab Mlflow, Version 1.20.2, verfügbar, die in Databricks Runtime 9.1 LTS ML enthalten ist.
- Die automatische Protokollierung für scikit-learn zeichnet jetzt nach dem Training Metriken auf, wenn eine scikit-learn-Auswertungs-API wie beispielsweise
sklearn.metrics.mean_squared_error
aufgerufen wird. - Die automatische Protokollierung für PySpark ML zeichnet jetzt nach dem Training Metriken, wenn eine Modellauswertungs-API wie beispielsweise
Evaluator.evaluate()
aufgerufen wird. mlflow.*.log_model
undmlflow.*.save_model
verfügen nun überpip_requirements
- undextra_pip_requirements
-Argumente, sodass Sie die pip-Anforderungen des Modells für Protokollierung und Speicherung direkt angeben können.mlflow.*.log_model
undmlflow.*.save_model
leiten jetzt automatisch die pip-Anforderungen des Modells ab, um entsprechend der aktuellen Softwareumgebung zu protokollieren oder zu speichern.stdMetrics
-Einträge werden jetzt während automatischem PySpark CrossValidator-Autologging als Trainingsmetriken aufgezeichnet.- PyTorch Lightning-Autologging unterstützt jetzt die verteilte Ausführung.
Automatische Databricks-Protokollierung (Public Preview)
Das Public Preview für die automatische Databricks-Protokollierung wurde auf neue Regionen ausgeweitet. Die automatische Databricks-Protokollierung ist eine Lösung ohne Programmieraufwand, die eine automatische Nachverfolgung von Experimenten für Machine Learning-Trainingssitzungen in Azure Databricks ermöglicht. Mithilfe der automatischen Databricks-Protokollierung werden Modellparameter, Metriken, Dateien und Informationen zur Herkunft automatisch erfasst, wenn Sie Modelle anhand einer Vielzahl beliebter Machine Learning-Bibliotheken trainieren. Trainingssitzungen werden als MLflow-Nachverfolgungsausführungen aufgezeichnet. Modelldateien werden auch nachverfolgt, sodass Sie sie problemlos in der MLflow-Modellregistrierung protokollieren und für die Bewertung in Echtzeit mithilfe der MLflow-Modellbereitstellung bereitstellen können.
Weitere Informationen zur automatischen Datenverarbeitung in Databricks finden Sie unter Automatische Databricks-Datenverarbeitung.
Wichtige Änderungen an der Databricks Runtime ML Python-Umgebung
Python-Pakete, die ein Upgrade erhalten haben
- 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
Hinzugefügte Python-Pakete
- databricks-automl-runtime 0.1.0
Systemumgebung
Die Systemumgebung in Databricks Runtime 9.1 LTS ML unterscheidet sich wie folgt von Databricks Runtime 9.1 LTS:
- DBUtils: Databricks Runtime ML enthält kein Bibliothekshilfsprogramm (dbutils.library) (Legacy).
Verwenden Sie stattdessen
%pip
-Befehle. Informationen finden Sie unter Python-Bibliotheken im Notebook-Bereich. - Für GPU-Cluster umfasst Databricks Runtime ML die folgenden NVIDIA-GPU-Bibliotheken:
- CUDA 11.0
- cuDNN 8.1.0.77
- NCCL 2.10.3
- TensorRT 7.2.2
Bibliotheken
In den folgenden Abschnitten sind die Bibliotheken aufgelistet, die in Databricks Runtime 9.1 LTS ML enthalten sind und sich von den in Databricks Runtime 9.1 LTS enthaltenen Bibliotheken unterscheiden.
Inhalt dieses Abschnitts:
- Bibliotheken der obersten Ebene
- Python-Bibliotheken
- R-Bibliotheken
- Java- und Scala-Bibliotheken (Scala 2.12-Cluster)
Bibliotheken der obersten Ebene
Databricks Runtime 9.1 LTS ML enthält die folgenden Bibliotheken der obersten Ebene:
- AutoML
- GraphFrames
- Horovod und HorovodRunner
- MLflow
- PyTorch
- spark-tensorflow-connector
- TensorFlow
- TensorBoard
Python-Bibliotheken
Databricks Runtime 9.1 LTS 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, umfasst Databricks Runtime 9.1 LTS ML auch die folgenden Pakete:
- hyperopt 0.2.5.db2
- sparkdl 2.2.0_db3
- feature_store 0.3.4.1
- automl 1.2.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 | 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 | 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 | 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 | Packen | 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 | requests | 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 |
sechs | 1.15.0 | slicer | 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 | Visionen | 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 |
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 | 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 | 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 | 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 | Packen | 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 | requests | 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 | sechs | 1.15.0 |
slicer | 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 | Visionen | 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 |
Spark-Pakete mit Python-Modulen
Spark-Paket | Python-Modul | Version |
---|---|---|
graphframes | graphframes | 0.8.1-db3-spark3.1 |
R-Bibliotheken
Die R-Bibliotheken sind mit den R-Bibliotheken in Databricks Runtime 9.1 LTS identisch.
Java- und Scala-Bibliotheken (Scala 2.12-Cluster)
Zusätzlich zu Java- und Scala-Bibliotheken in Databricks Runtime 9.1 LTS enthält Databricks Runtime 9.1 LTS 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-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 |
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.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 |