Bagikan melalui


Databricks Runtime 7.0 ML (EoS)

Catatan

Dukungan untuk versi Databricks Runtime ini telah berakhir. Untuk tanggal akhir dukungan, lihat Riwayat akhir dukungan. Untuk semua versi Databricks Runtime yang didukung, lihat catatan rilis versi dan kompatibilitas Databricks Runtime.

Databricks merilis versi ini pada Juni 2020.

Databricks Runtime 7.0 untuk Pembelajaran Mesin menyediakan lingkungan siap pakai untuk pembelajaran mesin dan ilmu data berdasarkan Databricks Runtime 7.0 (EoS). Databricks Runtime ML berisi banyak pustaka pembelajaran mesin populer, termasuk TensorFlow, PyTorch, 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 dan perubahan besar

Databricks Runtime 7.0 ML dibangun di atas Databricks Runtime 7.0. Untuk informasi tentang apa yang baru di Databricks Runtime 7.0, termasuk Apache Spark MLlib dan SparkR, lihat catatan rilis Databricks Runtime 7.0 (EoS ).

Penjadwalan yang sadar terhadap GPU

Databricks Runtime 7.0 ML mendukung penjadwalan berbasis-GPU dari Apache Spark 3.0. Azure Databricks secara otomatis mengonfigurasinya untuk Anda. Lihat Penjadwalan GPU.

Perubahan besar pada lingkungan Python ML

Bagian ini menjelaskan perubahan besar pada lingkungan Python ML yang telah diinstal sebelumnya dibandingkan dengan Databricks Runtime 6.6 ML (EoS). Anda juga harus meninjau perubahan besar pada lingkungan Python dasar di Databricks Runtime 7.0 (EoS). Untuk daftar lengkap paket Python yang diinstal dan versinya, lihat pustaka Python .

Paket Phyton ditingkatkan

  • tensorflow 1.15.0 -> 2.2.0
  • tensorboard 1.15.0 -> 2.2.2
  • pytorch 1.4.0 -> 1.5.0
  • xgboost 0.90 -> 1.1.1
  • sparkdl 1.6.0-db1 -> 2.1.0-db1
  • hyperopt 0.2.2.db1 -> 0.2.4.db1

Paket Python yang ditambahkan

  • lightgbm: 2.3.0
  • nltk: 3.4.5
  • petastorm: 0.9.2
  • plotly: 4.5.2

Paket Python yang dihapus

  • argparse
  • boto (gunakan boto3 sebagai gantinya)
  • colorama
  • tidak digunakan lagi
  • et-xmlfile
  • fusepy
  • html5lib
  • jdcal
  • keras (gunakan tensorflow.keras sebagai gantinya)
  • keras-applications (gunakan tensorflow.keras.applications alih-alih)
  • llvmlite
  • lxml
  • hidung
  • pengecualian hidung
  • numba
  • openpyxl
  • pathlib2
  • lapisan/susun/serat
  • pymongo
  • singledispatch
  • tensorboardX (gunakan torch.utils.tensorboard sebagai gantinya)
  • virtualenv
  • Webencodings versi 0.5.1

Perubahan besar pada lingkungan ML R

Databricks Runtime 7.0 ML mencakup versi yang tidak dimodifikasi dari RStudio Server Open Source v1.2.5033 yang kode sumbernya dapat ditemukan di GitHub. Baca selengkapnya tentang RStudio Server di Azure Databricks.

Perubahan pada paket ML Spark, pustaka Java, dan Scala

Paket-paket berikut ditingkatkan. Beberapa ditingkatkan ke rilis SNAPSHOT yang kompatibel dengan Apache Spark 3.0:

  • graphframes: 0.7.0-db1-spark2.4 -> 0.8.0-db2-spark3.0
  • konektor spark-tensorflow: 1.15.0 (Scala 2.11) -> 1.15.0 (Scala 2.12)
  • xgboost4j and xgboost4j-spark: 0.90 -> 1.0.0
  • mleap-databricks-runtime: 0.17.0-4882dc3 (SNAPSHOT)

Paket-paket berikut dihapus:

  • TensorFlow (Java)
  • TensorFrames
  • Alur Pembelajaran Mendalam untuk Apache Spark (HorovodRunner tersedia dalam Python)

Menambahkan perintah conda dan pip untuk mendukung pustaka Python berbasis notebook (pratinjau publik)

Dimulai dari Databricks Runtime 7.0 ML, Anda dapat menggunakan perintah %pip dan %conda untuk mengelola pustaka Python yang diinstal dalam sesi notebook. Anda juga dapat menggunakan perintah ini untuk membuat lingkungan khusus untuk notebook dan mereproduksi lingkungan ini di antara notebook. Untuk mengaktifkan fitur ini, dalam pengaturan kluster, atur konfigurasi Spark spark.databricks.conda.condaMagic.enabled true. Untuk informasi selengkapnya, lihat Pustaka Python bercakupan buku catatan.

Penghentian dan fitur yang tidak didukung

Databricks Runtime 7.0 ML tidak mendukung kontrol akses tabel . Jika Anda memerlukan kontrol akses tabel, kami sarankan Anda menggunakan Databricks Runtime 7.0.

Masalah umum

  • Jika Anda mencatat model MLlib dalam format mleap, ketika argumen sample_input diteruskan ke mlflow.spark.log_model, terjadi kegagalan dengan AttributeError. Masalah ini disebabkan oleh perubahan API menjadi mleap. Untuk mengatasi masalah ini, tingkatkan ke MLflow 1.9.0. Anda dapat menginstal MLflow 1.9.0 menggunakan pustaka Python dengan cakupan Notebook.

Lingkungan sistem

Lingkungan sistem di Databricks Runtime 7.0 ML berbeda dengan Databricks Runtime 7.0 sebagai berikut:

  • DBUtils: Databricks Runtime ML tidak berisi utilitas Pustaka (dbutils.library) (warisan). Anda dapat menggunakan perintah %pip dan %conda sebagai gantinya. Lihat pustaka Python dengan ruang lingkup khusus buku catatan.
  • Untuk kluster GPU, pustaka GPU NVIDIA berikut:
    • CUDA 10.1 Pembaruan 2
    • cuDNN 7.6.5
    • NCCL 2.7.3
    • TensorRT 6.0.1

Pustaka

Bagian berikut mencantumkan pustaka yang disertakan dalam Databricks Runtime 7.0 ML yang berbeda dari yang disertakan dalam Databricks Runtime 7.0.

Di bagian ini:

Pustaka tingkat atas

Databricks Runtime 7.0 ML mencakup pustaka tingkat atas berikut:

Perpustakaan Python

Databricks Runtime 7.0 ML menggunakan Conda untuk manajemen paket Phyton dan mencakup banyak paket ML populer. Bagian berikut menjelaskan lingkungan Conda untuk Databricks Runtime 7.0 ML.

Python pada kluster CPU

name: databricks-ml
channels:
  - pytorch
  - defaults
dependencies:
  - _libgcc_mutex=0.1=main
  - absl-py=0.9.0=py37_0
  - asn1crypto=1.3.0=py37_0
  - astor=0.8.0=py37_0
  - backcall=0.1.0=py37_0
  - backports=1.0=py_2
  - bcrypt=3.1.7=py37h7b6447c_1
  - blas=1.0=mkl
  - blinker=1.4=py37_0
  - boto3=1.12.0=py_0
  - botocore=1.15.0=py_0
  - c-ares=1.15.0=h7b6447c_1001
  - ca-certificates=2020.1.1=0
  - cachetools=4.1.0=py_1
  - certifi=2020.4.5.1=py37_0
  - cffi=1.14.0=py37h2e261b9_0
  - chardet=3.0.4=py37_1003
  - click=7.0=py37_0
  - cloudpickle=1.3.0=py_0
  - configparser=3.7.4=py37_0
  - cpuonly=1.0=0
  - cryptography=2.8=py37h1ba5d50_0
  - cycler=0.10.0=py37_0
  - cython=0.29.15=py37he6710b0_0
  - decorator=4.4.1=py_0
  - dill=0.3.1.1=py37_1
  - docutils=0.15.2=py37_0
  - entrypoints=0.3=py37_0
  - flask=1.1.1=py_1
  - freetype=2.9.1=h8a8886c_1
  - future=0.18.2=py37_1
  - gast=0.3.3=py_0
  - gitdb2=2.0.6=py_0
  - gitpython=3.0.5=py_0
  - google-auth=1.11.2=py_0
  - google-auth-oauthlib=0.4.1=py_2
  - google-pasta=0.2.0=py_0
  - grpcio=1.27.2=py37hf8bcb03_0
  - gunicorn=20.0.4=py37_0
  - h5py=2.10.0=py37h7918eee_0
  - hdf5=1.10.4=hb1b8bf9_0
  - icu=58.2=he6710b0_3
  - idna=2.8=py37_0
  - intel-openmp=2020.0=166
  - ipykernel=5.1.4=py37h39e3cac_0
  - ipython=7.12.0=py37h5ca1d4c_0
  - ipython_genutils=0.2.0=py37_0
  - itsdangerous=1.1.0=py37_0
  - jedi=0.14.1=py37_0
  - jinja2=2.11.1=py_0
  - jmespath=0.9.4=py_0
  - joblib=0.14.1=py_0
  - jpeg=9b=h024ee3a_2
  - jupyter_client=5.3.4=py37_0
  - jupyter_core=4.6.1=py37_0
  - kiwisolver=1.1.0=py37he6710b0_0
  - krb5=1.16.4=h173b8e3_0
  - ld_impl_linux-64=2.33.1=h53a641e_7
  - libedit=3.1.20181209=hc058e9b_0
  - libffi=3.2.1=hd88cf55_4
  - libgcc-ng=9.1.0=hdf63c60_0
  - libgfortran-ng=7.3.0=hdf63c60_0
  - libpng=1.6.37=hbc83047_0
  - libpq=11.2=h20c2e04_0
  - libprotobuf=3.11.4=hd408876_0
  - libsodium=1.0.16=h1bed415_0
  - libstdcxx-ng=9.1.0=hdf63c60_0
  - libtiff=4.1.0=h2733197_0
  - lightgbm=2.3.0=py37he6710b0_0
  - lz4-c=1.8.1.2=h14c3975_0
  - mako=1.1.2=py_0
  - markdown=3.1.1=py37_0
  - markupsafe=1.1.1=py37h7b6447c_0
  - matplotlib-base=3.1.3=py37hef1b27d_0
  - mkl=2020.0=166
  - mkl-service=2.3.0=py37he904b0f_0
  - mkl_fft=1.0.15=py37ha843d7b_0
  - mkl_random=1.1.0=py37hd6b4f25_0
  - ncurses=6.2=he6710b0_1
  - networkx=2.4=py_0
  - ninja=1.9.0=py37hfd86e86_0
  - nltk=3.4.5=py37_0
  - numpy=1.18.1=py37h4f9e942_0
  - numpy-base=1.18.1=py37hde5b4d6_1
  - oauthlib=3.1.0=py_0
  - olefile=0.46=py37_0
  - openssl=1.1.1g=h7b6447c_0
  - packaging=20.1=py_0
  - pandas=1.0.1=py37h0573a6f_0
  - paramiko=2.7.1=py_0
  - parso=0.5.2=py_0
  - patsy=0.5.1=py37_0
  - pexpect=4.8.0=py37_0
  - pickleshare=0.7.5=py37_0
  - pillow=7.0.0=py37hb39fc2d_0
  - pip=20.0.2=py37_3
  - plotly=4.5.2=py_0
  - prompt_toolkit=3.0.3=py_0
  - protobuf=3.11.4=py37he6710b0_0
  - psutil=5.6.7=py37h7b6447c_0
  - psycopg2=2.8.4=py37h1ba5d50_0
  - ptyprocess=0.6.0=py37_0
  - pyasn1=0.4.8=py_0
  - pyasn1-modules=0.2.7=py_0
  - pycparser=2.19=py37_0
  - pygments=2.5.2=py_0
  - pyjwt=1.7.1=py37_0
  - pynacl=1.3.0=py37h7b6447c_0
  - pyodbc=4.0.30=py37he6710b0_0
  - pyopenssl=19.1.0=py37_0
  - pyparsing=2.4.6=py_0
  - pysocks=1.7.1=py37_0
  - python=3.7.6=h0371630_2
  - python-dateutil=2.8.1=py_0
  - python-editor=1.0.4=py_0
  - pytorch=1.5.0=py3.7_cpu_0
  - pytz=2019.3=py_0
  - pyzmq=18.1.1=py37he6710b0_0
  - readline=7.0=h7b6447c_5
  - requests=2.22.0=py37_1
  - requests-oauthlib=1.3.0=py_0
  - retrying=1.3.3=py37_2
  - rsa=4.0=py_0
  - s3transfer=0.3.3=py37_0
  - scikit-learn=0.22.1=py37hd81dba3_0
  - scipy=1.4.1=py37h0b6359f_0
  - setuptools=45.2.0=py37_0
  - simplejson=3.17.0=py37h7b6447c_0
  - six=1.14.0=py37_0
  - smmap2=2.0.5=py37_0
  - sqlite=3.31.1=h62c20be_1
  - sqlparse=0.3.0=py_0
  - statsmodels=0.11.0=py37h7b6447c_0
  - tabulate=0.8.3=py37_0
  - tk=8.6.8=hbc83047_0
  - torchvision=0.6.0=py37_cpu
  - tornado=6.0.3=py37h7b6447c_3
  - tqdm=4.42.1=py_0
  - traitlets=4.3.3=py37_0
  - unixodbc=2.3.7=h14c3975_0
  - urllib3=1.25.8=py37_0
  - wcwidth=0.1.8=py_0
  - websocket-client=0.56.0=py37_0
  - werkzeug=1.0.0=py_0
  - wheel=0.34.2=py37_0
  - wrapt=1.11.2=py37h7b6447c_0
  - xz=5.2.4=h14c3975_4
  - zeromq=4.3.1=he6710b0_3
  - zlib=1.2.11=h7b6447c_3
  - zstd=1.3.7=h0b5b093_0
  - pip:
      - astunparse==1.6.3
      - databricks-cli==0.11.0
      - diskcache==4.1.0
      - docker==4.2.1
      - gorilla==0.3.0
      - horovod==0.19.1
      - hyperopt==0.2.4.db1
      - keras-preprocessing==1.1.2
      - mleap==0.16.0
      - mlflow==1.8.0
      - opt-einsum==3.2.1
      - petastorm==0.9.2
      - pyarrow==0.15.1
      - pyyaml==5.3.1
      - querystring-parser==1.2.4
      - seaborn==0.10.0
      - sparkdl==2.1.0-db1
      - tensorboard==2.2.2
      - tensorboard-plugin-wit==1.6.0.post3
      - tensorflow-cpu==2.2.0
      - tensorflow-estimator==2.2.0
      - termcolor==1.1.0
      - xgboost==1.1.1
prefix: /databricks/conda/envs/databricks-ml

Python pada kluster GPU

name: databricks-ml-gpu
channels:
  - pytorch
  - defaults
dependencies:
  - _libgcc_mutex=0.1=main
  - absl-py=0.9.0=py37_0
  - asn1crypto=1.3.0=py37_0
  - astor=0.8.0=py37_0
  - backcall=0.1.0=py37_0
  - backports=1.0=py_2
  - bcrypt=3.1.7=py37h7b6447c_1
  - blas=1.0=mkl
  - blinker=1.4=py37_0
  - boto3=1.12.0=py_0
  - botocore=1.15.0=py_0
  - c-ares=1.15.0=h7b6447c_1001
  - ca-certificates=2020.1.1=0
  - cachetools=4.1.0=py_1
  - certifi=2020.4.5.2=py37_0
  - cffi=1.14.0=py37h2e261b9_0
  - chardet=3.0.4=py37_1003
  - click=7.0=py37_0
  - cloudpickle=1.3.0=py_0
  - configparser=3.7.4=py37_0
  - cryptography=2.8=py37h1ba5d50_0
  - cudatoolkit=10.1.243=h6bb024c_0
  - cycler=0.10.0=py37_0
  - cython=0.29.15=py37he6710b0_0
  - decorator=4.4.1=py_0
  - dill=0.3.1.1=py37_1
  - docutils=0.15.2=py37_0
  - entrypoints=0.3=py37_0
  - flask=1.1.1=py_1
  - freetype=2.9.1=h8a8886c_1
  - future=0.18.2=py37_1
  - gast=0.3.3=py_0
  - gitdb2=2.0.6=py_0
  - gitpython=3.0.5=py_0
  - google-auth=1.11.2=py_0
  - google-auth-oauthlib=0.4.1=py_2
  - google-pasta=0.2.0=py_0
  - grpcio=1.27.2=py37hf8bcb03_0
  - gunicorn=20.0.4=py37_0
  - h5py=2.10.0=py37h7918eee_0
  - hdf5=1.10.4=hb1b8bf9_0
  - icu=58.2=he6710b0_3
  - idna=2.8=py37_0
  - intel-openmp=2020.0=166
  - ipykernel=5.1.4=py37h39e3cac_0
  - ipython=7.12.0=py37h5ca1d4c_0
  - ipython_genutils=0.2.0=py37_0
  - itsdangerous=1.1.0=py37_0
  - jedi=0.14.1=py37_0
  - jinja2=2.11.1=py_0
  - jmespath=0.9.4=py_0
  - joblib=0.14.1=py_0
  - jpeg=9b=h024ee3a_2
  - jupyter_client=5.3.4=py37_0
  - jupyter_core=4.6.1=py37_0
  - kiwisolver=1.1.0=py37he6710b0_0
  - krb5=1.16.4=h173b8e3_0
  - ld_impl_linux-64=2.33.1=h53a641e_7
  - libedit=3.1.20181209=hc058e9b_0
  - libffi=3.2.1=hd88cf55_4
  - libgcc-ng=9.1.0=hdf63c60_0
  - libgfortran-ng=7.3.0=hdf63c60_0
  - libpng=1.6.37=hbc83047_0
  - libpq=11.2=h20c2e04_0
  - libprotobuf=3.11.4=hd408876_0
  - libsodium=1.0.16=h1bed415_0
  - libstdcxx-ng=9.1.0=hdf63c60_0
  - libtiff=4.1.0=h2733197_0
  - lightgbm=2.3.0=py37he6710b0_0
  - lz4-c=1.8.1.2=h14c3975_0
  - mako=1.1.2=py_0
  - markdown=3.1.1=py37_0
  - markupsafe=1.1.1=py37h7b6447c_0
  - matplotlib-base=3.1.3=py37hef1b27d_0
  - mkl=2020.0=166
  - mkl-service=2.3.0=py37he904b0f_0
  - mkl_fft=1.0.15=py37ha843d7b_0
  - mkl_random=1.1.0=py37hd6b4f25_0
  - ncurses=6.2=he6710b0_1
  - networkx=2.4=py_0
  - ninja=1.9.0=py37hfd86e86_0
  - nltk=3.4.5=py37_0
  - numpy=1.18.1=py37h4f9e942_0
  - numpy-base=1.18.1=py37hde5b4d6_1
  - oauthlib=3.1.0=py_0
  - olefile=0.46=py37_0
  - openssl=1.1.1g=h7b6447c_0
  - packaging=20.1=py_0
  - pandas=1.0.1=py37h0573a6f_0
  - paramiko=2.7.1=py_0
  - parso=0.5.2=py_0
  - patsy=0.5.1=py37_0
  - pexpect=4.8.0=py37_0
  - pickleshare=0.7.5=py37_0
  - pillow=7.0.0=py37hb39fc2d_0
  - pip=20.0.2=py37_3
  - plotly=4.5.2=py_0
  - prompt_toolkit=3.0.3=py_0
  - protobuf=3.11.4=py37he6710b0_0
  - psutil=5.6.7=py37h7b6447c_0
  - psycopg2=2.8.4=py37h1ba5d50_0
  - ptyprocess=0.6.0=py37_0
  - pyasn1=0.4.8=py_0
  - pyasn1-modules=0.2.7=py_0
  - pycparser=2.19=py37_0
  - pygments=2.5.2=py_0
  - pyjwt=1.7.1=py37_0
  - pynacl=1.3.0=py37h7b6447c_0
  - pyodbc=4.0.30=py37he6710b0_0
  - pyopenssl=19.1.0=py37_0
  - pyparsing=2.4.6=py_0
  - pysocks=1.7.1=py37_0
  - python=3.7.6=h0371630_2
  - python-dateutil=2.8.1=py_0
  - python-editor=1.0.4=py_0
  - pytorch=1.5.0=py3.7_cuda10.1.243_cudnn7.6.3_0
  - pytz=2019.3=py_0
  - pyzmq=18.1.1=py37he6710b0_0
  - readline=7.0=h7b6447c_5
  - requests=2.22.0=py37_1
  - requests-oauthlib=1.3.0=py_0
  - retrying=1.3.3=py37_2
  - rsa=4.0=py_0
  - s3transfer=0.3.3=py37_0
  - scikit-learn=0.22.1=py37hd81dba3_0
  - scipy=1.4.1=py37h0b6359f_0
  - setuptools=45.2.0=py37_0
  - simplejson=3.17.0=py37h7b6447c_0
  - six=1.14.0=py37_0
  - smmap2=2.0.5=py37_0
  - sqlite=3.31.1=h62c20be_1
  - sqlparse=0.3.0=py_0
  - statsmodels=0.11.0=py37h7b6447c_0
  - tabulate=0.8.3=py37_0
  - tk=8.6.8=hbc83047_0
  - torchvision=0.6.0=py37_cu101
  - tornado=6.0.3=py37h7b6447c_3
  - tqdm=4.42.1=py_0
  - traitlets=4.3.3=py37_0
  - unixodbc=2.3.7=h14c3975_0
  - urllib3=1.25.8=py37_0
  - wcwidth=0.1.8=py_0
  - websocket-client=0.56.0=py37_0
  - werkzeug=1.0.0=py_0
  - wheel=0.34.2=py37_0
  - wrapt=1.11.2=py37h7b6447c_0
  - xz=5.2.4=h14c3975_4
  - zeromq=4.3.1=he6710b0_3
  - zlib=1.2.11=h7b6447c_3
  - zstd=1.3.7=h0b5b093_0
  - pip:
      - astunparse==1.6.3
      - databricks-cli==0.11.0
      - diskcache==4.1.0
      - docker==4.2.1
      - gorilla==0.3.0
      - horovod==0.19.1
      - hyperopt==0.2.4.db1
      - keras-preprocessing==1.1.2
      - mleap==0.16.0
      - mlflow==1.8.0
      - opt-einsum==3.2.1
      - petastorm==0.9.2
      - pyarrow==0.15.1
      - pyyaml==5.3.1
      - querystring-parser==1.2.4
      - seaborn==0.10.0
      - sparkdl==2.1.0-db1
      - tensorboard==2.2.2
      - tensorboard-plugin-wit==1.6.0.post3
      - tensorflow-estimator==2.2.0
      - tensorflow-gpu==2.2.0
      - termcolor==1.1.0
      - xgboost==1.1.1
prefix: /databricks/conda/envs/databricks-ml-gpu

Paket Spark yang berisi modul Python

Paket Spark Modul Python Versi
graphframes graphframes 0.8.0-db2-spark3.0

Perpustakaan R

Pustaka R identik dengan Pustaka R di Databricks Runtime 7.0 Beta.

Pustaka Java dan Scala (Kluster Scala 2.12)

Selain pustaka Java dan Scala di Databricks Runtime 7.0, Databricks Runtime 7.0 ML berisi JAR berikut:

ID Grup Artefak ID Versi
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.0.0
ml.dmlc xgboost4j_2.12 1.0.0
org.mlflow mlflow-client 1.8.0
org.scala-lang.modules scala-java8-compat_2.12 0.8.0
org.tensorflow spark-tensorflow-connector_2.12 1.15.0