Databricks Runtime 6.0 para ML (EoS)
Nota:
El soporte técnico con esta versión de Databricks Runtime ha finalizado. Para obtener la fecha de finalización del soporte técnico, consulte Historial de finalización del soporte técnico. Para ver todas las versiones de Databricks Runtime con soporte técnico, consulte las notas de la versión de Databricks Runtime versiones y compatibilidad.
Databricks publicó esta versión en octubre de 2019.
Databricks Runtime 6.0 para Machine Learning proporciona un entorno listo para usar de aprendizaje automático y ciencia de datos basado en Databricks Runtime 6.0 (EoS). Databricks Runtime ML contiene muchas bibliotecas de aprendizaje automático populares, incluidas TensorFlow, PyTorch, Keras y XGBoost. También admite entrenamiento de aprendizaje profundo distribuido mediante Horovod.
Para más información, incluidas las instrucciones para crear un clúster de Databricks Runtime ML, consulte IA y aprendizaje automático en Databricks.
Nuevas características
Databricks Runtime 6.0 ML se basa en Databricks Runtime 6.0. Para información sobre las novedades de Databricks Runtime 6.0, consulte las notas de la versión de Databricks Runtime 6.0 (EoS).
Consulta de datos del experimento de MLflow a escala mediante el nuevo origen de datos de MLflow Spark
El origen de datos de Spark para experimentos de MLflow ahora proporciona una API estándar para cargar datos de ejecución de experimentos de MLflow. Esto permite realizar consultas y análisis a gran escala de los datos de experimento de MLflow mediante las API de DataFrame. Para un experimento determinado, dataframe contiene run_ids, métricas, parámetros, etiquetas, start_time, end_time, estado y artifact_uri para artefactos. Consulte Experimento de MLflow.
Mejoras
Disponibilidad general de Hyperopt
Hyperopt para Azure Databricks ya está disponible con carácter general. Entre las mejoras importantes que han aparecido desde la versión preliminar pública encontramos: servicio de asistencia para los roles de trabajo de Spark de inicio de sesión de MLflow, administración correcta de las variables de difusión de PySpark, así como una nueva guía sobre la selección de modelos mediante Hyperopt. También se han corregido pequeños errores en los mensajes de registro, el control de errores, la interfaz de usuario y hemos procurado que nuestros documentos sean más descriptivos y fáciles de leer. Para más información, consulte la documentación de Hyperopt.
Hemos actualizado la manera cómo Azure Databricks registra experimentos de Hyperopt para que ahora pueda registrar una métrica personalizada durante las ejecuciones de Hyperopt pasando la métrica a la función
mlflow.log_metric
(consulte log_metric). Esto resulta útil si desea registrar métricas personalizadas además de las pérdidas, que se registran de forma predeterminada cuando se llama a la funciónhyperopt.fmin
.MLflow
- Se ha agregado el cliente Java de MLflow 1.2.0
- MLflow ahora es una biblioteca de nivel superior
Bibliotecas de aprendizaje automático actualizadas
- Horovod se actualizó de 0.16.4 a 0.18.1
- MLflow se actualizó de 1.0.0 a 1.2.0
Distribución de Anaconda se actualizó de 5.2.0 a 2019.03
Eliminación
Se ha quitado la exportación de modelos de ML de Databricks. Use MLeap en su lugar para importar y exportar modelos.
En la biblioteca Hyperopt, se quitan las siguientes propiedades de
hyperopt.SparkTrials
:SparkTrials.successful_trials_count
SparkTrials.failed_trials_count
SparkTrials.cancelled_trials_count
SparkTrials.total_trials_count
Se reemplazan por las siguientes funciones:
SparkTrials.count_successful_trials()
SparkTrials.count_failed_trials()
SparkTrials.count_cancelled_trials()
SparkTrials.count_total_trials()
Entorno del sistema
El entorno del sistema de Databricks Runtime 6.0 ML se diferencia del de Databricks Runtime 6.0 en lo siguiente:
- DBUtils: no contiene utilidad de biblioteca (dbutils.library) (heredada).
Bibliotecas
En las secciones siguientes se enumeran las bibliotecas incluidas en Databricks Runtime 6.0 ML, que difieren de las incluidas en Databricks Runtime 6.0.
Bibliotecas de nivel superior
Databricks Runtime 6.0 ML incluye las siguientes bibliotecas de nivel superior:
- GraphFrames
- Horovod y HorovodRunner
- MLflow
- PyTorch
- spark-tensorflow-connector
- TensorFlow
- TensorBoard
Bibliotecas de Python
Databricks Runtime 6.0 ML usa Conda para la administración de los paquetes de Python, e incluye muchos paquetes populares de ML. En la sección siguiente se describe el entorno de Conda para Databricks Runtime 6.0 ML.
Python 3 en clústeres 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
Paquetes de Spark que contienen módulos de Python
Paquete de Spark | Módulo de Python | Versión |
---|---|---|
graphframes | graphframes | 0.7.0-db1-spark2.4 |
spark-deep-learning | sparkdl | 1.5.0-db5-spark2.4 |
tensorframes | tensorframes | 0.7.0-s_2.11 |
Bibliotecas de R
Las bibliotecas de R son idénticas a las bibliotecas de R de Databricks Runtime 6.0.
Bibliotecas de Java y Scala (clúster de Scala 2.11)
Además de las bibliotecas de Java y Scala de Databricks Runtime 6.0, Databricks Runtime 6.0 ML contiene los siguientes archivos JAR:
Identificador de grupo | Identificador de artefacto | Versión |
---|---|---|
com.databricks | spark-deep-learning | 1.5.0-db5-spark2.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-spark | 0.90 |
org.graphframes | graphframes_2.11 | 0.7.0-db1-spark2.4 |
org.mlflow | mlflow-client | 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 |