Databricks Runtime 6.0 para ML (EoS)
Nota
O suporte para esta versão do Databricks Runtime terminou. Para obter a data de fim do suporte, consulte Histórico de fim do suporte. Para todas as versões suportadas do Databricks Runtime, consulte Versões e compatibilidade das notas de versão do Databricks Runtime.
A Databricks lançou esta versão em outubro de 2019.
O Databricks Runtime 6.0 for Machine Learning fornece um ambiente pronto para uso para aprendizado de máquina e ciência de dados com base no Databricks Runtime 6.0 (EoS). O Databricks Runtime ML contém muitas bibliotecas populares de aprendizado de máquina, incluindo TensorFlow, PyTorch, Keras e XGBoost. Ele também suporta treinamento distribuído de aprendizagem profunda usando Horovod.
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.
Novas funcionalidades
O Databricks Runtime 6.0 ML é construído sobre o Databricks Runtime 6.0. Para obter informações sobre o que há de novo no Databricks Runtime 6.0, consulte as notas de versão do Databricks Runtime 6.0 (EoS ).
Consultar dados do experimento MLflow em escala usando a nova fonte de dados MLflow Spark
A fonte de dados do Spark para experimentos MLflow agora fornece uma API padrão para carregar dados de execução do experimento MLflow. Isso permite consultas e análises em larga escala de dados de experimentos MLflow usando APIs DataFrame. Para um determinado experimento, o DataFrame contém run_ids, métricas, parâmetros, tags, start_time, end_time, status e o artifact_uri para artefatos. Consulte o experimento MLflow.
Melhorias
GA hiperopta
O Hyperopt no Azure Databricks agora está disponível ao público em geral. Melhorias notáveis desde a visualização pública incluem suporte para registro MLflow em trabalhadores do Spark, manipulação correta de variáveis de transmissão do PySpark, bem como um novo guia sobre seleção de modelos usando Hyperopt. Também corrigimos pequenos bugs em mensagens de log, tratamento de erros, interface do usuário e tornamos nossos documentos mais fáceis de ler. Para obter detalhes, consulte a documentação do Hyperopt.
Atualizamos como o Azure Databricks registra experimentos de Hyperopt para que agora você possa registrar uma métrica personalizada durante as execuções do Hyperopt passando a métrica para a
mlflow.log_metric
função (consulte log_metric). Isso é útil se você quiser registrar métricas personalizadas, além da perda, que é registrada por padrão quando ahyperopt.fmin
função é chamada.MLflow
Bibliotecas de aprendizado de máquina atualizadas
- Horovod atualizado de 0.16.4 para 0.18.1
- MLflow atualizado de 1.0.0 para 1.2.0
Distribuição Anaconda atualizada de 5.2.0 para 2019.03
Remoção
O Databricks ML Model Export foi removido. Em vez disso, use MLeap para importar e exportar modelos.
Na biblioteca Hyperopt, as seguintes propriedades do
hyperopt.SparkTrials
são removidas:SparkTrials.successful_trials_count
SparkTrials.failed_trials_count
SparkTrials.cancelled_trials_count
SparkTrials.total_trials_count
Eles são substituídos pelas seguintes funções:
SparkTrials.count_successful_trials()
SparkTrials.count_failed_trials()
SparkTrials.count_cancelled_trials()
SparkTrials.count_total_trials()
Ambiente do sistema
O ambiente do sistema no Databricks Runtime 6.0 ML difere do Databricks Runtime 6.0 da seguinte forma:
- DBUtils: Não contém o utilitário Biblioteca (dbutils.library) (legado).
Bibliotecas
As seções a seguir listam as bibliotecas incluídas no Databricks Runtime 6.0 ML que diferem daquelas incluídas no Databricks Runtime 6.0.
Bibliotecas de nível superior
O Databricks Runtime 6.0 ML inclui as seguintes bibliotecas de camada superior:
- GraphFrames
- Horovod e HorovodRunner
- MLflow
- PyTorch
- conector spark-tensorflow;
- TensorFlow
- TensorBoard
Bibliotecas Python
O Databricks Runtime 6.0 ML usa o Conda para gerenciamento de pacotes Python e inclui muitos pacotes de ML populares. A seção a seguir descreve o ambiente Conda para Databricks Runtime 6.0 ML.
Python 3 em clusters de CPU
name: databricks-ml
channels:
- pytorch
- defaults
dependencies:
- _libgcc_mutex=0.1=main
- _py-xgboost-mutex=2.0=cpu_0
- _tflow_select=2.3.0=mkl
- absl-py=0.7.1=py37_0
- asn1crypto=0.24.0=py37_0
- astor=0.8.0=py37_0
- backcall=0.1.0=py37_0
- backports=1.0=py_2
- bcrypt=3.1.6=py37h7b6447c_0
- blas=1.0=mkl
- boto=2.49.0=py37_0
- boto3=1.9.162=py_0
- botocore=1.12.163=py_0
- c-ares=1.15.0=h7b6447c_1001
- ca-certificates=2019.1.23=0
- certifi=2019.3.9=py37_0
- cffi=1.12.2=py37h2e261b9_1
- chardet=3.0.4=py37_1003
- click=7.0=py37_0
- cloudpickle=0.8.0=py37_0
- colorama=0.4.1=py37_0
- configparser=3.7.4=py37_0
- cryptography=2.6.1=py37h1ba5d50_0
- cycler=0.10.0=py37_0
- cython=0.29.6=py37he6710b0_0
- decorator=4.4.0=py37_1
- docutils=0.14=py37_0
- entrypoints=0.3=py37_0
- et_xmlfile=1.0.1=py37_0
- flask=1.0.2=py37_1
- freetype=2.9.1=h8a8886c_1
- future=0.17.1=py37_0
- gast=0.2.2=py37_0
- gitdb2=2.0.5=py37_0
- gitpython=2.1.11=py37_0
- grpcio=1.16.1=py37hf8bcb03_1
- gunicorn=19.9.0=py37_0
- h5py=2.9.0=py37h7918eee_0
- hdf5=1.10.4=hb1b8bf9_0
- html5lib=1.0.1=py_0
- icu=58.2=h9c2bf20_1
- idna=2.8=py37_0
- intel-openmp=2019.3=199
- ipython=7.4.0=py37h39e3cac_0
- ipython_genutils=0.2.0=py37_0
- itsdangerous=1.1.0=py37_0
- jdcal=1.4=py37_0
- jedi=0.13.3=py37_0
- jinja2=2.10=py37_0
- jmespath=0.9.4=py_0
- jpeg=9b=h024ee3a_2
- keras=2.2.4=0
- keras-applications=1.0.8=py_0
- keras-base=2.2.4=py37_0
- keras-preprocessing=1.1.0=py_1
- kiwisolver=1.0.1=py37hf484d3e_0
- krb5=1.16.1=h173b8e3_7
- libedit=3.1.20181209=hc058e9b_0
- libffi=3.2.1=hd88cf55_4
- libgcc-ng=8.2.0=hdf63c60_1
- libgfortran-ng=7.3.0=hdf63c60_0
- libpng=1.6.36=hbc83047_0
- libpq=11.2=h20c2e04_0
- libprotobuf=3.8.0=hd408876_0
- libsodium=1.0.16=h1bed415_0
- libstdcxx-ng=8.2.0=hdf63c60_1
- libtiff=4.0.10=h2733197_2
- libxgboost=0.90=he6710b0_0
- libxml2=2.9.9=hea5a465_1
- libxslt=1.1.33=h7d1a2b0_0
- llvmlite=0.28.0=py37hd408876_0
- lxml=4.3.2=py37hefd8a0e_0
- mako=1.0.10=py_0
- markdown=3.1.1=py37_0
- markupsafe=1.1.1=py37h7b6447c_0
- mkl=2019.3=199
- mkl_fft=1.0.10=py37ha843d7b_0
- mkl_random=1.0.2=py37hd81dba3_0
- mock=3.0.5=py37_0
- ncurses=6.1=he6710b0_1
- networkx=2.2=py37_1
- ninja=1.9.0=py37hfd86e86_0
- nose=1.3.7=py37_2
- numba=0.43.1=py37h962f231_0
- numpy=1.16.2=py37h7e9f1db_0
- numpy-base=1.16.2=py37hde5b4d6_0
- olefile=0.46=py37_0
- openpyxl=2.6.1=py37_1
- openssl=1.1.1b=h7b6447c_1
- pandas=0.24.2=py37he6710b0_0
- paramiko=2.4.2=py37_0
- parso=0.3.4=py37_0
- pathlib2=2.3.3=py37_0
- patsy=0.5.1=py37_0
- pexpect=4.6.0=py37_0
- pickleshare=0.7.5=py37_0
- pillow=5.4.1=py37h34e0f95_0
- pip=19.0.3=py37_0
- ply=3.11=py37_0
- prompt_toolkit=2.0.9=py37_0
- protobuf=3.8.0=py37he6710b0_0
- psutil=5.6.1=py37h7b6447c_0
- psycopg2=2.7.6.1=py37h1ba5d50_0
- ptyprocess=0.6.0=py37_0
- py-xgboost=0.90=py37he6710b0_0
- py-xgboost-cpu=0.90=py37_0
- pyasn1=0.4.6=py_0
- pycparser=2.19=py37_0
- pygments=2.3.1=py37_0
- pymongo=3.8.0=py37he6710b0_1
- pynacl=1.3.0=py37h7b6447c_0
- pyopenssl=19.0.0=py37_0
- pyparsing=2.3.1=py37_0
- pysocks=1.6.8=py37_0
- python=3.7.3=h0371630_0
- python-dateutil=2.8.0=py37_0
- python-editor=1.0.4=py_0
- pytorch-cpu=1.1.0=py3.7_cpu_0
- pytz=2018.9=py37_0
- pyyaml=5.1=py37h7b6447c_0
- readline=7.0=h7b6447c_5
- requests=2.21.0=py37_0
- s3transfer=0.2.1=py37_0
- scikit-learn=0.20.3=py37hd81dba3_0
- scipy=1.2.1=py37h7c811a0_0
- setuptools=40.8.0=py37_0
- simplejson=3.16.0=py37h14c3975_0
- singledispatch=3.4.0.3=py37_0
- six=1.12.0=py37_0
- smmap2=2.0.5=py37_0
- sqlite=3.27.2=h7b6447c_0
- sqlparse=0.3.0=py_0
- statsmodels=0.9.0=py37h035aef0_0
- tabulate=0.8.3=py37_0
- tensorboard=1.13.1=py37hf484d3e_0
- tensorflow=1.13.1=mkl_py37h54b294f_0
- tensorflow-base=1.13.1=mkl_py37h7ce6ba3_0
- tensorflow-estimator=1.13.0=py_0
- tensorflow-mkl=1.13.1=h4fcabd2_0
- termcolor=1.1.0=py37_1
- tk=8.6.8=hbc83047_0
- torchvision-cpu=0.3.0=py37_cuNone_1
- tqdm=4.31.1=py37_1
- traitlets=4.3.2=py37_0
- urllib3=1.24.1=py37_0
- virtualenv=16.0.0=py37_0
- wcwidth=0.1.7=py37_0
- webencodings=0.5.1=py37_1
- websocket-client=0.56.0=py37_0
- werkzeug=0.14.1=py37_0
- wheel=0.33.1=py37_0
- wrapt=1.11.1=py37h7b6447c_0
- xz=5.2.4=h14c3975_4
- yaml=0.1.7=had09818_2
- zlib=1.2.11=h7b6447c_3
- zstd=1.3.7=h0b5b093_0
- pip:
- argparse==1.4.0
- databricks-cli==0.9.0
- docker==4.0.2
- fusepy==2.0.4
- gorilla==0.3.0
- horovod==0.18.1
- hyperopt==0.1.2.db8
- matplotlib==3.0.3
- mleap==0.8.1
- mlflow==1.2.0
- nose-exclude==0.5.0
- pyarrow==0.13.0
- querystring-parser==1.2.4
- seaborn==0.9.0
- tensorboardx==1.8
prefix: /databricks/conda/envs/databricks-ml
Pacotes Spark contendo módulos Python
Pacote Spark | Módulo Python | Versão |
---|---|---|
quadros gráficos | quadros gráficos | 0.7.0-db1-faísca2.4 |
faísca-aprendizagem profunda | Faísca | 1.5.0-DB5-Faísca2.4 |
tensorframes | tensorframes | 0.7.0-s_2.11 |
Bibliotecas R
As bibliotecas R são idênticas às bibliotecas R no Databricks Runtime 6.0.
Bibliotecas Java e Scala (cluster Scala 2.11)
Além das bibliotecas Java e Scala no Databricks Runtime 6.0, o Databricks Runtime 6.0 ML contém os seguintes JARs:
ID do Grupo | ID do Artefacto | Versão |
---|---|---|
com.databricks | faísca-aprendizagem profunda | 1.5.0-DB5-Faísca2.4 |
com.typesafe.akka | AKKA-actor_2,11 | 2.3.11 |
ml.combust.mleap | mleap-databricks-runtime_2.11 | 0.14.0 |
ml.dmlc | xgboost4j | 0.90 |
ml.dmlc | xgboost4j-faísca | 0.90 |
org.graphframes | graphframes_2.11 | 0.7.0-db1-faísca2.4 |
org.mlflow | mlflow-cliente | 1.2.0 |
org.tensorflow | libtensorflow | 1.13.1 |
org.tensorflow | libtensorflow_jni | 1.13.1 |
org.tensorflow | spark-tensorflow-connector_2.11 | 1.13.1 |
org.tensorflow | TensorFlow | 1.13.1 |
org.tensorframes | tensorframes | 0.7.0-s_2.11 |