Databricks Runtime 6.0 for ML (サポート期間終了)
Note
この Databricks Runtime バージョンのサポートは終了しました。 サポート終了日については、「サポート終了の履歴」を参照してください。 サポートされている Databricks Runtime のすべてのバージョンについては、「Databricks Runtime リリース ノートのバージョンと互換性」を参照してください。
Databricks は、2019 年 10 月にこのバージョンをリリースしました。
Databricks Runtime 6.0 for Machine Learning では、Databricks Runtime 6.0 (サポート期間終了) に基づいて、機械学習とデータ サイエンス用にすぐに利用できる環境が用意されています。 Databricks Runtime ML には、TensorFlow、PyTorch、Keras、XGBoost など、多くの一般的な機械学習ライブラリが含まれています。 また、Horovod を使用した分散型ディープ ラーニング トレーニングもサポートされています。
Databricks Runtime ML クラスターを作成する手順などの詳細については、「Databricks での AI と Machine Learning」を参照してください。
新機能
Databricks Runtime 6.0 ML は Databricks Runtime 6.0 上に構築されています。 Databricks Runtime 6.0 の新機能については、「Databricks Runtime 6.0 (サポート期間終了)」のリリース ノートをご覧ください。
新しい MLflow Spark データ ソースを使用して MLflow 実験データに対する大規模なクエリを実行する
MLflow 実験用の Spark データ ソースで、MLflow 実験の実行データを読み込む標準 API が提供されるようになりました。 これにより、DataFrame API を使用した MLflow 実験データの大規模なクエリと分析が可能になります。 特定の実験について、DataFrame には、成果物の run_ids、metrics、params、tags、start_time、end_time、status、および artifact_uri が含まれています。 「MLflow 実験」を参照してください。
機能強化
Hyperopt GA
Azure Databricks 上の Hyperopt の一般提供が開始されました。 パブリック プレビュー以降の主な機能強化には、Spark ワーカーでの MLflow ログのサポート、PySpark ブロードキャスト変数の正しい処理、Hyperopt を使用した、モデル選択に関する新しいガイドが含まれます。 また、ログ メッセージ、エラー処理、UI の小さなバグが修正され、ドキュメントが閲覧者にとってわかりやすくなりました。 詳細については、Hyperopt のドキュメントを参照してください。
mlflow.log_metric
関数にメトリックを渡すことで、Hyperopt の実行中にカスタム メトリックをログに記録できるよう、Azure Databricks で Hyperopt の実験をログに記録する方法が更新されました (log_metric を参照)。 これは、hyperopt.fmin
関数の呼び出し時に既定でログに記録される損失に加えて、カスタム メトリックをログに記録する場合に便利です。MLflow
- MLflow Java クライアント 1.2.0 が追加されました
- MLflow が最上位層ライブラリに昇格されています
機械学習ライブラリのアップグレード
- Horovod が 0.16.4 から 0.18.1 にアップグレードされました
- MLflow が 1.0.0 から 1.2.0 にアップグレードされました
Anaconda ディストリビューションが 5.2.0 から 2019.03 にアップグレードされました
削除
Databricks ML Model Export は削除されました。 モデルのインポートとエクスポートには、代わりに MLeap を使用してください。
Hyperopt ライブラリでは、
hyperopt.SparkTrials
の次のプロパティが削除されました。SparkTrials.successful_trials_count
SparkTrials.failed_trials_count
SparkTrials.cancelled_trials_count
SparkTrials.total_trials_count
これらは次の関数に置き換えられています。
SparkTrials.count_successful_trials()
SparkTrials.count_failed_trials()
SparkTrials.count_cancelled_trials()
SparkTrials.count_total_trials()
システム環境
Databricks Runtime 6.0 ML のシステム環境は、Databricks Runtime 6.0 とは次のように異なります。
- DBUtils: ライブラリ ユーティリティ (dbutils.library) (レガシ) は含まれていません。
ライブラリ
以下のセクションでは、Databricks Runtime 6.0 に含まれているものとは異なる、Databricks Runtime 6.0 ML に含まれるライブラリ一覧を示します。
最上位層ライブラリ
Databricks Runtime 6.0 ML には、次の最上位層ライブラリが含まれています。
- GraphFrames
- Horovod と HorovodRunner
- MLflow
- PyTorch
- spark-tensorflow-connector
- TensorFlow
- TensorBoard
Python ライブラリ
Databricks Runtime 6.0 ML は、Python パッケージ管理に Conda を使用し、多くの一般的な ML パッケージを含んでいます。 次のセクションでは、Databricks Runtime 6.0 ML の Conda 環境について説明します。
CPU クラスター上の Python 3
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
Python モジュールを含む Spark パッケージ
Spark パッケージ | Python モジュール | Version |
---|---|---|
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 |
R ライブラリ
R ライブラリは、Databricks Runtime 6.0 の R ライブラリと同じです。
Java と Scala のライブラリ (Scala 2.11 クラスター)
Databricks Runtime 6.0 ML には、Databricks Runtime 6.0 の Java および Scala ライブラリに加え、次の JAR が含まれています。
グループ ID | 成果物 ID | Version |
---|---|---|
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 |