メインコンテンツまでスキップ

Databricks Runtime 7.0 ML (EoS)

注記

この Databricks Runtime バージョンのサポートは終了しました。 サポート終了日については、「 サポート終了の履歴」を参照してください。 サポートされているすべての Databricks Runtime バージョンについては、「 Databricks Runtime リリースノートのバージョンと互換性」を参照してください。

Databricks は 2020 年 6 月にこのバージョンをリリースしました。

Databricks Runtime 7.0 for Machine Learning は、 Databricks Runtime 7.0 (EoS) に基づく機械学習とデータサイエンスのためのすぐに使える環境を提供します。Databricks Runtime ML には、TensorFlow、PyTorch、XGBoost など、多くの一般的な機械学習ライブラリが含まれています。また、 Horovodを使用した分散ディープラーニング トレーニングもサポートしています。

Databricks RuntimeMLクラスターの作成手順など、詳細については、「AI での と機械学習Databricks 」を参照してください。

新機能と主な変更点

Databricks Runtime 7.0 ML は、Databricks Runtime 7.0 の上に構築されています。Databricks Runtime 7.0 の新機能 (Apache Spark MLlib や SparkRなど) については、 Databricks Runtime 7.0 (EoS) リリースノートを参照してください。

GPU 対応のスケジューリング

Databricks Runtime 7.0 ML は、Apache Spark 3.0 からの GPU 対応スケジューリングをサポートしています。 Databricks によって自動的に構成されます。 GPU スケジューリングを参照してください。

ML Python 環境の主な変更点

このセクションでは、 Databricks Runtime 6.6 ML (EoS) と比較した場合のプレインストールされた ML Python 環境の主な変更点について説明します。また、Databricks Runtime 7.0 (EoS) の基本 Python 環境に対する主な変更点も確認する必要があります。インストールされている Python パッケージとそのバージョンの完全な一覧については、「 Python ライブラリ」を参照してください。

Python パッケージのアップグレード

  • テンソルフロー 1.15.0 -> 2.2.0
  • TensorBoard 1.15.0 -> 2.2.2
  • PyTorch 1.4.0 -> 1.5.0
  • XGブースト0.90 -> 1.1.1
  • スパークDL 1.6.0-DB1 -> 2.1.0-db1
  • Hyperopt 0.2.2.db1 -> 0.2.4.db1

Python パッケージが追加されました

  • ライトGBM:2.3.0
  • NLTK:3.4.5
  • ペタストーム:0.9.2
  • プロット:4.5.2

Python パッケージの削除

  • argparse
  • Boto (代わりに boto3 を使用してください)
  • コロラマ州
  • 廃止
  • et-xmlファイル
  • ヒューズピー
  • html5lib の
  • JDCALの
  • Keras (代わりに tensorflow.keras を使用してください)
  • Keras-applications (代わりに tensorflow.keras.applications を使用)
  • LLVMLITEの
  • lxml の
  • ノーズ除外
  • ナンバ
  • openpyxlの
  • pathlib2 の
  • 通う
  • ピモンゴ
  • シングルディスパッチ
  • tensorboardX (代わりに torch.utils.tensorboard を使用)
  • virtualenv
  • webエンコーディング

ML R 環境の主な変更点

Databricks Runtime 7.0 MLには、RStudio Server オープンソース v1.2.5033 の未変更バージョンが含まれています。 ソース コードは GitHubにあります。詳細については、Databricks 上の RStudio Server を参照してください。

ML Spark パッケージ、Java、Scala ライブラリの変更

次のパッケージがアップグレードされます。 一部の Apache Spark 3.0 と互換性のある SNAPSHOT リリースにアップグレードされます。

  • GraphFrames: 0.7.0-db1-spark2.4 -> 0.8.0-db2-spark3.0
  • spark-tensorflow-connector:1.15.0(Scala 2.11)-> 1.15.0(Scala 2.12)
  • xgboost4j および xgboost4j-spark: 0.90 -> 1.0.0
  • mleap-databricks-runtime: 0.17.0-4882dc3 (スナップショット)

次のパッケージは削除されます。

  • TensorFlow (Java)
  • TensorFrames
  • ディープラーニング パイプライン for Apache Spark (HorovodRunner is available in Python)

ノートブック スコープの Python ライブラリをサポートするための conda コマンドと pip コマンドを追加 (パブリック プレビュー)

Databricks Runtime 7.0 ML 以降では、 %pip コマンドと %conda コマンドを使用して、ノートブック セッションにインストールされている Python ライブラリを管理できます。また、これらのコマンドを使用して、ノートブックのカスタム環境を作成し、この環境をノートブック間で再現することもできます。この機能を有効にするには、クラスター設定で、 Spark 構成 spark.databricks.conda.condaMagic.enabled trueを設定します。詳細については、「 ノートブック スコープの Python ライブラリ」を参照してください。

非推奨とサポートされていない機能

Databricks Runtime 7.0 ML は テーブルアクセスコントロールをサポートしていません。テーブルアクセスコントロールが必要な場合は、 Databricks Runtime 7.0 を使用することをお勧めします。

既知の問題

  • MLlib モデルを mleap 形式でログに記録している場合、 sample_input 引数が mlflow.spark.log_model に渡されると、AttributeError で失敗します。この問題は、mleap の API の変更が原因です。この問題を回避するには、MLflow 1.9.0 にアップグレードします。MLflow 1.9.0 は、 ノートブック スコープの Python ライブラリを使用してインストールできます。

システム環境

Databricks Runtime 7.0 ML のシステム環境は、Databricks Runtime 7.0 と次のように異なります。

ライブラリ

次のセクションでは、Databricks Runtime 7.0 ML に含まれるライブラリのうち、それらと異なるライブラリの一覧を示します Databricks Runtime 7.0 に含まれています。

このセクションの内容:

トップクラスのライブラリ

Databricks Runtime 7.0 ML には、次の最上位 ライブラリが含まれています。

Python ライブラリ

Databricks Runtime 7.0 ML は、Python パッケージ管理に Conda を使用し、多くの一般的な ML パッケージが含まれています。 次のセクションでは、Databricks Runtime 7.0 ML の Conda 環境について説明します。

CPU クラスターに関するPython

YAML
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 on GPU クラスター

YAML
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

Python モジュールを含む Spark パッケージ

Spark パッケージ

Python モジュール

バージョン

graphframes

graphframes

0.8.0-db2-spark3.0

R ライブラリ

R ライブラリは、Databricks Runtime7.0 Beta の R ライブラリ と同じです。

Java and Scala ライブラリ (Scala 2.12 クラスター)

Databricks Runtime 7.0 ML には、Databricks Runtime 7.0 の Java ライブラリと Scala ライブラリに加えて、次の JAR が含まれています。

グループID

アーティファクト ID

バージョン

com.typesafe.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-クライアント

1.8.0

組織Scala-lang.modules

Scala-java8-compat_2.12

0.8.0

org.tensorflowの

spark-tensorflow-connector_2.12

1.15.0