Databricks Runtime 6.2 for ML (EoS)
この Databricks Runtime バージョンのサポートは終了しました。 サポート終了日については、「 サポート終了の履歴」を参照してください。 サポートされているすべての Databricks Runtime バージョンについては、「 Databricks Runtime リリースノートのバージョンと互換性」を参照してください。
Databricks は 2019 年 12 月にこのバージョンをリリースしました。
Databricks Runtime 6.2 for Machine Learning は、 Databricks Runtime 6.2 (EoS) に基づく機械学習とデータサイエンスのためのすぐに使える環境を提供します。Databricks Runtime ML には、TensorFlow、PyTorch、Keras、XGBoost など、一般的な機械学習ライブラリが多数含まれています。 また、 Horovodを使用した分散ディープラーニング トレーニングもサポートしています。
Databricks RuntimeMLクラスターの作成手順など、詳細については、「AI での と機械学習Databricks 」を参照してください。
新機能
Databricks Runtime 6.2 ML は、Databricks Runtime 6.2 の上に構築されています。 Databricks Runtime 6.2 の新機能については、Databricks Runtime 6.2 (EoS) リリースノートを参照してください。
改善
アップグレードされた機械学習ライブラリ
-
TensorFlow と TensorBoard: 1.14.0 から 1.15.0。 次の 2 つの既知の問題があります。
- 、 PySpark、 HorovodRunner、 、 、 Hyperopt、およびその他の機械学習ライブラリでのピクルスの問題を回避するために、関数で tensorflow モジュールを明示的にインポートする必要がある場合があります。
- TensorBoard の [Projector] タブが空白です。 回避策として、プロジェクターのページに直接アクセスするには、URLの
#projector
をdata/plugin/projector/projector_binary.html
に置き換えることができます。
-
Keras: 2.2.4 から 2.2.5。
Keras に TensorFlow バックエンドを使用する場合、Databricks では代わりに tf.keras
を使用することをお勧めします。
-
PyTorch: 1.2.0 から 1.3.0。
-
テンソルボードX:1.8から1.9。
PyTorch が TensorBoard を公式にサポートするようになったため、次のメジャーリリースでは tensorboardX を削除します。
-
MLflow: 1.3.0 から 1.4.0。
- Keras と TensorFlow の自動ログ記録と Kerasモデルの永続性 APIs が TensorFlow 2.0 と互換性を持つようになりました。
- 新機能
get_run
、get_experiment
、get_experiment_by_name
機能
-
Hyperopt: 0.2-db1 と Databricks MLflow の統合。
-
mleap-databricks-runtime を 0.15.0 に変更し、mleap-xgboost-runtime を含めます。
SparkTrials にブロードキャスト変数のサポートを追加
以前は、Hyperopt と SparkTrials を PySpark ブロードキャスト変数で使用できませんでした。 これで、ブロードキャスト変数を fmin()
に渡される関数fn
に含めることができます。
非推奨
Databricks Runtime 6.2 での非推奨に加えて、次のパッケージは非推奨となり、次のメジャー リリースで削除されます。
- TensorFrames です。 代わりに Pandas UDF を使用してください。
- Python パッケージに含まれるいくつかのモジュールとクラスは
sparkdl
. 主なものは次のとおりです。sparkdl.HorovodEstimator
. sparkdl を使用します。代わりにHorovodRunner を使用してください。sparkdl.graph
.代わりに Pandas UDF を使用してください。sparkdl.udf
.代わりに Pandas UDF を使用してください。- Spark ML パイプラインで使用される Transformer と Estimator は非推奨です。 次の代替手段を使用します。
-
次のトランスフォーマーの代わりに Pandas UDF を使用してください。
TFImageTransformer
TFTransformer
DeepImagePredictor
DeepImageFeaturizer
KerasImageFileTransformer
KerasTransformer
-
KerasImageFileEstimator
: ディープラーニング モデルのチューニングには、代わりに Hyperopt を使用します。
-
詳細と推奨される代替手段については、ノートブックでこれらのパッケージを使用する際の非推奨メッセージを参照してください。
バグの修正
Databricks Community Edition では、PySpark ワーカーがプレインストールされた Spark パッケージを検索できるようになりました。
システム環境
Databricks Runtime 6.2 ML のシステム環境は、Databricks Runtime 6.2 と次のように異なります。
- DBUtils : ライブラリ ユーティリティ (dbutils.ライブラリ) (レガシー) は含まれていません。
- GPU クラスターの場合、次の NVIDIA GPU ライブラリ:
- NVIDIAドライバー418.40
- CUDA 10.0
- cuDNN 7.6.4
- NCCL 2.4.7
ライブラリ
次のセクションでは、Databricks Runtime 6.2 ML に含まれるライブラリのうち、それらと異なるライブラリの一覧を示します Databricks Runtime 6.2 に含まれています。
このセクションの内容:
トップクラスのライブラリ
Databricks Runtime 6.2 ML には、次の最上位 ライブラリが含まれています。
Python ライブラリ
Databricks Runtime 6.2 ML は、Python パッケージ管理に Conda を使用し、多くの一般的な ML パッケージが含まれています。 次のセクションでは、Databricks Runtime 6.2 ML の Conda 環境について説明します。
CPU クラスターに関するPython
name: databricks-ml
channels:
- Databricks
- pytorch
- defaults
dependencies:
- _libgcc_mutex=0.1=main
- _py-xgboost-mutex=2.0=cpu_0
- _tflow_select=2.3.0=mkl
- absl-py=0.8.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.7=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=py_0
- cloudpickle=0.8.0=py37_0
- colorama=0.4.1=py_0
- configparser=3.7.4=py37_0
- cpuonly=1.0=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.6=py_0
- gitpython=2.1.11=py37_0
- google-pasta=0.1.8=py_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=py_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-applications=1.0.8=py_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.9.2=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_1
- 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
- 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=py_0
- openpyxl=2.6.1=py37_1
- openssl=1.1.1b=h7b6447c_1
- opt_einsum=3.1.0=py_0
- 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.9.2=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_1
- py-xgboost-cpu=0.90=py37_1
- pyasn1=0.4.8=py_0
- pycparser=2.19=py_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=1.3.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=py_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.15.0+db2=pyhb230dea_0
- tensorflow=1.15.0+db2=mkl_py37hc5fbf04_0
- tensorflow-base=1.15.0+db2=mkl_py37h2ae1e84_0
- tensorflow-estimator=1.15.1+db2=pyh2649769_0
- tensorflow-mkl=1.15.0+db2=h4fcabd2_0
- termcolor=1.1.0=py37_1
- tk=8.6.8=hbc83047_0
- torchvision=0.4.1=py37_cpu
- 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.1
- deprecated==1.2.7
- docker==4.1.0
- fusepy==2.0.4
- gorilla==0.3.0
- horovod==0.18.2
- hyperopt==0.2.1.db1
- keras==2.2.5
- matplotlib==3.0.3
- mleap==0.8.1
- mlflow==1.4.0
- nose-exclude==0.5.0
- pyarrow==0.13.0
- querystring-parser==1.2.4
- seaborn==0.9.0
- tensorboardx==1.9
prefix: /databricks/conda/envs/databricks-ml
Python on GPU クラスター
name: databricks-ml-gpu
channels:
- Databricks
- pytorch
- defaults
dependencies:
- _libgcc_mutex=0.1=main
- _py-xgboost-mutex=1.0=gpu_0
- _tflow_select=2.1.0=gpu
- absl-py=0.8.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.7=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=py_0
- cloudpickle=0.8.0=py37_0
- colorama=0.4.1=py_0
- configparser=3.7.4=py37_0
- cryptography=2.6.1=py37h1ba5d50_0
- cudatoolkit=10.0.130=0
- cudnn=7.6.4=cuda10.0_0
- cupti=10.0.130=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.6=py_0
- gitpython=2.1.11=py37_0
- google-pasta=0.1.8=py_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=py_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-applications=1.0.8=py_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.9.2=hd408876_0
- libsodium=1.0.16=h1bed415_0
- libstdcxx-ng=8.2.0=hdf63c60_1
- libtiff=4.0.10=h2733197_2
- libxgboost=0.90=h688424c_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
- 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=py_0
- openpyxl=2.6.1=py37_1
- openssl=1.1.1b=h7b6447c_1
- opt_einsum=3.1.0=py_0
- 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.9.2=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=py37h688424c_0
- py-xgboost-gpu=0.90=py37h28bbb66_0
- pyasn1=0.4.8=py_0
- pycparser=2.19=py_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=1.3.0=py3.7_cuda10.0.130_cudnn7.6.3_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=py_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.15.0+db2=pyhb230dea_0
- tensorflow=1.15.0+db2=gpu_py37h9fd0ff8_0
- tensorflow-base=1.15.0+db2=gpu_py37hd56f5dd_0
- tensorflow-estimator=1.15.1+db2=pyh2649769_0
- tensorflow-gpu=1.15.0+db2=h0d30ee6_0
- termcolor=1.1.0=py37_1
- tk=8.6.8=hbc83047_0
- torchvision=0.4.1=py37_cu100
- 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.1
- deprecated==1.2.7
- docker==4.1.0
- fusepy==2.0.4
- gorilla==0.3.0
- horovod==0.18.2
- hyperopt==0.2.1.db1
- keras==2.2.5
- matplotlib==3.0.3
- mleap==0.8.1
- mlflow==1.4.0
- nose-exclude==0.5.0
- pyarrow==0.13.0
- querystring-parser==1.2.4
- seaborn==0.9.0
- tensorboardx==1.9
prefix: /databricks/conda/envs/databricks-ml-gpu
Python モジュールを含む Spark パッケージ
Spark パッケージ | Python モジュール | バージョン |
---|---|---|
graphframes | graphframes | 0.7.0-db1-spark2.4 |
スパークディープラーニング | スパークDL | 1.5.0-DB12-スパーク2.4 |
TensorFrames | TensorFrames | 0.8.2 から s_2.11 |
R ライブラリ
R ライブラリは、Databricks Runtime 6.2 の R ライブラリと同じです。
Java and Scala ライブラリ (Scala 2.11 クラスター)
Databricks Runtime 6.2 ML には、Databricks Runtime 6.2 の Java ライブラリと Scala ライブラリに加えて、次の JAR が含まれています。
グループID | アーティファクト ID | バージョン |
---|---|---|
com.databricksの | スパークディープラーニング | 1.5.0-DB12-スパーク2.4 |
com.typesafe.akka (英語) | アッカ-actor_2.11 | 2.3.11 |
ml.combust.mleap | mleap-databricks-runtime_2.11 | 0.15.0 |
ml.dmlc | XGブースト4J | 0.90 |
ml.dmlc | XGBOOST4J-スパーク | 0.90 |
org.graphframes | graphframes_2.11 | 0.7.0-db1-spark2.4 |
org.mlflowの | mlflow-クライアント | 1.4.0 |
org.tensorflowの | リテンソルフロー | 1.15.0 |
org.tensorflowの | libtensorflow_jni | 1.15.0 |
org.tensorflowの | スパークテンソルフロー connector_2.11 | 1.15.0 |
org.tensorflowの | TensorFlow | 1.15.0 |
org.tensorフレーム | TensorFrames | 0.8.2 から s_2.11 |