用于 ML 的 Databricks Runtime 10.1(不受支持)
用于机器学习的 Databricks Runtime 10.1 基于 Databricks Runtime 10.1(不受支持)为机器学习和数据科学提供随时可用的环境。 Databricks Runtime ML 包含许多常用的机器学习库,包括 TensorFlow、PyTorch 和 XGBoost。 它还支持使用 Horovod 进行分布式深度学习训练。
有关详细信息,包括有关如何创建 Databricks Runtime ML 群集的说明,请参阅 Databricks 上的 AI 和机器学习。
新增功能和改进
Databricks Runtime 10.1 ML 基于 Databricks Runtime 10.1 构建。 若要了解 Databricks Runtime 10.1 中的新增功能,包括 Apache Spark MLlib 和 SparkR,请参阅 Databricks Runtime 10.1(不受支持)发行说明。
Databricks AutoML 的增强功能
在 Databricks Runtime 10.1 中,Databricks AutoML 包括改进的语义类型检测、针对训练期间存在的潜在数据问题的新警报、用于防止过度拟合模型的新功能以及按时间顺序将输入数据集拆分为训练集、验证集和测试集的功能。
其他语义类型检测
AutoML 现在支持其他语义类型检测:
- 包含分类标签的数字列被视为分类类型。
- 包含英语文本的字符串列被视为文本特征。
现在还可以添加注释以指定列数据类型。 有关详细信息,请参阅语义类型检测。
训练期间针对潜在数据问题的警报
AutoML 现在会检测并生成数据集潜在问题的警报。 示例警报包括不支持的列类型和高基数列。 这些警报显示在试验页上的新“警报”选项卡下。有关警报的其他信息包含在数据浏览笔记本中。 有关详细信息,请参阅运行试验并监视结果。
降低了模型过度拟合的可能性
使用 AutoML 时,可以通过两项新功能降低过度拟合模型的可能性:
- AutoML 现在除了报告验证和训练指标外,还报告测试指标。
- AutoML 现在使用提前停止。 如果验证指标不再改进,它会停止训练和优化模型。
按时间顺序将数据集拆分为训练/验证/测试集
对于分类和回归问题,可以按时间顺序将数据集拆分为训练集、验证集和测试集。 有关详细信息,请参阅将数据拆分为训练/验证/测试集。
Databricks 特征存储增强功能
Databricks 特征存储现在支持特征表的其他数据类型:BinaryType
、DecimalType
和 MapType
。
Mlflow
从 Mlflow 版本 1.21.0 开始进行了以下改进,该版本包含在 Databricks Runtime 10.1 ML 中。
- [模型] 升级
fastai
模型风格以支持 fastai v2(2.4.1 及更高版本)。 - [模型] 引入适用于 Prophet 时序模型的 mlflow.prophet 模型风格。
- [评分] 修复将类似日期的字符串错误地强制转换为日期/时间对象的架构强制错误。
Hyperopt
SparkTrials
现在支持 fmin
的 early_stopping_fn
参数。 可以使用提前停止功能来指定在达到最大计算次数之前 Hyperopt 应停止超参数优化的条件。 例如,如果目标函数不再减少,可以使用此参数结束优化。 有关详细信息,请参阅 fmin()。
Databricks Runtime ML Python 环境的主要更改
升级的 Python 包
- automl 1.3.1 => 1.4.1
- feature_store 0.3.4 => 0.3.5
- holidays 0.11.2 => 0.11.3.1
- horovod 0.22.1 => 0.23.0
- hyperopt 0.2.5.db2 => 0.2.5.db4
- imbalanced-learn 0.8.0 => 0.8.1
- lightgbm 3.1.1 => 3.3.0
- mlflow 1.20.2 => 1.21.0
- petastorm 0.11.2 => 0.11.3
- plotly 5.1.0 => 5.3.0
- pytorch 1.9.0 => 1.9.1
- spacy 3.1.2 => 3.1.3
- sparkdl 2.2.0_db3 => 2.2.0_db4
- torchvision 0.10.0 => 0.10.1
- transformers 4.9.2 => 4.11.3
添加的 Python 包
- fasttext => 0.9.2
- tensorboard-plugin-profile => 2.5.0
弃用项
MLlib 自动化 MLflow 跟踪在运行 Databricks Runtime 10.1 ML 及更高版本的群集上已弃用。 改为通过调用 mlflow.pyspark.ml.autolog()
来使用 MLflow PySpark ML 自动记录。 默认情况下,通过 Databricks 自动记录启用自动记录。
系统环境
Databricks Runtime 10.1 ML 中的系统环境在以下方面不同于 Databricks Runtime 10.1:
- DBUtils:Databricks Runtime ML 不包含库实用工具 (dbutils.library)(旧版)。
请改用
%pip
命令。 请参阅作用域为笔记本的 Python 库。 - 对于 GPU 群集,Databricks Runtime ML 包含以下 NVIDIA GPU 库:
- CUDA 11.0
- cuDNN 8.0.5.39
- NCCL 2.10.3
- TensorRT 7.2.2
库
以下部分列出了 Databricks Runtime 10.1 ML 中包含的库,这些库不同于 Databricks Runtime 10.1 中包含的库。
本节内容:
顶层库
Databricks Runtime 10.1 ML 包含以下顶层库:
- GraphFrames
- Horovod 和 HorovodRunner
- MLflow
- PyTorch
- spark-tensorflow-connector
- TensorFlow
- TensorBoard
Python 库
Databricks Runtime 10.1 ML 使用 Virtualenv 进行 Python 包管理,包含许多常用的 ML 包。
除了在以下部分指定的包,Databricks Runtime 10.1 ML 还包含以下包:
- hyperopt 0.2.5.db4
- sparkdl 2.2.0-db4
- feature_store 0.3.5
- automl 1.4.0
注意
由于不兼容问题,Databricks Runtime 10.1 ML 包含 scikit-learn 版本 0.24 而不是版本 1.0。 scikit-learn 包与 Databricks Runtime 10.1 ML 中的许多其他包交互。
你可以升级到 scikit-learn 版本 1.0,但 Databricks 不支持此版本。
若要进行升级,请使用笔记本范围的库。 从笔记本中运行 %pip install --upgrade "scikit-learn>=1.0,<1.1"
。
另一种替代方法是使用此群集 init 脚本:
#!/bin/bash
set -e
pip install --upgrade "scikit-learn>=1.0,<1.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 | blis | 0.7.4 |
boto3 | 1.16.7 | botocore | 1.19.7 | cachetools | 4.2.4 |
catalogue | 2.0.6 | 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 | 密码系统 | 3.4.7 | cycler | 0.10.0 |
cymem | 2.0.5 | Cython | 0.29.23 | databricks-automl-runtime | 0.2.3 |
databricks-cli | 0.14.3 | dbu-python | 1.2.16 | decorator | 5.0.6 |
defusedxml | 0.7.1 | dill | 0.3.2 | diskcache | 5.2.1 |
distlib | 0.3.3 | distro-info | 0.23ubuntu1 | entrypoints | 0.3 |
ephem | 4.1 | facets-overview | 1.0.0 | fasttext | 0.9.2 |
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 | gviz-api | 1.10.0 | h5py | 3.1.0 |
hijri-converter | 2.2.2 | holidays | 0.11.3.1 | horovod | 0.23.0 |
htmlmin | 0.1.12 | huggingface-hub | 0.0.19 | idna | 2.10 |
ImageHash | 4.2.1 | imbalanced-learn | 0.8.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.2 | korean-lunar-calendar | 0.2.1 |
lightgbm | 3.3.0 | llvmlite | 0.37.0 | LunarCalendar | 0.0.9 |
Mako | 1.1.3 | Markdown | 3.3.3 | MarkupSafe | 2.0.1 |
matplotlib | 3.4.2 | missingno | 0.5.0 | mistune | 0.8.4 |
mleap | 0.18.1 | mlflow-skinny | 1.21.0 | multimethod | 1.6 |
murmurhash | 1.0.5 | 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.1 |
numpy | 1.19.2 | oauthlib | 3.1.0 | opt-einsum | 3.3.0 |
打包 | 20.9 | pandas | 1.2.4 | pandas-profiling | 3.1.0 |
pandocfilters | 1.4.3 | paramiko | 2.7.2 | parso | 0.7.0 |
pathy | 0.6.0 | patsy | 0.5.1 | petastorm | 0.11.3 |
pexpect | 4.8.0 | phik | 0.12.0 | pickleshare | 0.7.5 |
Pillow | 8.2.0 | pip | 21.0.1 | plotly | 5.3.0 |
preshed | 3.0.5 | 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 | pybind11 | 2.8.0 |
pycparser | 2.20 | pydantic | 1.8.2 | Pygments | 2.8.1 |
PyGObject | 3.36.0 | PyMeeus | 0.5.11 | PyNaCl | 1.4.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 |
请求 | 2.25.1 | requests-oauthlib | 1.3.0 | requests-unixsocket | 0.2.0 |
rsa | 4.7.2 | s3transfer | 0.3.7 | sacremoses | 0.0.46 |
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 | smart-open | 5.2.0 | smmap | 3.0.5 |
spacy | 3.1.3 | spacy-legacy | 3.0.8 | spark-tensorflow-distributor | 1.0.0 |
sqlparse | 0.4.1 | srsly | 2.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-profile | 2.5.0 | 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 | thinc | 8.0.9 | threadpoolctl | 2.1.0 |
tokenizers | 0.10.3 | torch | 1.9.1+cpu | torchvision | 0.10.1+cpu |
tornado | 6.1 | tqdm | 4.59.0 | traitlets | 5.0.5 |
transformers | 4.11.3 | typer | 0.3.2 | 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.4 | wasabi | 0.8.2 |
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 | blis | 0.7.4 |
boto3 | 1.16.7 | botocore | 1.19.7 | cachetools | 4.2.4 |
catalogue | 2.0.6 | 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 | 密码系统 | 3.4.7 | cycler | 0.10.0 |
cymem | 2.0.5 | Cython | 0.29.23 | databricks-automl-runtime | 0.2.3 |
databricks-cli | 0.14.3 | dbu-python | 1.2.16 | decorator | 5.0.6 |
defusedxml | 0.7.1 | dill | 0.3.2 | diskcache | 5.2.1 |
distlib | 0.3.3 | distro-info | 0.23ubuntu1 | entrypoints | 0.3 |
ephem | 4.1 | facets-overview | 1.0.0 | fasttext | 0.9.2 |
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 | gviz-api | 1.10.0 | h5py | 3.1.0 |
hijri-converter | 2.2.2 | holidays | 0.11.3.1 | horovod | 0.23.0 |
htmlmin | 0.1.12 | huggingface-hub | 0.0.19 | idna | 2.10 |
ImageHash | 4.2.1 | imbalanced-learn | 0.8.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.2 | korean-lunar-calendar | 0.2.1 |
lightgbm | 3.3.0 | llvmlite | 0.37.0 | LunarCalendar | 0.0.9 |
Mako | 1.1.3 | Markdown | 3.3.3 | MarkupSafe | 2.0.1 |
matplotlib | 3.4.2 | missingno | 0.5.0 | mistune | 0.8.4 |
mleap | 0.18.1 | mlflow-skinny | 1.21.0 | multimethod | 1.6 |
murmurhash | 1.0.5 | 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.1 |
numpy | 1.19.2 | oauthlib | 3.1.0 | opt-einsum | 3.3.0 |
打包 | 20.9 | pandas | 1.2.4 | pandas-profiling | 3.1.0 |
pandocfilters | 1.4.3 | paramiko | 2.7.2 | parso | 0.7.0 |
pathy | 0.6.0 | patsy | 0.5.1 | petastorm | 0.11.3 |
pexpect | 4.8.0 | phik | 0.12.0 | pickleshare | 0.7.5 |
Pillow | 8.2.0 | pip | 21.0.1 | plotly | 5.3.0 |
preshed | 3.0.5 | 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 | pybind11 | 2.8.1 | pycparser | 2.20 |
pydantic | 1.8.2 | Pygments | 2.8.1 | PyGObject | 3.36.0 |
PyMeeus | 0.5.11 | PyNaCl | 1.4.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 | 请求 | 2.25.1 |
requests-oauthlib | 1.3.0 | requests-unixsocket | 0.2.0 | rsa | 4.7.2 |
s3transfer | 0.3.7 | sacremoses | 0.0.46 | 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 |
smart-open | 5.2.0 | smmap | 3.0.5 | spacy | 3.1.3 |
spacy-legacy | 3.0.8 | spark-tensorflow-distributor | 1.0.0 | sqlparse | 0.4.1 |
srsly | 2.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-profile | 2.5.0 |
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 |
thinc | 8.0.9 | threadpoolctl | 2.1.0 | tokenizers | 0.10.3 |
torch | 1.9.1+cu111 | torchvision | 0.10.1+cu111 | tornado | 6.1 |
tqdm | 4.59.0 | traitlets | 5.0.5 | transformers | 4.11.3 |
typer | 0.3.2 | 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.4 | wasabi | 0.8.2 | 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.2-db1-spark3.2 |
R 库
R 库与 Databricks Runtime 10.1 中的 R 库完全相同。
Java 库和 Scala 库(Scala 2.12 群集)
除了 Databricks Runtime 10.1 中的 Java 库和 Scala 库,Databricks Runtime 10.1 ML 还包含以下 JAR:
CPU 群集
组 ID | 项目 ID | 版本 |
---|---|---|
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-db6-spark3.2 |
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 | 版本 |
---|---|---|
com.typesafe.akka | akka-actor_2.12 | 2.5.23 |
ml.combust.mleap | mleap-databricks-runtime_2.12 | 0.18.1-23eb1ef |
ml.dmlc | xgboost4j-gpu_2.12 | 1.4.1 |
ml.dmlc | xgboost4j-spark-gpu_2.12 | 1.4.1-spark3.2 |
org.graphframes | graphframes_2.12 | 0.8.2-db1-spark3.2 |
org.mlflow | mlflow-client | 1.21.0 |
org.mlflow | mlflow-spark | 1.21.0 |
org.scala-lang.modules | scala-java8-compat_2.12 | 0.8.0 |
org.tensorflow | spark-tensorflow-connector_2.12 | 1.15.0 |