Выпуск Databricks Runtime 9.1 LTS для машинного обучения
Этот образ с предоставлением долгосрочной поддержки (LTS) был выпущен в сентябре 2021 года.
Databricks Runtime 9.1 LTS для машинного обучения — это готовая среда для машинного обучения, обработки и анализа данных на основе Databricks Runtime 9.1 LTS. Databricks Runtime ML содержит множество популярных библиотек машинного обучения, включая TensorFlow, PyTorch и XGBoost. Databricks Runtime ML включает AutoML – средство для автоматического обучения конвейеров машинного обучения. Databricks Runtime ML также поддерживает распределенное углубленное обучение с использованием Horovod.
Примечание.
LTS означает, что эта версия находится в долгосрочной поддержке. См. жизненный цикл версии LTS среды выполнения Databricks.
Дополнительные сведения, включая инструкции по созданию кластера Databricks Runtime ML, см. в статье ИИ и машинное обучение в Databricks.
Совет
Сведения о выпуске заметок о выпуске Databricks Runtime, которые достигли окончания поддержки (EoS), см . в заметках о выпуске Databricks Runtime. Версии среды выполнения EoS Databricks устарели и могут не обновляться.
Новые функции и внесенные улучшения
AutoML
В Databricks Runtime 9.1 LTS ML и более поздних версий доступны следующие улучшения.
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
. - Теперь можно указать более одной функции в одном
FeatureLookup
. - Теперь можно указать пользовательский путь для таблиц функций. Используйте параметр
path
вcreate_feature_table()
. По умолчанию используется расположение базы данных. - Новые поддерживаемые типы данных PySpark: ArrayType и ShortType.
Mlflow
Следующие улучшения доступны в Mlflow, начиная с версии 1.20.2, которая включена в Databricks Runtime 9.1 LTS ML.
- Функция автоматического ведения журнала для scikit-learn теперь записывает метрики при каждом вызове API-интерфейса оценки scikit-learn, например
sklearn.metrics.mean_squared_error
. - Функция автоматического ведения журнала для PySpark ML теперь записывает метрики по результатам обучения при каждом вызове API-интерфейса оценки модели, например
Evaluator.evaluate()
. 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 (общедоступная предварительная версия)
Общедоступная предварительная версия ведения журнала Databricks стала доступна для новых регионов. Автоматическое ведение журнала в Databricks – это решение без кода, которое обеспечивает автоматическое отслеживание экспериментов для обучающих сеансов по машинному обучению в Azure Databricks. Благодаря Databricks Autologging параметры модели, метрики, файлы и сведения о происхождении автоматически регистрируются при обучении моделей с помощью разных популярных библиотек машинного обучения. Обучающие сеансы записываются как Запуски отслеживания MLflow. Файлы моделей также отслеживаются, чтобы можно было легко регистрировать их в реестре моделей MLflow и развертывать их для оценки в режиме реального времени с помощью службы моделей MLflow.
Для получения дополнительной информации об автоматическом ведении журнала в Databricks см. Автоматическое ведение журнала в Databricks.
Основные изменения в среде Python для Databricks Runtime ML
Обновлены пакеты 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 включает следующие библиотеки GPU NVIDIA:
- CUDA 11.0
- cuDNN 8.1.0.77
- NCCL 2.10.3
- TensorRT 7.2.2
Библиотеки
В следующих разделах перечислены библиотеки, входящие в состав Databricks Runtime 9.1 LTS ML и отличающиеся от тех, что входят в состав Databricks Runtime 9.1 LTS.
В этом разделе рассматриваются следующие вопросы.
- Библиотеки верхнего уровня
- Библиотеки Python
- Библиотеки R
- Библиотеки Java и Scala (кластер Scala 2.12)
Библиотеки верхнего уровня
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
Библиотеки Python в кластерах CPU
Библиотека | Версия | Библиотека | Версия | Библиотека | Версия |
---|---|---|---|---|---|
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 |
криптография | 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 | будущее | 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 |
график | 5.1.0 | prometheus-client | 0.10.1 | prompt-toolkit | 3.0.17 |
пророк | 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 |
мореборн | 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 | Среза | 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 |
Библиотеки Python в кластерах GPU
Библиотека | Версия | Библиотека | Версия | Библиотека | Версия |
---|---|---|---|---|---|
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 |
криптография | 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 | будущее | 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 |
график | 5.1.0 | prompt-toolkit | 3.0.17 | пророк | 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 | мореборн | 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 |
Среза | 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 |
Пакеты Spark, содержащие модули Python
Пакет Spark | Модуль Python | Версия |
---|---|---|
graphframes | graphframes | 0.8.1-db3-spark3.1 |
Библиотеки R
Библиотеки R идентичны библиотекам R в Databricks Runtime 9.1 LTS.
Библиотеки Java и Scala (кластер Scala 2.12)
Помимо библиотек Java и Scala в Databricks Runtime 9.1 LTS, среда Databricks Runtime 9.1 LTS ML также включает следующие пакеты JAR:
Кластеры ЦП
ИД группы | Идентификатор артефакта | Версия |
---|---|---|
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
ИД группы | Идентификатор артефакта | Версия |
---|---|---|
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 |