Share via


Databricks Runtime 10.1 para ML (sem suporte)

O Databricks Runtime 10.1 para Machine Learning fornece um ambiente de aprendizado de máquina e ciência de dados pronto para uso baseado no Databricks Runtime 10.1 (sem suporte). O Databricks Runtime ML contém muitas bibliotecas de aprendizado de máquina populares, inclusive TensorFlow, PyTorch e XGBoost. Ele também dá suporte ao treinamento de aprendizado profundo distribuído com o uso do Horovod.

Para obter mais informações, como instruções para a criação de um cluster do Databricks Runtime ML, confira IA e Machine Learning no Databricks.

Novos recursos e aprimoramentos

O Databricks Runtime 10.1 do ML foi criado com base no Databricks Runtime 10.1. Para mais informações sobre as novidades do Databricks Runtime 10.1, inclusive o Apache Spark MLlib e o SparkR, veja as notas de versão do Databricks Runtime 10.1 (sem suporte).

Aprimoramentos no Databricks AutoML

No Databricks Runtime 10.1, o Databricks AutoML inclui detecção de tipo semântico melhorado, novos alertas para possíveis problemas de dados durante o treinamento, novos recursos para evitar o sobreajuste de modelos e a capacidade de dividir o conjunto de dados de entrada em treinamento, validação e conjuntos de testes cronologicamente.

Detecções de tipo semântico adicionais

O AutoML agora dá suporte à detecção de tipo semântico adicional:

  • Colunas numéricas que contêm rótulos categóricos são tratadas como um tipo categórico.
  • Colunas de cadeia de caracteres que contêm texto em inglês são tratadas como um recurso de texto.

Agora você também pode adicionar anotações para especificar um tipo de dados de coluna. Para obter detalhes, consulte Detecção de tipo semântico.

Alertas durante o treinamento para possíveis problemas de dados

O AutoML agora detecta e gera alertas para possíveis problemas com o conjuntos de dados. Os alertas de exemplo incluem tipos de coluna sem suporte e colunas de alta cardinalidade. Esses alertas aparecem na página do experimento na nova guia Alertas. Informações adicionais sobre alertas estão incluídas no notebook de exploração de dados. Para obter mais informações, consulte Executar o experimento e monitorar os resultados.

Sobreajuste reduzido do modelo

Dois novos recursos reduzem as chances de sobreajustar um modelo ao usar o AutoML:

  • O AutoML agora relata métricas de teste adicionais às métricas de validação e treinamento.
  • O AutoML agora usa a parada antecipada. Ele interrompe o treinamento e o ajuste de modelos se a métrica de validação não estiver mais melhorando.

Dividir o conjunto de dados em conjuntos de treinamento/validação/teste cronologicamente

Para problemas de classificação e regressão, é possível dividir o conjunto de dados em conjuntos em treinamento, validação e conjuntos de teste cronologicamente. Confira Dividir dados em conjuntos de treinamento/validação/teste para obter detalhes.

Aprimoramentos no Databricks Feature Store

O Armazenamento de Recursos do Databricks agora dá suporte a tipos de dados adicionais para tabelas de recursos: BinaryType, DecimalType e MapType.

Mlflow

As melhorias a seguir estão disponíveis a partir da versão 1.21.0 do Mlflow, que está incluída no Databricks Runtime 10.1 do ML.

  • [Modelos] Atualize a variante fastai de modelo para dar suporte ao fastai v2 (2.4.1 e superior).
  • [Modelos] Introduza uma variante de modelo mlflow.flavor para modelos de série temporal do Prophet.
  • [Pontuação] Corrige um erro de imposição de esquema que incorretamente converte as cadeias de caracteres semelhantes de data e hora em objetos datetime.

Hyperopt

SparkTrials agora dá suporte ao parâmetro early_stopping_fn para fmin. É possível usar a função de parada antecipada para especificar condições em que o Hyperopt deve interromper o ajuste de hiperparâmetro antes que o número máximo de avaliações seja atingido. Por exemplo, você pode usar esse parâmetro para encerrar o ajuste se a função de objetivo não estiver mais diminuindo. Para obter detalhes, consulte fmin().

Principais alterações no ambiente do Python para o Databricks Runtime do ML

Pacotes do Python atualizados

  • automl 1.3.1 => 1.4.1
  • feature_store 0.3.4 => 0.3.5
  • feriados 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
  • transformadores 4.9.2 => 4.11.3

Pacotes do Python adicionados

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

Desativações

O acompanhamento de MLflow automatizado da MLlib foi preterido em clusters que são executados no Databricks Runtime 10.1 do ML e superior. Em vez disso, use o registro automático do PySpark do MLflow do ML chamando mlflow.pyspark.ml.autolog(). O registro automático é habilitado por padrão com o Registro automático do Databricks.

Ambiente do sistema

O ambiente do sistema no Databricks Runtime 10.1 ML é diferente do Databricks Runtime 10.1 nestes aspectos:

Bibliotecas

As seções a seguir listam as bibliotecas incluídas no Databricks Runtime 10.1 do ML que diferem daquelas incluídas no Databricks Runtime 10.1.

Nesta seção:

Bibliotecas de camada superior

O Databricks Runtime 10.1 do ML inclui as seguintes bibliotecas de camada superior:

Bibliotecas do Python

O Databricks Runtime 10.1 do 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, Databricks Runtime 10.1 do ML também inclui os seguintes pacotes:

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

Observação

O Databricks Runtime 10.1 do ML inclui o scikit-learn versão 0.24 em vez da versão 1.0 devido a problemas de incompatibilidade. O pacote scikit-learn interage com muitos outros pacotes Databricks Runtime 10.1 do ML.

É possível atualizar para o scikit-learn versão 1.0; no entanto, o Databricks não dá suporte a essa versão.

Para atualizar, use as bibliotecas no escopo do notebook. Em um notebook, execute %pip install --upgrade "scikit-learn>=1.0,<1.1".

Uma alternativa é usar esse script de inicialização do cluster:

#!/bin/bash

set -e

pip install --upgrade "scikit-learn>=1.0,<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 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 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
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 feriados 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
empacotando 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
pressionado 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
solicitações 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
slicer 0.0.7 smart-open 5.2.0 smmap 3.0.5
espaço 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 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

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 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 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
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 feriados 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
empacotando 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
pressionado 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 solicitações 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 slicer 0.0.7
smart-open 5.2.0 smmap 3.0.5 espaço 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
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

Pacotes do Spark que contêm módulos do Python

Pacote do Spark Módulo do Python Versão
graphframes graphframes 0.8.2-db1-spark3.2

Bibliotecas do R

As bibliotecas do R são idênticas às Bibliotecas do R existentes no Databricks Runtime 10.1.

Bibliotecas do Java e Scala (cluster do Scala 2.12)

Além das bibliotecas Java e Scala no Databricks Runtime 10.1, o Databricks Runtime 10.1 do 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-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 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.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