Databricks Runtime 6.0 untuk ML (EoS)
Catatan
Dukungan untuk versi Databricks Runtime ini telah berakhir. Untuk tanggal akhir dukungan, lihat Riwayat akhir dukungan. Untuk semua versi Runtime Databricks yang didukung, lihat Versi dan kompatibilitas catatan rilis Databricks Runtime.
Databricks merilis versi ini pada Oktober 2019.
Databricks Runtime 6.0 untuk Pembelajaran Mesin menyediakan lingkungan siap pakai untuk pembelajaran mesin dan ilmu data berdasarkan Databricks Runtime 6.0 (EoS). Pembelajaran Mesin (ML) Databricks Runtime berisi banyak pustaka pembelajaran mesin populer, termasuk TensorFlow, PyTorch, Keras, dan XGBoost. Ini juga mendukung pelatihan pembelajaran mendalam terdistribusi menggunakan Horovod.
Untuk informasi selengkapnya, termasuk instruksi untuk membuat kluster ML Runtime Databricks, lihat AI dan pembelajaran mesin di Databricks.
Fitur baru
ML Databricks Runtime 6.0 dibangun di atas Databricks Runtime 6.0. Untuk informasi tentang apa yang baru di Databricks Runtime 6.0, lihat catatan rilis Databricks Runtime 6.0 (EoS).
Kueri data eksperimen MLflow dalam skala besar menggunakan sumber data MLflow Spark baru
Sumber data Spark untuk eksperimen MLflow kini menyediakan API standar untuk memuat data yang dijalankan eksperimen MLflow. Hal ini memungkinkan kueri dan analisis skala besar data eksperimen MLflow menggunakan API DataFrame. Untuk eksperimen tertentu, DataFrame berisi run_id, metrik, params, tag, start_time, end_time, status, dan artifact_uri untuk artefak. Lihat eksperimen MLflow.
Penyempurnaan
GA Hyperopt
Hyperopt di Azure Databricks sekarang tersedia secara umum. Peningkatan penting sejak pratinjau umum mencakup dukungan untuk masuk MLflow pada pekerja Spark, penanganan variabel siaran PySpark yang benar, serta panduan baru tentang pemilihan model menggunakan Hyperopt. Kami juga memperbaiki bug kecil dalam pesan log, penanganan kesalahan, UI, dan membuat dokumen kami lebih ramah pembaca. Untuk mengetahui detailnya, lihat dokumentasi Hyperopt.
Kami telah memperbarui cara Azure Databricks mencatat eksperimen Hyperopt sehingga Anda sekarang dapat mencatat metrik khusus selama Hyperopt berjalan dengan meneruskan metrik ke fungsi
mlflow.log_metric
(lihat log_metric). Ini berguna jika Anda ingin mencatat metrik khusus selain kerugian, yang dicatat secara default saat fungsihyperopt.fmin
dipanggil.MLflow
- Menambahkan MLflow Java Client 1.2.0
- MLflow sekarang dipromosikan sebagai pustaka tingkat atas
Pustaka pembelajaran mesin yang ditingkatkan
- Horovod ditingkatkan dari 0.16.4 ke 0.18.1
- MLflow ditingkatkan dari 1.0.0 ke 1.2.0
Distribusi Anaconda ditingkatkan dari 5.2.0 ke 2019.03
Penghapusan
Ekspor Model ML Databricks dihapus. Gunakan MLeap untuk mengimpor dan mengekspor model sebagai gantinya.
Di pustaka Hyperopt, properti
hyperopt.SparkTrials
berikut akan dihapus:SparkTrials.successful_trials_count
SparkTrials.failed_trials_count
SparkTrials.cancelled_trials_count
SparkTrials.total_trials_count
Mereka diganti dengan fungsi-fungsi berikut:
SparkTrials.count_successful_trials()
SparkTrials.count_failed_trials()
SparkTrials.count_cancelled_trials()
SparkTrials.count_total_trials()
Lingkungan sistem
Lingkungan sistem di ML Databricks Runtime 6.0 berbeda dari Databricks Runtime 6.0 sebagai berikut:
- DBUtils: Tidak berisi utilitas Pustaka (dbutils.library) (warisan).
Pustaka
Bagian berikut mencantumkan pustaka yang disertakan dalam ML Databricks Runtime 6.0 yang berbeda dari yang disertakan dalam Databricks Runtime 6.0.
Pustaka tingkat atas
ML Databricks Runtime 6.0 mencakup pustaka tingkat atas berikut:
- GraphFrames
- Horovod dan HorovodRunner
- MLflow
- PyTorch
- spark-tensorflow-connector
- TensorFlow 2.5.0
- TensorBoard
Pustaka Python
ML Databricks Runtime 6.0 menggunakan Conda untuk manajemen paket Python dan mencakup banyak paket ML populer. Bagian berikut menjelaskan lingkungan Conda untuk ML Databricks Runtime 6.0.
Python 3 pada kluster 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
Paket Spark yang berisi modul Python
Paket Spark | Modul Python | Versi |
---|---|---|
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 |
Pustaka R
Pustaka R identik dengan Pustaka R di Databricks Runtime 6.0 .
Pustaka Java dan Scala (Kluster Scala 2.11)
Selain pustaka Java dan Scala di Databricks Runtime 6.0, ML Databricks Runtime 6.0 berisi JAR berikut:
ID Grup | ID Artefak | Versi |
---|---|---|
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 |