適用於機器學習的 Databricks Runtime 9.1 LTS
Databricks 發行了此映像,並在 2021 年 9 月宣告為長期支援 (LTS)。
適用於機器學習的 Databricks Runtime 9.1 提供以 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 會根據語意類型預先處理 columns
AutoML 會偵測具有與 Spark 或 pandas 數據類型不同之語意類型的特定 columns。 AutoML 接著會根據偵測到的語意類型來轉換並套用資料預先處理步驟。 具體而言,AutoML 會執行下列轉換:
- 代表日期或時間戳數據的字串和整數 columns 會轉換成時間戳類型。
- 表示數值數據的字串 columns 會轉換成數值類型。
AutoML 產生的筆記本改善
日期和時間 columns 的前置處理步驟現在被併入 databricks-automl-runtime
套件中,從而簡化由 AutoML 訓練生成的筆記本。
databricks-automl-runtime
包含在 Databricks Runtime 9.1 LTS ML 和更新版本中,而且也可在 PyPI 上使用。
功能存放區
Databricks Runtime 9.1 LTS ML 和更新版本提供下列改進功能。
- 當您建立 TrainingSet 時,您現在可以 set
label=None
來支援非監督式學習應用程式。 - 您現在可以在單一
FeatureLookup
中指定多個功能。 - 您現在可以指定功能 tables的自訂路徑。 使用
path
的create_feature_table()
參數。 預設是資料庫位置。 - 新支援的 PySpark 資料類型:ArrayType 和 ShortType。
MLflow
自 MLflow 1.20.2 版起,下列改進功能已包含在 Databricks Runtime 9.1 LTS ML 中,並可供使用。
- 每當呼叫
sklearn.metrics.mean_squared_error
等 scikit-learn 評估 API 時,scikit-learn 的自動記錄現在會記錄訓練後計量。 - 每當呼叫
Evaluator.evaluate()
等模型評估 API 時,PySpark ML 的自動記錄現在會記錄訓練後計量。 -
mlflow.*.log_model
和mlflow.*.save_model
現在具有pip_requirements
和extra_pip_requirements
引數,因此您可以直接指定要記錄或儲存之模型的 pip 需求。 -
mlflow.*.log_model
和mlflow.*.save_model
現在會根據目前的軟體環境自動推斷模型的 pip 需求,以便記錄或儲存。 -
stdMetrics
項目現在會記錄為 PySpark CrossValidator 自動記錄期間的訓練計量。 - PyTorch Lightning 自動記錄現在支援分散式執行。
Databricks 自動記錄 (公開預覽)
Databricks 自動記錄公開預覽已擴充至新的區域。 Databricks 自動記錄是一種無程式碼解決方案,可為 Azure Databricks 上的機器學習訓練工作階段提供自動實驗追蹤功能。 使用 Databricks 自動化記錄功能,當您從各種熱門機器學習庫訓練模型時,系統會自動擷取 parameters模型、度量、檔案和譜系資訊。 該功能會將訓練工作階段記錄為 MLflow 追蹤執行。 其也會追蹤模型檔案,以便您可以輕鬆地將檔案記錄到 MLflow 模型登錄並加以部署,以使用 MLflow 模型服務進行即時評分。
如需 Databricks 自動記錄的詳細資訊,請參閱 Databricks 自動記錄 (英文)。
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
程式庫
下列各節 list Databricks Runtime 9.1 LTS ML 中包含的連結庫,與 Databricks Runtime 9.1 LTS 中包含的連結庫不同。
本節內容:
頂層程式庫
Databricks Runtime 9.1 LTS ML 包括下列頂層程式庫:
- AutoML
- GraphFrames
- Horovod 及 HorovodRunner
- MLflow
- PyTorch
- spark-tensorflow-connector
- TensorFlow
- TensorBoard
Python 程式庫
Databricks Runtime 9.1 LTS ML 使用 Virtualenv 進行 Python 套件管理,且包括許多熱門 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 程式庫
程式庫 | 版本 | 程式庫 | 版本 | 程式庫 | 版本 |
---|---|---|---|---|---|
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 | click | 7.1.2 | cloudpickle | 1.6.0 |
cmdstanpy | 0.9.68 | configparser | 5.0.1 | convertdate | 2.3.2 |
密碼編譯 | 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 | packaging | 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 |
six | 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 程式庫
程式庫 | 版本 | 程式庫 | 版本 | 程式庫 | 版本 |
---|---|---|---|---|---|
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 | click | 7.1.2 | cloudpickle | 1.6.0 |
cmdstanpy | 0.9.68 | configparser | 5.0.1 | convertdate | 2.3.2 |
密碼編譯 | 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 | packaging | 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 | six | 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 模組 | 版本 |
---|---|---|
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 中的 JAVA 和 Scala 程式庫之外,Databricks Runtime 9.1 LTS ML 還包括下列 JAR:
CPU 叢集
群組識別碼 | 成品識別碼 | 版本 |
---|---|---|
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 clusters
群組識別碼 | 成品識別碼 | 版本 |
---|---|---|
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 |