Databricks Runtime 6.0 для машинного обучения (EoS)
Примечание.
Поддержка этой версии databricks Runtime закончилась. Сведения о дате окончания поддержки см . в журнале завершения поддержки. Все поддерживаемые версии среды выполнения Databricks см. в заметках о выпуске Databricks Runtime и совместимости.
Databricks выпустила эту версию в октябре 2019 года.
Databricks Runtime 6.0 для Машинное обучение предоставляет готовую среду для машинного обучения и обработки и анализа данных на основе Databricks Runtime 6.0 (EoS). Databricks Runtime ML содержит множество популярных библиотек машинного обучения, включая TensorFlow, PyTorch, Keras и XGBoost. Эта среда также поддерживает распределенное глубокое обучение с использованием Horovod.
Дополнительные сведения, включая инструкции по созданию кластера Databricks Runtime ML, см. в статье ИИ и машинное обучение в Databricks.
Новые возможности
В основе Databricks Runtime 6.0 ML лежит Databricks Runtime 6.0. Дополнительные сведения о новых возможностях Databricks Runtime 6.0 см. в заметках о выпуске Databricks Runtime 6.0 (EoS).
Запрос данных экспериментов MLflow в нужном масштабе с помощью нового источника данных Spark для MLflow
Источник данных Spark для экспериментов MLflow теперь предоставляет стандартный API для загрузки данных запуска экспериментов MLflow. Это позволяет выполнять запросы большого масштаба и анализ данных экспериментов MLflow с помощью API кадров данных. Кадр данных для эксперимента содержит такие данные, как run_ids, метрики, параметры, теги, start_time, end_time, статус и artifact_uri для артефактов. См. статью Эксперимент MLflow.
Усовершенствования
Hyperopt в общедоступной версии
Выпущена общедоступная версия Hyperopt для Azure Databricks. К важным улучшениям в ней относятся: возможность ведение журнала MLflow в рабочих областях Spark, правильная обработка переменных вещания PySpark, а также новое руководство по выбору модели с помощью Hyperopt. Кроме того, мы устранили незначительные ошибки в сообщениях журнала, алгоритме обработки ошибок и пользовательском интерфейсе, а также отредактировали документацию. Дополнительные сведения см. в документации по Hyperopt.
В Azure Databricks изменился способ ведения журналов для экспериментов Hyperopt. Теперь вы можете регистрировать пользовательскую метрику для них, передавая ее в функцию
mlflow.log_metric
(см. log_metric). Это полезно, если требуется регистрировать пользовательские метрики в дополнение к потере, которая регистрируется по умолчанию при вызове функцииhyperopt.fmin
.MLflow
- Добавлен клиент Java для MLflow версии 1.2.0
- Теперь MLflow считается библиотекой верхнего уровня
Обновлены библиотеки машинного обучения:
- Horovod с версии 0.16.4 до версии 0.18.1
- MLflow с версии 1.0.0 до версии 1.2.0
Дистрибутив Anaconda обновлен с версии 5.2.0 до версии 2019.03
Удаление
Удалена функция экспорта модели Машинного обучения Databricks. Вместо нее используйте MLeap для импорта и экспорта моделей.
В библиотеке Hyperopt удалены следующие свойства
hyperopt.SparkTrials
:SparkTrials.successful_trials_count
SparkTrials.failed_trials_count
SparkTrials.cancelled_trials_count
SparkTrials.total_trials_count
Они заменены следующими функциями:
SparkTrials.count_successful_trials()
SparkTrials.count_failed_trials()
SparkTrials.count_cancelled_trials()
SparkTrials.count_total_trials()
Системная среда
Ниже описаны отличия системной среды в Databricks Runtime 6.0 ML от Databricks Runtime 6.0.
- DBUtils: не содержит служебную программу библиотеки (dbutils.library) (устаревшую версию).
Библиотеки
В следующих разделах list библиотеки, включенные в Databricks Runtime 6.0 ML, которые отличаются от тех, которые включены в Databricks Runtime 6.0.
Библиотеки верхнего уровня
Databricks Runtime 6.0 ML включает следующие библиотеки верхнего уровня:
- GraphFrames
- Horovod и HorovodRunner
- MLflow
- PyTorch
- spark-tensorflow-connector
- TensorFlow
- TensorBoard
Библиотеки Python
Databricks Runtime 6.0 ML использует Conda для управления пакетами Python и включает множество популярных пакетов ML. В следующем разделе описывается среда Conda для Databricks Runtime 6.0 ML.
Python 3 на кластерах ЦП
name: databricks-ml
channels:
- pytorch
- defaults
dependencies:
- _libgcc_mutex=0.1=main
- _py-xgboost-mutex=2.0=cpu_0
- _tflow_select=2.3.0=mkl
- absl-py=0.7.1=py37_0
- asn1crypto=0.24.0=py37_0
- astor=0.8.0=py37_0
- backcall=0.1.0=py37_0
- backports=1.0=py_2
- bcrypt=3.1.6=py37h7b6447c_0
- blas=1.0=mkl
- boto=2.49.0=py37_0
- boto3=1.9.162=py_0
- botocore=1.12.163=py_0
- c-ares=1.15.0=h7b6447c_1001
- ca-certificates=2019.1.23=0
- certifi=2019.3.9=py37_0
- cffi=1.12.2=py37h2e261b9_1
- chardet=3.0.4=py37_1003
- click=7.0=py37_0
- cloudpickle=0.8.0=py37_0
- colorama=0.4.1=py37_0
- configparser=3.7.4=py37_0
- cryptography=2.6.1=py37h1ba5d50_0
- cycler=0.10.0=py37_0
- cython=0.29.6=py37he6710b0_0
- decorator=4.4.0=py37_1
- docutils=0.14=py37_0
- entrypoints=0.3=py37_0
- et_xmlfile=1.0.1=py37_0
- flask=1.0.2=py37_1
- freetype=2.9.1=h8a8886c_1
- future=0.17.1=py37_0
- gast=0.2.2=py37_0
- gitdb2=2.0.5=py37_0
- gitpython=2.1.11=py37_0
- grpcio=1.16.1=py37hf8bcb03_1
- gunicorn=19.9.0=py37_0
- h5py=2.9.0=py37h7918eee_0
- hdf5=1.10.4=hb1b8bf9_0
- html5lib=1.0.1=py_0
- icu=58.2=h9c2bf20_1
- idna=2.8=py37_0
- intel-openmp=2019.3=199
- ipython=7.4.0=py37h39e3cac_0
- ipython_genutils=0.2.0=py37_0
- itsdangerous=1.1.0=py37_0
- jdcal=1.4=py37_0
- jedi=0.13.3=py37_0
- jinja2=2.10=py37_0
- jmespath=0.9.4=py_0
- jpeg=9b=h024ee3a_2
- keras=2.2.4=0
- keras-applications=1.0.8=py_0
- keras-base=2.2.4=py37_0
- keras-preprocessing=1.1.0=py_1
- kiwisolver=1.0.1=py37hf484d3e_0
- krb5=1.16.1=h173b8e3_7
- libedit=3.1.20181209=hc058e9b_0
- libffi=3.2.1=hd88cf55_4
- libgcc-ng=8.2.0=hdf63c60_1
- libgfortran-ng=7.3.0=hdf63c60_0
- libpng=1.6.36=hbc83047_0
- libpq=11.2=h20c2e04_0
- libprotobuf=3.8.0=hd408876_0
- libsodium=1.0.16=h1bed415_0
- libstdcxx-ng=8.2.0=hdf63c60_1
- libtiff=4.0.10=h2733197_2
- libxgboost=0.90=he6710b0_0
- libxml2=2.9.9=hea5a465_1
- libxslt=1.1.33=h7d1a2b0_0
- llvmlite=0.28.0=py37hd408876_0
- lxml=4.3.2=py37hefd8a0e_0
- mako=1.0.10=py_0
- markdown=3.1.1=py37_0
- markupsafe=1.1.1=py37h7b6447c_0
- mkl=2019.3=199
- mkl_fft=1.0.10=py37ha843d7b_0
- mkl_random=1.0.2=py37hd81dba3_0
- mock=3.0.5=py37_0
- ncurses=6.1=he6710b0_1
- networkx=2.2=py37_1
- ninja=1.9.0=py37hfd86e86_0
- nose=1.3.7=py37_2
- numba=0.43.1=py37h962f231_0
- numpy=1.16.2=py37h7e9f1db_0
- numpy-base=1.16.2=py37hde5b4d6_0
- olefile=0.46=py37_0
- openpyxl=2.6.1=py37_1
- openssl=1.1.1b=h7b6447c_1
- pandas=0.24.2=py37he6710b0_0
- paramiko=2.4.2=py37_0
- parso=0.3.4=py37_0
- pathlib2=2.3.3=py37_0
- patsy=0.5.1=py37_0
- pexpect=4.6.0=py37_0
- pickleshare=0.7.5=py37_0
- pillow=5.4.1=py37h34e0f95_0
- pip=19.0.3=py37_0
- ply=3.11=py37_0
- prompt_toolkit=2.0.9=py37_0
- protobuf=3.8.0=py37he6710b0_0
- psutil=5.6.1=py37h7b6447c_0
- psycopg2=2.7.6.1=py37h1ba5d50_0
- ptyprocess=0.6.0=py37_0
- py-xgboost=0.90=py37he6710b0_0
- py-xgboost-cpu=0.90=py37_0
- pyasn1=0.4.6=py_0
- pycparser=2.19=py37_0
- pygments=2.3.1=py37_0
- pymongo=3.8.0=py37he6710b0_1
- pynacl=1.3.0=py37h7b6447c_0
- pyopenssl=19.0.0=py37_0
- pyparsing=2.3.1=py37_0
- pysocks=1.6.8=py37_0
- python=3.7.3=h0371630_0
- python-dateutil=2.8.0=py37_0
- python-editor=1.0.4=py_0
- pytorch-cpu=1.1.0=py3.7_cpu_0
- pytz=2018.9=py37_0
- pyyaml=5.1=py37h7b6447c_0
- readline=7.0=h7b6447c_5
- requests=2.21.0=py37_0
- s3transfer=0.2.1=py37_0
- scikit-learn=0.20.3=py37hd81dba3_0
- scipy=1.2.1=py37h7c811a0_0
- setuptools=40.8.0=py37_0
- simplejson=3.16.0=py37h14c3975_0
- singledispatch=3.4.0.3=py37_0
- six=1.12.0=py37_0
- smmap2=2.0.5=py37_0
- sqlite=3.27.2=h7b6447c_0
- sqlparse=0.3.0=py_0
- statsmodels=0.9.0=py37h035aef0_0
- tabulate=0.8.3=py37_0
- tensorboard=1.13.1=py37hf484d3e_0
- tensorflow=1.13.1=mkl_py37h54b294f_0
- tensorflow-base=1.13.1=mkl_py37h7ce6ba3_0
- tensorflow-estimator=1.13.0=py_0
- tensorflow-mkl=1.13.1=h4fcabd2_0
- termcolor=1.1.0=py37_1
- tk=8.6.8=hbc83047_0
- torchvision-cpu=0.3.0=py37_cuNone_1
- tqdm=4.31.1=py37_1
- traitlets=4.3.2=py37_0
- urllib3=1.24.1=py37_0
- virtualenv=16.0.0=py37_0
- wcwidth=0.1.7=py37_0
- webencodings=0.5.1=py37_1
- websocket-client=0.56.0=py37_0
- werkzeug=0.14.1=py37_0
- wheel=0.33.1=py37_0
- wrapt=1.11.1=py37h7b6447c_0
- xz=5.2.4=h14c3975_4
- yaml=0.1.7=had09818_2
- zlib=1.2.11=h7b6447c_3
- zstd=1.3.7=h0b5b093_0
- pip:
- argparse==1.4.0
- databricks-cli==0.9.0
- docker==4.0.2
- fusepy==2.0.4
- gorilla==0.3.0
- horovod==0.18.1
- hyperopt==0.1.2.db8
- matplotlib==3.0.3
- mleap==0.8.1
- mlflow==1.2.0
- nose-exclude==0.5.0
- pyarrow==0.13.0
- querystring-parser==1.2.4
- seaborn==0.9.0
- tensorboardx==1.8
prefix: /databricks/conda/envs/databricks-ml
Пакеты Spark, содержащие модули Python
Пакет Spark | Модуль Python | Версия |
---|---|---|
graphframes | graphframes | 0.7.0-db1-spark2.4 |
spark-deep-learning | sparkdl | 1.5.0-db5-spark2.4 |
tensorframes | tensorframes | 0.7.0-s_2.11 |
Библиотеки R
Библиотеки R идентичны библиотекам R в Databricks Runtime 6.0.
Библиотеки Java и Scala (кластер Scala 2.11)
Помимо библиотек Java и Scala в Databricks Runtime 6.0, среда Databricks Runtime 6.0 ML также включает следующие пакеты JAR:
ИД группы | Идентификатор артефакта | Версия |
---|---|---|
com.databricks | spark-deep-learning | 1.5.0-db5-spark2.4 |
com.typesafe.akka | akka-actor_2.11 | 2.3.11 |
ml.combust.mleap | mleap-databricks-runtime_2.11 | 0.14.0 |
ml.dmlc | xgboost4j | 0.90 |
ml.dmlc | xgboost4j-spark | 0.90 |
org.graphframes | graphframes_2.11 | 0.7.0-db1-spark2.4 |
org.mlflow | mlflow-client | 1.2.0 |
org.tensorflow | libtensorflow | 1.13.1 |
org.tensorflow | libtensorflow_jni | 1.13.1 |
org.tensorflow | spark-tensorflow-connector_2.11 | 1.13.1 |
org.tensorflow | tensorflow | 1.13.1 |
org.tensorframes | tensorframes | 0.7.0-s_2.11 |