Databricks Runtime 9.0 para ML (EoS)
Observação
O suporte para esta versão do Databricks Runtime foi encerrado. Para obter a data de fim do suporte, consulte o Histórico de fim do suporte. Para todas as versões compatíveis do Databricks Runtime, consulte Versões e compatibilidade de notas sobre a versão do Databricks Runtime.
O Databricks lançou essa versão em agosto de 2021.
O Databricks Runtime 9.0 para Machine Learning fornece um ambiente de aprendizado de máquina e ciência de dados pronto para uso baseado no Databricks Runtime 9.0 (EoS). O Databricks Runtime ML contém muitas bibliotecas de machine learning populares, incluindo o TensorFlow, o PyTorch e o XGBoost. Ele também dá suporte ao treinamento de aprendizado profundo distribuído com o uso do Horovod.
Para obter mais informações, incluindo instruções para criar um cluster de ML do Databricks Runtime, confira IA e Machine Learning no Databricks.
Correção
Uma versão anterior dessas notas de versão declarava que o suporte para monitoramento de métricas de GPU de cluster com Ganglia foi desabilitado no Databricks Runtime 9.0 ML GPU. Isso era verdade para o Databricks Runtime 9.0 ML Beta, mas o problema foi corrigido com o Databricks Runtime 9.0 ML GA. A instrução foi removida.
Novos recursos e aprimoramentos
O Databricks Runtime 9.0 ML foi criado com base no Databricks Runtime 9.0. Para obter informações sobre as novidades no Databricks Runtime 9.0, incluindo Apache Spark MLlib e SparkR, confira as notas de versão do Databricks Runtime 9.0 (EoS).
Databricks Autologging (Versão Prévia Pública)
O Databricks Autologging agora está disponível para o Databricks Runtime 9.0 para Machine Learning em regiões selecionadas. O Databricks Autologging é uma solução sem código que fornece acompanhamento automático de experimentos para sessões de treinamento em aprendizado de máquina no Azure Databricks. Com o Databricks Autologging, parâmetros de modelos, métricas, arquivos e informações de linhagem são capturados automaticamente quando você treina modelos de várias bibliotecas de aprendizado de máquina populares. As sessões de treinamento são registradas como Execuções de Acompanhamento do MLflow. Os arquivos de modelo também são rastreados para que você possa registrá-los facilmente no Registro de Modelo do MLflow e implantá-los para pontuação em tempo real com o Serviço de Modelo do MLflow.
Para obter mais informações sobre o Databricks Autologging, consulte Databricks Autologging.
Aprimoramentos do Databricks Feature Store
O desempenho ao criar um conjunto de treinamento foi aprimorado. Foi minimizado o número de junções nas tabelas de recursos de origem.
A integração do XGBoost com o PySpark agora oferece suporte a clusters de GPU e treinamento distribuídos
Para obter detalhes, confira Usar o XGBoost no Azure Databricks.
Principais alterações no ambiente do Python para o Databricks Runtime ML
Os ambientes Conda, juntamente com o comando %conda, foram removidos. O Databricks Runtime 9.0 ML foi criado com pip
e virtualenv
.
Imagens personalizadas que usam ambientes baseados em Conda com Serviços de Contêiner do Databricks ainda terão suporte, mas não terão recursos de biblioteca no escopo do bloco de anotações. O Databricks recomenda o uso de ambientes baseados em virtualenv com Serviços de Contêiner do Databricks e %pip
para todas as bibliotecas no escopo do bloco de anotações.
Confira o Databricks Runtime 9.0 (EoS) para conhecer as principais alterações no ambiente do Python para o Databricks Runtime. Para ver uma lista completa dos pacotes do Python instalados e suas versões, confira Bibliotecas do Python.
Pacotes do Python atualizados
- mlflow 1.18.0 -> 1.19.0
- nltk 3.5 -> 3.6.1
Pacotes do Python adicionados
- prophet 1.0.1
Pacotes do Python removidos
- MKL
- azure-core
- azure-storage-blob
- msrest
- docker
- querystring-parser
- intel-openmp
Desativações e recursos sem suporte
- No Databricks Runtime 9.0 ML, o HorovodRunner não oferece suporte à configuração
np=0
, em quenp
é o número de processos paralelos a ser usado para o trabalho do Horovod. - O Databricks Runtime 9.0 ML inclui r-base 4.1.0 com o mecanismo gráfico R, versão 14. Não há suporte para esse recurso no RStudio Server versão 1.2.x.
nvprof
foi removido no Databricks Runtime 9.0 ML GPU.
Ambiente do sistema
O ambiente do sistema no Databricks Runtime 9.0 ML difere do Databricks Runtime 9.0 nestes pontos:
- DBUtils: O Databricks Runtime ML não inclui Utilitário de biblioteca (dbutils.library) (herdado).
Use os comandos
%pip
. Confira as bibliotecas Python no escopo do notebook. - Para clusters de GPU, o Databricks Runtime ML inclui as seguintes bibliotecas de GPU NVIDIA:
- CUDA 11.0
- cuDNN 8.1.0.77
- NCCL 2.10.3
- TensorRT 7.2.2
Bibliotecas
As seções a seguir listam as bibliotecas incluídas no Databricks Runtime 9.0 ML que diferem daquelas incluídas no Databricks Runtime 9.0.
Nesta seção:
- Bibliotecas de camada superior
- Bibliotecas do Python
- Bibliotecas do R
- Bibliotecas do Java e do Scala (cluster do Scala 2.12)
Bibliotecas de camada superior
O Databricks Runtime 9.0 ML inclui as seguintes bibliotecas de camada superior:
- GraphFrames
- Horovod e HorovodRunner
- MLflow
- PyTorch
- spark-tensorflow-connector
- TensorFlow
- TensorBoard
Bibliotecas do Python
O Databricks Runtime 9.0 ML usa o Virtualenv para gerenciamento de pacotes do Python e inclui muitos pacotes de ML bastante populares.
Além dos pacotes especificados nas seções a seguir, o Databricks Runtime 9.0 ML também inclui os seguintes pacotes:
- hyperopt 0.2.5.db2
- sparkdl 2.2.0_db1
- feature_store 0.3.3
- automl 1.1.1
Bibliotecas do Python em clusters de CPU
Biblioteca | Versão | Biblioteca | Versão | Biblioteca | Versão |
---|---|---|---|---|---|
absl-py | 0.11.0 | Antergos Linux | 2015.10 (atualização cumulativa de ISO) | 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 | Gargalo | 1.3.2 | cachetools | 4.2.2 |
certifi | 2020.12.5 | cffi | 1.14.5 | chardet | 4.0.0 |
clique | 7.1.2 | cloudpickle | 1.6.0 | cmdstanpy | 0.9.68 |
configparser | 5.0.1 | convertdate | 2.3.2 | criptografia | 3.4.7 |
cycler | 0.10.0 | Cython | 0.29.23 | 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.34.1 | gunicorn | 20.0.4 | h5py | 3.1.0 |
hijri-converter | 2.1.3 | holidays | 0.10.5.2 | horovod | 0.22.1 |
htmlmin | 0.1.12 | idna | 2.10 | ImageHash | 4.2.1 |
ipykernel | 5.3.4 | ipython | 7.22.0 | ipython-genutils | 0.2.0 |
ipywidgets | 7.6.4 | 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.1 | keras-nightly | 2.5.0.dev2021032900 | 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.36.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.19.0 | 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.53.1 | numpy | 1.19.2 |
oauthlib | 3.1.0 | opt-einsum | 3.3.0 | empacotando | 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.1 | pexpect | 4.8.0 | phik | 0.12.0 |
pickleshare | 0.7.5 | Pillow | 8.2.0 | pip | 21.0.1 |
plotly | 4.14.3 | 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 | solicitações | 2.25.1 |
requests-oauthlib | 1.3.0 | requests-unixsocket | 0.2.0 | retrying | 1.3.3 |
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 | slicer | 0.0.7 |
smmap | 3.0.5 | spark-tensorflow-distributor | 0.1.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 | tensorboard | 2.5.0 | tensorboard-data-server | 0.6.1 |
tensorboard-plugin-wit | 1.8.0 | tensorflow-cpu | 2.5.0 | tensorflow-estimator | 2.5.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 |
Bibliotecas do Python em clusters de GPU
Biblioteca | Versão | Biblioteca | Versão | Biblioteca | Versão |
---|---|---|---|---|---|
absl-py | 0.11.0 | Antergos Linux | 2015.10 (atualização cumulativa de ISO) | 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 | Gargalo | 1.3.2 | cachetools | 4.2.2 |
certifi | 2020.12.5 | cffi | 1.14.5 | chardet | 4.0.0 |
clique | 7.1.2 | cloudpickle | 1.6.0 | cmdstanpy | 0.9.68 |
configparser | 5.0.1 | convertdate | 2.3.2 | criptografia | 3.4.7 |
cycler | 0.10.0 | Cython | 0.29.23 | 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.34.1 | gunicorn | 20.0.4 | h5py | 3.1.0 |
hijri-converter | 2.1.3 | holidays | 0.10.5.2 | horovod | 0.22.1 |
htmlmin | 0.1.12 | idna | 2.10 | ImageHash | 4.2.1 |
ipykernel | 5.3.4 | ipython | 7.22.0 | ipython-genutils | 0.2.0 |
ipywidgets | 7.6.4 | 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.1 | keras-nightly | 2.5.0.dev2021032900 | 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.36.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.19.0 | 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.53.1 | numpy | 1.19.2 |
oauthlib | 3.1.0 | opt-einsum | 3.3.0 | empacotando | 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.1 | pexpect | 4.8.0 | phik | 0.12.0 |
pickleshare | 0.7.5 | Pillow | 8.2.0 | pip | 21.0.1 |
plotly | 4.14.3 | prometheus-client | 0.11.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 | solicitações | 2.25.1 |
requests-oauthlib | 1.3.0 | requests-unixsocket | 0.2.0 | retrying | 1.3.3 |
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 | slicer | 0.0.7 |
smmap | 3.0.5 | spark-tensorflow-distributor | 0.1.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 | tensorboard | 2.5.0 | tensorboard-data-server | 0.6.1 |
tensorboard-plugin-wit | 1.8.0 | tensorflow | 2.5.0 | tensorflow-estimator | 2.5.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 |
Pacotes do Spark que contêm módulos do Python
Pacote do Spark | Módulo do Python | Versão |
---|---|---|
graphframes | graphframes | 0.8.1-db3-spark3.1 |
Bibliotecas do R
As bibliotecas do R são idênticas às Bibliotecas do R existentes no Databricks Runtime 9.0.
Bibliotecas Java e Scala (cluster do Scala 2.12)
Além das bibliotecas Java e Scala no Databricks Runtime 9.0, o Databricks Runtime 9.0 ML contém os seguintes JARs:
Clusters de CPU
ID do Grupo | Artifact ID | Versão |
---|---|---|
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.19.0 |
org.mlflow | mlflow-spark | 1.19.0 |
org.scala-lang.modules | scala-java8-compat_2.12 | 0.8.0 |
org.tensorflow | spark-tensorflow-connector_2.12 | 1.15.0 |
Clusters de GPU
ID do Grupo | Artifact ID | Versão |
---|---|---|
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.19.0 |
org.mlflow | mlflow-spark | 1.19.0 |
org.scala-lang.modules | scala-java8-compat_2.12 | 0.8.0 |
org.tensorflow | spark-tensorflow-connector_2.12 | 1.15.0 |