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 と Machine Learning」を参照してください。
新機能と機能強化
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_model
とmlflow.*.save_model
にpip_requirements
引数とextra_pip_requirements
引数が追加され、ログ記録または保存するモデルの pip 要件を直接指定できるようになりました。mlflow.*.log_model
とmlflow.*.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 とは次のように異なります。
- DBUtils: Databricks Runtime ML には、ライブラリ ユーティリティ (dbutils.library) (レガシ) が含まれていません。
代わりに
%pip
コマンドを使用してください。 「ノートブック スコープの Python ライブラリ」を参照してください。 - GPU クラスターの場合、Databricks Runtime ML には次の NVIDIA GPU ライブラリが含まれています。
- CUDA 11.0
- cuDNN 8.1.0.77
- NCCL 2.10.3
- TensorRT 7.2.2
ライブラリ
以下のセクションでは、Databricks Runtime 9.1 LTS に含まれているものとは異なる、Databricks Runtime 9.1 LTS ML に含まれるライブラリ一覧を示します。
このセクションの内容は次のとおりです。
最上位層ライブラリ
Databricks Runtime 9.1 LTS ML には、次の最上位層ライブラリが含まれています。
- AutoML
- GraphFrames
- Horovod と HorovodRunner
- MLflow
- PyTorch
- spark-tensorflow-connector
- TensorFlow
- TensorBoard
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 |