Databricks Runtime 9.1 LTS for Machine Learning

このイメージは 2021 年 9 月に Databricks からリリースされ、長期サポート (LTS) が宣言されました。

Databricks Runtime 9.1 LTS for Machine Learning では、Databricks Runtime 9.1 LTS に基づく機械学習とデータ サイエンス向けのすぐに使用できる環境が提供されます。 Databricks Runtime ML には、TensorFlow、PyTorch、XGBoost など、多くの一般的な機械学習ライブラリが含まれています。 Databricks Runtime ML には、機械学習パイプラインを自動的にトレーニングするツールである AutoML が含まれています。 また、Databricks Runtime ML では、Horovod を使用した分散型ディープ ラーニング トレーニングもサポートされます。

注意

LTS は、このバージョンが長期的にサポートされていることを意味します。 Databricks Runtime LTS バージョンのライフサイクルに関する記事を参照してください。

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

ヒント

サポート終了 (EoS) を迎えた Databricks Runtime のバージョンのリリース ノートについては、「サポート終了 Databricks Runtime のリリース ノート」を参照してください。 EoS Databricks Runtime のバージョンは廃止されており、更新されていない可能性があります。

新機能と機能強化

AutoML

次の機能強化は Databricks Runtime 9.1 LTS ML 以降で利用できます。

AutoML がサポートするデータセットのサンプリングによる拡張

AutoML で、メモリの制約を超える可能性があるデータセットがサンプリングされるようになり、大きなデータセットに対して AutoML を実行してもメモリ不足エラーが発生しにくくなりました。 詳細については、「大規模なデータセットのサンプリング」を参照してください。

AutoML によるセマンティック型に基づいた列の前処理

AutoML は、Spark または pandas のデータ型と異なるセマンティック型を持つ特定の列を検出します。 AutoML はその後、検出されたセマンティック型に基づいて、データの前処理ステップを変換および適用します。 具体的には、AutoML は次の変換を実行します。

  • 日付データまたはタイムスタンプ データを表す文字列の列と整数の列は、タイムスタンプ型に変換されます。
  • 数値データを表す文字列の列は、数値型に変換されます。

AutoML によって生成されるノートブックの改善

日付およびタイムスタンプ列の前処理ステップが新しく databricks-automl-runtime パッケージに組み込まれ、AutoML トレーニングによって生成されるノートブックが簡素化されました。 databricks-automl-runtime は Databricks Runtime 9.1 LTS ML 以降に含まれており、PyPI でも使用できます。

機能ストア

次の機能強化は Databricks Runtime 9.1 LTS ML 以降で利用できます。

  • TrainingSet を作成するときに、教師なし学習アプリケーションをサポートするように label=None を設定できるようになりました。
  • 1 つの FeatureLookup で複数の特徴を指定できるようになりました。
  • 特徴テーブルのカスタム パスを指定できるようになりました。 create_feature_table()path パラメーターを使用します。 既定値はデータベースの場所です。
  • 新しくサポートされた PySpark データ型: ArrayType と ShortType。

Mlflow

次の機能強化は、Databricks Runtime 9.1 LTS ML に含まれている Mlflow バージョン 1.20.2 以降で利用できます。

  • scikit-learn の自動ログ記録で、sklearn.metrics.mean_squared_error などの scikit-learn 評価 API が呼び出されるたびに、トレーニング後のメトリックが記録されるようになりました。
  • PySpark ML の自動ログ記録で、Evaluator.evaluate() などのモデル評価 API が呼び出されるたびに、トレーニング後のメトリックが記録されるようになりました。
  • mlflow.*.log_modelmlflow.*.save_modelpip_requirements 引数と extra_pip_requirements 引数が追加され、ログ記録または保存するモデルの pip 要件を直接指定できるようになりました。
  • mlflow.*.log_modelmlflow.*.save_model で、現在のソフトウェア環境に基づいて、ログ記録または保存するモデルの pip 要件を自動的に推論するようになりました。
  • PySpark CrossValidator の自動ログ記録中に、stdMetrics エントリがトレーニング メトリックとして記録されるようになりました。
  • PyTorch Lightning の自動ログ記録で、分散実行が新たにサポートされます。

Databricks Autologging (パブリック プレビュー)

Databricks Autologging のパブリック プレビューが新しいリージョンにまで拡張されました。 Databricks Autologging は、Azure Databricks 上の機械学習トレーニング セッションの自動実験追跡を提供する、ノーコード ソリューションです。 Databricks Autologging を使用すると、さまざまな一般的な機械学習ライブラリのモデルをトレーニングするときに、モデル パラメーター、メトリック、ファイル、および系列情報が自動的にキャプチャされます。 トレーニング セッションは、MLflow 追跡の実行として記録されます。 モデル ファイルも追跡されるため、それらを MLflow モデル レジストリに簡単にログし、MLflow Model Serving を使用してリアルタイム スコアリングのためにデプロイすることができます。

Databricks Autologging の詳細については、「Databricks Autologging」を参照してください。

Databricks Runtime ML Python 環境の大きな変更点

アップグレードされた Python パッケージ

  • automl 1.1.1 => 1.2.1
  • feature_store 0.3.3 => 0.3.4.1
  • holidays 0.10.5.2 => 0.11.2
  • keras 2.5.0 => 2.6.0
  • mlflow 1.19.0 => 1.20.2
  • petastorm 0.11.1 => 0.11.2
  • plotly 4.14.3 => 5.1.0
  • spark-tensorflow-distributor 0.1.0 => 1.0.0
  • sparkdl 2.2.0_db1 => 2.2.0_db3
  • tensorboard 2.5.0 => 2.6.0
  • tensorflow 2.5.0 => 2.6.0

追加された Python パッケージ

  • databricks-automl-runtime 0.1.0

システム環境

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

ライブラリ

以下のセクションでは、Databricks Runtime 9.1 LTS に含まれているものとは異なる、Databricks Runtime 9.1 LTS ML に含まれるライブラリ一覧を示します。

このセクションの内容は次のとおりです。

最上位層ライブラリ

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

Python ライブラリ

Databricks Runtime 9.1 LTS ML では、Python パッケージ管理に Virtualenv が使用されており、多くの一般的な ML パッケージが含まれています。

以下のセクションで指定されているパッケージに加えて、Databricks Runtime 9.1 LTS ML には次のパッケージも含まれています。

  • hyperopt 0.2.5.db2
  • sparkdl 2.2.0_db3
  • feature_store 0.3.4.1
  • automl 1.2.1

CPU クラスター上の Python ライブラリ

ライブラリ Version ライブラリ Version ライブラリ Version
absl-py 0.11.0 Antergos Linux 2015.10 (ISO-Rolling) appdirs 1.4.4
argon2-cffi 20.1.0 astor 0.8.1 astunparse 1.6.3
async-generator 1.10 attrs 20.3.0 backcall 0.2.0
bcrypt 3.2.0 bleach 3.3.0 boto3 1.16.7
botocore 1.19.7 Bottleneck 1.3.2 cachetools 4.2.2
certifi 2020.12.5 cffi 1.14.5 chardet 4.0.0
clang 5.0 クリックし 7.1.2 cloudpickle 1.6.0
cmdstanpy 0.9.68 configparser 5.0.1 convertdate 2.3.2
cryptography 3.4.7 cycler 0.10.0 Cython 0.29.23
databricks-automl-runtime 0.1.0 databricks-cli 0.14.3 dbus-python 1.2.16
decorator 5.0.6 defusedxml 0.7.1 dill 0.3.2
diskcache 5.2.1 distlib 0.3.2 distro-info 0.23ubuntu1
entrypoints 0.3 ephem 4.0.0.2 facets-overview 1.0.0
filelock 3.0.12 Flask 1.1.2 flatbuffers 1.12
fsspec 0.9.0 future 0.18.2 gast 0.4.0
gitdb 4.0.7 GitPython 3.1.12 google-auth 1.22.1
google-auth-oauthlib 0.4.2 google-pasta 0.2.0 grpcio 1.39.0
gunicorn 20.0.4 h5py 3.1.0 hijri-converter 2.2.1
holidays 0.11.2 horovod 0.22.1 htmlmin 0.1.12
idna 2.10 ImageHash 4.2.1 importlib-metadata 3.10.0
ipykernel 5.3.4 ipython 7.22.0 ipython-genutils 0.2.0
ipywidgets 7.6.3 isodate 0.6.0 itsdangerous 1.1.0
jedi 0.17.2 Jinja2 2.11.3 jmespath 0.10.0
joblib 1.0.1 joblibspark 0.3.0 jsonschema 3.2.0
jupyter-client 6.1.12 jupyter-core 4.7.1 jupyterlab-pygments 0.1.2
jupyterlab-widgets 1.0.0 keras 2.6.0 Keras-Preprocessing 1.1.2
kiwisolver 1.3.1 koalas 1.8.1 korean-lunar-calendar 0.2.1
lightgbm 3.1.1 llvmlite 0.37.0 LunarCalendar 0.0.9
Mako 1.1.3 Markdown 3.3.3 MarkupSafe 1.1.1
matplotlib 3.4.2 missingno 0.5.0 mistune 0.8.4
mleap 0.17.0 mlflow-skinny 1.20.2 multimethod 1.4
nbclient 0.5.3 nbconvert 6.0.7 nbformat 5.1.3
nest-asyncio 1.5.1 networkx 2.5 nltk 3.6.1
ノートブック 6.3.0 numba 0.54.0 numpy 1.19.2
oauthlib 3.1.0 opt-einsum 3.3.0 パッケージング 20.9
pandas 1.2.4 pandas-profiling 3.0.0 pandocfilters 1.4.3
paramiko 2.7.2 parso 0.7.0 patsy 0.5.1
petastorm 0.11.2 pexpect 4.8.0 phik 0.12.0
pickleshare 0.7.5 Pillow 8.2.0 pip 21.0.1
plotly 5.1.0 prometheus-client 0.10.1 prompt-toolkit 3.0.17
prophet 1.0.1 protobuf 3.17.2 psutil 5.8.0
psycopg2 2.8.5 ptyprocess 0.7.0 pyarrow 4.0.0
pyasn1 0.4.8 pyasn1-modules 0.2.8 pycparser 2.20
pydantic 1.8.2 Pygments 2.8.1 PyGObject 3.36.0
PyMeeus 0.5.11 PyNaCl 1.3.0 pyodbc 4.0.30
pyparsing 2.4.7 pyrsistent 0.17.3 pystan 2.19.1.1
python-apt 2.0.0+ubuntu0.20.4.6 python-dateutil 2.8.1 python-editor 1.0.4
pytz 2020.5 PyWavelets 1.1.1 PyYAML 5.4.1
pyzmq 20.0.0 regex 2021.4.4 requests 2.25.1
requests-oauthlib 1.3.0 requests-unixsocket 0.2.0 rsa 4.7.2
s3transfer 0.3.7 scikit-learn 0.24.1 scipy 1.6.2
seaborn 0.11.1 Send2Trash 1.5.0 setuptools 52.0.0
setuptools-git 1.2 shap 0.39.0 simplejson 3.17.2
6 1.15.0 slicer 0.0.7 smmap 3.0.5
spark-tensorflow-distributor 1.0.0 sqlparse 0.4.1 ssh-import-id 5.10
statsmodels 0.12.2 tabulate 0.8.7 tangled-up-in-unicode 0.1.0
tenacity 6.2.0 TensorBoard 2.6.0 tensorboard-data-server 0.6.1
tensorboard-plugin-wit 1.8.0 tensorflow-cpu 2.6.0 tensorflow-estimator 2.6.0
termcolor 1.1.0 terminado 0.9.4 testpath 0.4.4
threadpoolctl 2.1.0 torch 1.9.0+cpu torchvision 0.10.0+cpu
tornado 6.1 tqdm 4.59.0 traitlets 5.0.5
typing-extensions 3.7.4.3 ujson 4.0.2 unattended-upgrades 0.1
urllib3 1.25.11 virtualenv 20.4.1 visions 0.7.1
wcwidth 0.2.5 webencodings 0.5.1 websocket-client 0.57.0
Werkzeug 1.0.1 wheel 0.36.2 widgetsnbextension 3.5.1
wrapt 1.12.1 xgboost 1.4.2 zipp 3.4.1

GPU クラスター上の Python ライブラリ

ライブラリ Version ライブラリ Version ライブラリ Version
absl-py 0.11.0 Antergos Linux 2015.10 (ISO-Rolling) appdirs 1.4.4
argon2-cffi 20.1.0 astor 0.8.1 astunparse 1.6.3
async-generator 1.10 attrs 20.3.0 backcall 0.2.0
bcrypt 3.2.0 bleach 3.3.0 boto3 1.16.7
botocore 1.19.7 Bottleneck 1.3.2 cachetools 4.2.2
certifi 2020.12.5 cffi 1.14.5 chardet 4.0.0
clang 5.0 クリックし 7.1.2 cloudpickle 1.6.0
cmdstanpy 0.9.68 configparser 5.0.1 convertdate 2.3.2
cryptography 3.4.7 cycler 0.10.0 Cython 0.29.23
databricks-automl-runtime 0.1.0 databricks-cli 0.14.3 dbus-python 1.2.16
decorator 5.0.6 defusedxml 0.7.1 dill 0.3.2
diskcache 5.2.1 distlib 0.3.2 distro-info 0.23ubuntu1
entrypoints 0.3 ephem 4.0.0.2 facets-overview 1.0.0
filelock 3.0.12 Flask 1.1.2 flatbuffers 1.12
fsspec 0.9.0 future 0.18.2 gast 0.4.0
gitdb 4.0.7 GitPython 3.1.12 google-auth 1.22.1
google-auth-oauthlib 0.4.2 google-pasta 0.2.0 grpcio 1.39.0
gunicorn 20.0.4 h5py 3.1.0 hijri-converter 2.2.1
holidays 0.11.2 horovod 0.22.1 htmlmin 0.1.12
idna 2.10 ImageHash 4.2.1 importlib-metadata 3.10.0
ipykernel 5.3.4 ipython 7.22.0 ipython-genutils 0.2.0
ipywidgets 7.6.3 isodate 0.6.0 itsdangerous 1.1.0
jedi 0.17.2 Jinja2 2.11.3 jmespath 0.10.0
joblib 1.0.1 joblibspark 0.3.0 jsonschema 3.2.0
jupyter-client 6.1.12 jupyter-core 4.7.1 jupyterlab-pygments 0.1.2
jupyterlab-widgets 1.0.0 keras 2.6.0 Keras-Preprocessing 1.1.2
kiwisolver 1.3.1 koalas 1.8.1 korean-lunar-calendar 0.2.1
lightgbm 3.1.1 llvmlite 0.37.0 LunarCalendar 0.0.9
Mako 1.1.3 Markdown 3.3.3 MarkupSafe 1.1.1
matplotlib 3.4.2 missingno 0.5.0 mistune 0.8.4
mleap 0.17.0 mlflow-skinny 1.20.2 multimethod 1.4
nbclient 0.5.3 nbconvert 6.0.7 nbformat 5.1.3
nest-asyncio 1.5.1 networkx 2.5 nltk 3.6.1
ノートブック 6.3.0 numba 0.54.0 numpy 1.19.2
oauthlib 3.1.0 opt-einsum 3.3.0 パッケージング 20.9
pandas 1.2.4 pandas-profiling 3.0.0 pandocfilters 1.4.3
paramiko 2.7.2 parso 0.7.0 patsy 0.5.1
petastorm 0.11.2 pexpect 4.8.0 phik 0.12.0
pickleshare 0.7.5 Pillow 8.2.0 pip 21.0.1
plotly 5.1.0 prompt-toolkit 3.0.17 prophet 1.0.1
protobuf 3.17.2 psutil 5.8.0 psycopg2 2.8.5
ptyprocess 0.7.0 pyarrow 4.0.0 pyasn1 0.4.8
pyasn1-modules 0.2.8 pycparser 2.20 pydantic 1.8.2
Pygments 2.8.1 PyGObject 3.36.0 PyMeeus 0.5.11
PyNaCl 1.3.0 pyodbc 4.0.30 pyparsing 2.4.7
pyrsistent 0.17.3 pystan 2.19.1.1 python-apt 2.0.0+ubuntu0.20.4.6
python-dateutil 2.8.1 python-editor 1.0.4 pytz 2020.5
PyWavelets 1.1.1 PyYAML 5.4.1 pyzmq 20.0.0
regex 2021.4.4 requests 2.25.1 requests-oauthlib 1.3.0
requests-unixsocket 0.2.0 rsa 4.7.2 s3transfer 0.3.7
scikit-learn 0.24.1 scipy 1.6.2 seaborn 0.11.1
Send2Trash 1.5.0 setuptools 52.0.0 setuptools-git 1.2
shap 0.39.0 simplejson 3.17.2 6 1.15.0
slicer 0.0.7 smmap 3.0.5 spark-tensorflow-distributor 1.0.0
sqlparse 0.4.1 ssh-import-id 5.10 statsmodels 0.12.2
tabulate 0.8.7 tangled-up-in-unicode 0.1.0 tenacity 6.2.0
TensorBoard 2.6.0 tensorboard-data-server 0.6.1 tensorboard-plugin-wit 1.8.0
tensorflow 2.6.0 tensorflow-estimator 2.6.0 termcolor 1.1.0
terminado 0.9.4 testpath 0.4.4 threadpoolctl 2.1.0
torch 1.9.0+cu111 torchvision 0.10.0+cu111 tornado 6.1
tqdm 4.59.0 traitlets 5.0.5 typing-extensions 3.7.4.3
ujson 4.0.2 unattended-upgrades 0.1 urllib3 1.25.11
virtualenv 20.4.1 visions 0.7.1 wcwidth 0.2.5
webencodings 0.5.1 websocket-client 0.57.0 Werkzeug 1.0.1
wheel 0.36.2 widgetsnbextension 3.5.1 wrapt 1.12.1
xgboost 1.4.2 zipp 3.4.1

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

Spark パッケージ Python モジュール Version
graphframes graphframes 0.8.1-db3-spark3.1

R ライブラリ

R ライブラリは、Databricks Runtime 9.1 LTS の R ライブラリと同じです。

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

Databricks Runtime 9.1 LTS ML には、Databricks Runtime 9.1 LTS の Java および Scala ライブラリに加え、次の JAR が含まれています。

CPU クラスター

グループ ID 成果物 ID Version
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.4.1
ml.dmlc xgboost4j_2.12 1.4.1
org.graphframes graphframes_2.12 0.8.1-db2-spark3.1
org.mlflow mlflow-client 1.20.2
org.mlflow mlflow-spark 1.20.2
org.scala-lang.modules scala-java8-compat_2.12 0.8.0
org.tensorflow spark-tensorflow-connector_2.12 1.15.0

GPU クラスター

グループ ID 成果物 ID Version
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-gpu_2.12 1.4.1
ml.dmlc xgboost4j-spark-gpu_2.12 1.4.1
org.graphframes graphframes_2.12 0.8.1-db2-spark3.1
org.mlflow mlflow-client 1.20.2
org.mlflow mlflow-spark 1.20.2
org.scala-lang.modules scala-java8-compat_2.12 0.8.0
org.tensorflow spark-tensorflow-connector_2.12 1.15.0