Databricks Runtime 6.0 per ML (EoS)
Nota
Il supporto per questa versione di Databricks Runtime è terminato. Per la data di fine del supporto, vedere Cronologia di fine del supporto. Per tutte le versioni supportate di Databricks Runtime, vedere Versioni e compatibilità delle note sulla versione di Databricks Runtime.
Databricks ha rilasciato questa versione nell'ottobre 2019.
Databricks Runtime 6.0 per Machine Learning è un ambiente pronto all’uso ottimizzato per l'esecuzione di processi di apprendimento automatico e data science basato su Databricks Runtime 6.0 (EoS). Databricks Runtime ML contiene molte di queste popolari librerie per l’apprendimento automatico, tra cui TensorFlow, PyTorch, Keras e XGBoost. È inoltre supportato il training distribuito con Horovod.
Per altre informazioni, incluse le istruzioni per la creazione di un cluster di Machine Learning di Databricks Runtime, vedere Intelligenza artificiale e Machine Learning in Databricks.
Nuove funzionalità
Databricks Runtime 6.0 ML è basato su Databricks Runtime 6.0. Per informazioni sulle novità di Databricks Runtime 6.0, vedere le note sulla versione di Databricks Runtime 6.0 (EoS).
Eseguire query sui dati dell'esperimento MLflow su larga scala usando la nuova origine dati Spark MLflow
L'origine dati Spark per gli esperimenti MLflow offre ora un'API standard per caricare i dati di esecuzione dell'esperimento MLflow. Ciò consente l'esecuzione di query su larga scala e l'analisi dei dati dell'esperimento MLflow usando le API DataFrame. Per un determinato esperimento, il DataFrame contiene run_ids, metriche, parametri, tag, start_time, end_time, stato e artifact_uri per gli artefatti. Vedere Esperimento MLflow.
Miglioramenti
Disponibilità generale Hyperopt
Hyperopt su Azure Databricks è ora disponibile a livello generale. Miglioramenti significativi dall'anteprima pubblica includono il supporto per la registrazione di MLflow nei ruoli di lavoro Spark, la corretta gestione delle variabili di trasmissione PySpark, nonché una nuova guida sulla selezione del modello tramite Hyperopt. Sono stati corretti anche piccoli bug nei messaggi di log, nella gestione degli errori e nell'interfaccia utente; inoltre, i documenti sono stati resi più descrittivi. Per informazioni dettagliate, vedere la documentazione Hyperopt.
È stato aggiornato il modo in cui Azure Databricks registra gli esperimenti Hyperopt in modo da poter registrare una metrica personalizzata durante le esecuzioni di Hyperopt passando la metrica alla funzione
mlflow.log_metric
(vedere log_metric). Ciò è utile se si desidera registrare metriche personalizzate oltre alla perdita, che viene registrata per impostazione predefinita quando viene richiamata la funzionehyperopt.fmin
.MLflow
- Aggiunta di MLflow Java Client 1.2.0
- MLflow è ora promosso a libreria di livello superiore
Librerie di apprendimento automatico aggiornate
- Horovod aggiornato dalla versione 0.16.4 alla versione 0.18.1
- MLflow aggiornato dalla versione 1.0.0 alla versione 1.2.0
Distribuzione di Anaconda aggiornata dalla versione 5.2.0 alla versione 2019.03
Rimozione
L’esportazione del modello di ML Databricks è stata eliminata. Usare MLeap per importare ed esportare modelli.
Nella libreria Hyperopt vengono rimosse le proprietà seguenti di
hyperopt.SparkTrials
:SparkTrials.successful_trials_count
SparkTrials.failed_trials_count
SparkTrials.cancelled_trials_count
SparkTrials.total_trials_count
Vengono sostituite con le funzioni seguenti:
SparkTrials.count_successful_trials()
SparkTrials.count_failed_trials()
SparkTrials.count_cancelled_trials()
SparkTrials.count_total_trials()
Ambiente di sistema
L'ambiente di sistema in Databricks Runtime 6.0 ML differisce da Databricks Runtime 6.0 come indicato di seguito:
- DBUtils: non contiene l'utilità libreria (dbutils.library) (legacy).
Librerie
Le sezioni seguenti elencano le librerie incluse in Databricks Runtime 6.0 ML diverse da quelle incluse in Databricks Runtime 6.0.
Librerie di livello superiore
Databricks Runtime 6.0 ML include le librerie di livello superiore seguenti:
- GraphFrames
- Horovod e HorovodRunner
- MLflow
- PyTorch
- spark-tensorflow-connector
- TensorFlow
- TensorBoard
Librerie Python
Databricks Runtime 6.0 ML usa Conda per la gestione dei pacchetti Python e include molti dei pacchetti ML più diffusi. La sezione seguente descrive l'ambiente Conda per Databricks Runtime 6.0 ML.
Python 3 nei cluster 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
Pacchetti Spark contenenti moduli Python
Pacchetti Spark | Modulo Python | Versione |
---|---|---|
GraphFrames | GraphFrames | 0.7.0-db1-spark2.4 |
Deep Learning Spark | sparkdl | 1.5.0-db5-spark2.4 |
tensorframes | tensorframes | 0.7.0-s_2.11 |
Librerie R
Le librerie R sono identiche alle librerie R in Databricks Runtime 6.0.
Librerie Java e Scala (cluster Scala 2.11)
Oltre alle librerie Java e Scala in Databricks Runtime 6.0, Databricks Runtime 6.0 ML contiene i file JAR seguenti:
ID gruppo | ID artefatto | Versione |
---|---|---|
com.databricks | Deep Learning Spark | 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 |