Databricks Runtime 9.1 LTS para Aprendizado de Máquina
A Databricks divulgou esta imagem e declarou-a Suporte de Longo Prazo (LTS) em setembro de 2021.
O Databricks Runtime 9.1 LTS for Machine Learning fornece um ambiente pronto para uso para aprendizado de máquina e ciência de dados com base no Databricks Runtime 9.1 LTS. O Databricks Runtime ML contém muitas bibliotecas populares de aprendizado de máquina, incluindo TensorFlow, PyTorch e XGBoost. O Databricks Runtime ML inclui o AutoML, uma ferramenta para treinar automaticamente pipelines de aprendizado de máquina. O Databricks Runtime ML também suporta treinamento distribuído de aprendizado profundo usando o Horovod.
Nota
LTS significa que esta versão está sob suporte a longo prazo. Consulte Ciclo de vida da versão do Databricks Runtime LTS.
Para obter mais informações, incluindo instruções para criar um cluster de ML do Databricks Runtime, consulte IA e aprendizado de máquina no Databricks.
Gorjeta
Para ver as notas de lançamento das versões do Databricks Runtime que atingiram o fim do suporte (EoS), consulte Notas de lançamento do Databricks Runtime sem suporte. As versões do EoS Databricks Runtime foram desativadas e podem não ser atualizadas.
Novos recursos e melhorias
AutoML
As melhorias a seguir estão disponíveis no Databricks Runtime 9.1 LTS ML e superior.
O AutoML suporta conjuntos de dados maiores por amostragem
O AutoML agora faz amostras de conjuntos de dados que podem exceder as restrições de memória, permitindo que ele seja executado em conjuntos de dados maiores com menos risco de erros de falta de memória. Para obter detalhes, consulte Amostragem de grandes conjuntos de dados.
O AutoML pré-processa colunas com base no tipo semântico
O AutoML deteta determinadas colunas que têm um tipo semântico diferente do tipo de dados Spark ou pandas. Em seguida, o AutoML converte e aplica etapas de pré-processamento de dados com base no tipo semântico detetado. Especificamente, o AutoML executa as seguintes conversões:
- As colunas de cadeia de caracteres e inteiros que representam dados de carimbo de data ou hora são convertidas em um tipo de carimbo de data/hora.
- As colunas de cadeia de caracteres que representam dados numéricos são convertidas em um tipo numérico.
Melhorias nos notebooks gerados pelo AutoML
As etapas de pré-processamento das colunas de data e hora são agora incorporadas no pacote databricks-automl-runtime
, o que simplifica os notebooks gerados pelo treinamento AutoML.
databricks-automl-runtime
está incluído no Databricks Runtime 9.1 LTS ML e superior, e também está disponível no PyPI.
Loja de recursos
As melhorias a seguir estão disponíveis no Databricks Runtime 9.1 LTS ML e superior.
- Ao criar um TrainingSet, agora você pode definir
label=None
para dar suporte a aplicativos de aprendizagem não supervisionados. - Agora pode-se especificar mais de uma funcionalidade em um único
FeatureLookup
. - Agora você pode especificar um caminho personalizado para tabelas de recursos. Use o
path
parâmetro emcreate_feature_table()
. O padrão é o local do banco de dados. - Novos tipos de dados PySpark suportados: ArrayType e ShortType.
Mlflow
As melhorias a seguir estão disponíveis a partir da versão 1.20.2 do Mlflow, que está incluída no Databricks Runtime 9.1 LTS ML.
- O registro automático para scikit-learn agora registra métricas pós-treinamento sempre que uma API de avaliação scikit-learn, como
sklearn.metrics.mean_squared_error
, é chamada. - O registro automático do PySpark ML agora registra métricas pós-treinamento sempre que uma API de avaliação de modelo, como
Evaluator.evaluate()
, é chamada. -
mlflow.*.log_model
emlflow.*.save_model
agora têmpip_requirements
eextra_pip_requirements
argumentos para que possa especificar diretamente os requisitos pip do modelo para registar ou guardar. -
mlflow.*.log_model
emlflow.*.save_model
agora inferem automaticamente os requisitos de pip para o modelo para registar ou guardar com base no ambiente de software atual. -
stdMetrics
as entradas agora são registradas como métricas de treinamento durante o registro automático do PySpark CrossValidator. - O registro automático do PyTorch Lightning agora suporta execução distribuída.
Databricks Autologging (Visualização pública)
O Databricks Autologging Public Preview foi expandido para novas regiões. O Databricks Autologging é uma solução sem código que fornece rastreamento automático de experimentos para sessões de treinamento de aprendizado de máquina no Azure Databricks. Com o Databricks Autologging, parâmetros de modelo, métricas, arquivos e informações de linhagem são capturados automaticamente quando você treina modelos de uma variedade de bibliotecas populares de aprendizado de máquina. As sessões de treinamento são registradas como MLflow Tracking Runs. Os arquivos de modelo também são acompanhados para que se possam registá-los facilmente no Registo do Modelo MLflow e implantá-los para avaliação em tempo real com o MLflow Model Serving.
Para obter mais informações sobre Databricks Autologging, consulte Databricks Autologging.
Principais alterações no ambiente Python do Databricks Runtime ML
Pacotes Python atualizados
- AutoML 1.1.1 => 1.2.1
- feature_store 0.3.3 => 0.3.4.1
- feriados 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-distribuidor 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
Pacotes Python adicionados
- databricks-automl-runtime 0.1.0
Ambiente do sistema
O ambiente do sistema no Databricks Runtime 9.1 LTS ML difere do Databricks Runtime 9.1 LTS da seguinte forma:
-
DBUtils: O Databricks Runtime ML não inclui utilitário de biblioteca (dbutils.library) (legado).
Em vez disso, use comandos
%pip
. Veja Bibliotecas em Python com âmbito de bloco de notas. - 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.1 LTS ML que diferem daquelas incluídas no Databricks Runtime 9.1 LTS.
Nesta secção:
- Bibliotecas de nível superior
- Bibliotecas Python
- Bibliotecas R
- Bibliotecas Java e Scala (cluster Scala 2.12)
Bibliotecas de nível superior
O Databricks Runtime 9.1 LTS ML inclui as seguintes bibliotecas de camada superior:
- AutoML
- GraphFrames
- Horovod e HorovodRunner
- MLflow
- PyTorch
- spark-tensorflow-connector
- TensorFlow
- TensorBoard
Bibliotecas Python
O Databricks Runtime 9.1 LTS ML usa o Virtualenv para gerenciamento de pacotes Python e inclui muitos pacotes de ML populares.
Além dos pacotes especificados nas seções a seguir, o Databricks Runtime 9.1 LTS ML também inclui os seguintes pacotes:
- hiperopta 0.2.5.db2
- Sparkdl 2.2.0_db3
- feature_store 0.3.4.1
- AutoML 1.2.1 |
Bibliotecas 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 Contínua ISO) | appdirs | 1.4.4 |
argon2-cffi | 20.1.0 | Astor | 0.8.1 | Astunparse | 1.6.3 |
gerador assíncrono | 1.10 | Atributos | 20.3.0 | Backcall | 0.2.0 |
bcrypt | 3.2.0 | lixívia | 3.3.0 | boto3 | 1.16.7 |
botocore | 1.19.7 | Gargalo | 1.3.2 | Ferramentas de cache | 4.2.2 |
certifi | 2020.12.5 | cffi | 1.14.5 | chardet | 4.0.0 |
Clang | 5.0 | clicar | 7.1.2 | Cloudpickle | 1.6.0 |
CMDSTANPY | 0.9.68 | configparser | 5.0.1 | convertdate | 2.3.2 |
criptografia | 3.4.7 | ciclador | 0.10.0 | Cython | 0.29.23 |
databricks-automl-runtime | 0.1.0 | databricks-cli | 0.14.3 | dbus-python | 1.2.16 |
decorador | 5.0.6 | XMLDesativado | 0.7.1 | endro | 0.3.2 |
cache de disco | 5.2.1 | Distlib | 0.3.2 | distro-info | 0,23ubuntu1 |
pontos de entrada | 0,3 | Ephem | 4.0.0.2 | facetas-visão geral | 1.0.0 |
bloqueio de ficheiros | 3.0.12 | Flask | 1.1.2 | flatbuffers | 1.12 |
fsspec | 0.9.0 | Futuro | 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 | Conversor de Hijri | 2.2.1 |
feriados | 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 | Isodato | 0.6.0 | é perigoso | 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 | Pré-processamento de Keras | 1.1.2 |
Kiwisolver | 1.3.1 | coalas | 1.8.1 | calendário lunar coreano | 0.2.1 |
LightGBM | 3.1.1 | llvmlite | 0.37.0 | LunarCalendário | 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-magro | 1.20.2 | multimétodo | 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 |
bloco de notas | 6.3.0 | numba | 0.54.0 | numpy | 1.19.2 |
OAuthlib | 3.1.0 | opt-einsum | 3.3.0 | embalagem | 20.9 |
pandas | 1.2.4 | criação de perfis de pandas | 3.0.0 | PandocFilters | 1.4.3 |
Paramiko | 2.7.2 | Parso | 0.7.0 | bode expiatório | 0.5.1 |
petastorm | 0.11.2 | pexpect | 4.8.0 | Phik | 0.12.0 |
pickleshare | 0.7.5 | Almofada | 8.2.0 | pip | 21.0.1 |
enredo | 5.1.0 | prometheus-client | 0.10.1 | prompt-toolkit | 3.0.17 |
profeta | 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-módulos | 0.2.8 | pycparser | 2,20 |
Pidântico | 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 | editor de Python | 1.0.4 |
pytz | 2020.5 | PyWavelets | 1.1.1 | PyYAML | 5.4.1 |
Pyzmq | 20.0.0 | regex | 2021.4.4 | pedidos | 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 | Enviar2Lixo | 1.5.0 | setuptools | 52.0.0 |
setuptools-git | 1.2 | n/a (More context is needed to provide an accurate translation) | 0.39.0 | simplejson | 3.17.2 |
seis | 1.15.0 | filtro de visualização | 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 | tabular | 0.8.7 | emaranhado no Unicode | 0.1.0 |
tenacidade | 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-Estimador | 2.6.0 |
Termcolor | 1.1.0 | terminado | 0.9.4 | caminho de teste | 0.4.4 |
ThreadPoolCtl | 2.1.0 | tocha | 1.9.0+CPU | Torchvision | 0.10.0+cpu |
tornado | 6.1 | TQDM | 4.59.0 | traitlets | 5.0.5 |
extensões de digitação | 3.7.4.3 | Ujson | 4.0.2 | Atualizações automáticas | 0.1 |
urllib3 | 1.25.11 | virtualenv | 20.4.1 | visões | 0.7.1 |
wcwidth | 0.2.5 | WebEncodings | 0.5.1 | Websocket-cliente | 0.57.0 |
Werkzeug | 1.0.1 | roda | 0.36.2 | widgetsnbextension | 3.5.1 |
embrulhado | 1.12.1 | xgboost | 1.4.2 | zipp | | 3.4.1 |
Bibliotecas Python em clusters GPU
Biblioteca | Versão | Biblioteca | Versão | Biblioteca | Versão |
---|---|---|---|---|---|
ABSL-PY | 0.11.0 | Antergos Linux | 2015.10 (Versão Contínua ISO) | Appdirs | 1.4.4 |
argon2-cffi | 20.1.0 | Astor | 0.8.1 | Astunparse | 1.6.3 |
gerador assíncrono | 1.10 | ATRs | 20.3.0 | chamada de retorno | 0.2.0 |
bcrypt | 3.2.0 | lixívia | 3.3.0 | boto3 | 1.16.7 |
botocore | 1.19.7 | Gargalo | 1.3.2 | Ferramentas de cache | 4.2.2 |
certifi | 2020.12.5 | cffi | 1.14.5 | Chardet | 4.0.0 |
Clang | 5.0 | clicar | 7.1.2 | Cloudpickle | 1.6.0 |
CMDSTANPY | 0.9.68 | ConfigParser | 5.0.1 | convertdate | 2.3.2 |
criptografia | 3.4.7 | cicladore | 0.10.0 | Cython | 0.29.23 |
databricks-automl-runtime | 0.1.0 | databricks-cli | 0.14.3 | dbus-python | 1.2.16 |
decorador | 5.0.6 | defusedxml | 0.7.1 | endro | 0.3.2 |
cache de disco | 5.2.1 | Distlib | 0.3.2 | distro-info | 0,23ubuntu1 |
pontos de entrada | 0.3 | Ephem | 4.0.0.2 | facetas-visão geral | 1.0.0 |
bloqueio de ficheiro | 3.0.12 | Flask | 1.1.2 | flatbuffers | 1.12 |
fsspec | 0.9.0 | Futuro | 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-Conversor | 2.2.1 |
feriados | 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 | é perigoso | 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 | Pré-processamento de Keras | 1.1.2 |
Kiwisolver | 1.3.1 | coalas | 1.8.1 | Calendário Lunar Coreano | 0.2.1 |
LightGBM | 3.1.1 | llvmlite | 0.37.0 | LunarCalendário | 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 | multimétodo | 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 |
bloco de notas | 6.3.0 | numba | 0.54.0 | numpy | 1.19.2 |
OAuthlib | 3.1.0 | opt-einsum | 3.3.0 | embalagem | 20.9 |
pandas | 1.2.4 | pandas-profiling | 3.0.0 | PandocFilters | 1.4.3 |
Paramiko | 2.7.2 | Parso | 0.7.0 | bode expiatório | 0.5.1 |
petastorm | 0.11.2 | pexpect | 4.8.0 | Phik | 0.12.0 |
pickleshare | 0.7.5 | Almofada | 8.2.0 | pip | 21.0.1 |
enredo | 5.1.0 | prompt-toolkit | 3.0.17 | profeta | 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-módulos | 0.2.8 | pycparser | 2,20 | Pidântico | 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 | pedidos | 2.25.1 | requests-oauthlib | 1.3.0 |
pedidos-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 |
Enviar para o Lixo | 1.5.0 | setuptools | 52.0.0 | setuptools-git | 1.2 |
shap | 0.39.0 | simplejson | 3.17.2 | seis | 1.15.0 |
filtro | 0.0.7 | smmap | 3.0.5 | spark-tensorflow-distributor | 1.0.0 |
SQLPARSE | 0.4.1 | ssh-import-id (comando para importar chaves SSH) | 5.10 | statsmodels | 0.12.2 |
tabular | 0.8.7 | envolvido em unicode | 0.1.0 | tenacidade | 6.2.0 |
TensorBoard | 2.6.0 | Tensorboard-Data-Server | 0.6.1 | Tensorboard-plugin-wit | 1.8.0 |
TensorFlow | 2.6.0 | TensorFlow-Estimador | 2.6.0 | Termcolor | 1.1.0 |
terminado | 0.9.4 | caminho de teste | 0.4.4 | ThreadPoolCtl | 2.1.0 |
tocha | 1.9.0+cu111 | Torchvision | 0.10.0+cu111 | tornado | 6.1 |
tqdm | 4.59.0 | traitlets | 5.0.5 | extensões de digitação | 3.7.4.3 |
Ujson | 4.0.2 | Atualizações automáticas | 0.1 | urllib3 | 1.25.11 |
virtualenv | 20.4.1 | visões | 0.7.1 | wcwidth | 0.2.5 |
WebEncodings | 0.5.1 | Websocket-cliente | 0.57.0 | Werkzeug | 1.0.1 |
roda | 0.36.2 | widgetsnbextension | 3.5.1 | embrulhado | 1.12.1 |
xgboost | 1.4.2 | zipp | 3.4.1 |
Pacotes Spark contendo módulos Python
Pacote Spark | Módulo Python | Versão |
---|---|---|
GraphFrames | graphframes | 0.8.1-db3-spark3.1 |
Bibliotecas R
As bibliotecas R são idênticas às bibliotecas R no Databricks Runtime 9.1 LTS.
Bibliotecas Java e Scala (cluster Scala 2.12)
Além das bibliotecas Java e Scala no Databricks Runtime 9.1 LTS, o Databricks Runtime 9.1 LTS ML contém os seguintes JARs:
Clusters de CPU
ID do Grupo | ID do Artefacto | 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.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 | ID do Artefacto | 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.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 |