用于 ML 的 Databricks Runtime 8.0(不受支持)

Databricks 于 2021 年 3 月发布了此映像。

用于机器学习的 Databricks Runtime 8.0 基于 Databricks Runtime 8.0(不受支持)为机器学习和数据科学提供随时可用的环境。 Databricks Runtime ML 包含许多常用的机器学习库,包括 TensorFlow、PyTorch 和 XGBoost。 它还支持使用 Horovod 进行分布式深度学习训练。

有关详细信息,包括有关如何创建 Databricks Runtime ML 群集的说明,请参阅 Databricks 上的 AI 和机器学习

新增功能和主要更改

Databricks Runtime 8.0 ML 基于 Databricks Runtime 8.0 构建。 若要了解 Databricks Runtime 8.0 中的新增功能,包括 Apache Spark MLlib 和 SparkR,请参阅 Databricks Runtime 8.0(不受支持)发行说明。

Conda 通道配置

2020 年 9 月,Anaconda Inc. 为 anaconda.org 通道更新了其服务条款。 根据新的服务条款,如果依赖 Anaconda 的打包和分发,则可能需要商业许可证。 有关详细信息,请访问 Anaconda Commercial Edition 常见问题解答。 由于这一变化,我们已删除 Databricks Runtime ML 8.0 中 Conda 包管理器的默认通道配置。 若要使用 %conda 命令安装或更新包,必须指定通道。 对任何 Anaconda 通道的使用都受其服务条款的约束。

Databricks Runtime ML Python 环境的主要更改

请参阅 Databricks Runtime 8.0(不受支持)以了解 Databricks Runtime Python 环境的主要更改。 如需查看已安装的 Python 包及其版本的完整列表,请参阅 Python 库

环境的重大更改

  • 已删除默认的 Conda 通道。
  • 默认系统 Python 版本已从 3.7.6 更新为 3.8.5。
  • 不再支持 TensorFlow 1.x。

升级的 Python 包

  • tensorboard 2.3.1 -> 2.4.1
  • tensorflow 2.3.1 -> 2.4.0
  • matplotlib 3.1.3 -> 3.2.2
  • joblib 0.14.1 -> 0.17.0
  • petastorm 0.9.7 -> 0.9.8
  • cloudpickle 1.4.1 -> 1.6.0
  • nltk 3.4.5 -> 3.5
  • Anaconda 分发中的包已从 2020.02 升级到 2020.11

添加的 Python 包

  • shap:0.37.0

删除的 Python 包

  • gorilla
  • backports

系统环境

Databricks Runtime 8.0 ML 中的系统环境在以下方面不同于 Databricks Runtime 8.0:

以下部分列出了 Databricks Runtime 8.0 ML 中包含的库,这些库不同于 Databricks Runtime 8.0 中包含的库。

本节内容:

顶层库

Databricks Runtime 8.0 ML 包含以下顶层

Python 库

Databricks Runtime 8.0 ML 使用 Conda 进行 Python 包管理,并且包含许多常用的 ML 包。

除了在以下部分的 Conda 环境中指定的包外,Databricks Runtime 8.0 ML 还包含以下包:

  • hyperopt 0.2.5.db1
  • sparkdl 2.1.0.db4

CPU 群集上的 Python 库

name: databricks-ml
channels:
  - pytorch
  - defaults
dependencies:
  - _libgcc_mutex=0.1=main
  - absl-py=0.11.0=pyhd3eb1b0_1
  - aiohttp=3.6.3=py38h7b6447c_0
  - asn1crypto=1.4.0=py_0
  - astor=0.8.1=py38_0
  - async-timeout=3.0.1=py38_0
  - attrs=20.3.0=pyhd3eb1b0_0
  - backcall=0.2.0=py_0
  - bcrypt=3.2.0=py38h7b6447c_0
  - blas=1.0=mkl
  - blinker=1.4=py38_0
  - boto3=1.16.7=pyhd3eb1b0_0
  - botocore=1.19.7=pyhd3eb1b0_0
  - brotlipy=0.7.0=py38h27cfd23_1003
  - c-ares=1.17.1=h27cfd23_0
  - ca-certificates=2021.4.13=h06a4308_1 # (updated from 2021.1.19 in May 26, 2021 maintenance update)
  - cachetools=4.2.0=pyhd3eb1b0_0
  - certifi=2020.12.5=py38h06a4308_0
  - cffi=1.14.3=py38h261ae71_2
  - chardet=3.0.4=py38h06a4308_1003
  - click=7.1.2=pyhd3eb1b0_0
  - cloudpickle=1.6.0=py_0
  - configparser=5.0.1=py_0
  - cpuonly=1.0=0
  - cryptography=3.1.1=py38h1ba5d50_0
  - cycler=0.10.0=py38_0
  - cython=0.29.21=py38h2531618_0
  - decorator=4.4.2=py_0
  - dill=0.3.2=py_0
  - docutils=0.15.2=py38_0
  - entrypoints=0.3=py38_0
  - flask=1.1.2=py_0
  - freetype=2.10.4=h5ab3b9f_0
  - future=0.18.2=py38_1
  - gitdb=4.0.5=py_0
  - gitpython=3.1.11=pyhd3eb1b0_1
  - google-auth=1.22.1=py_0
  - google-auth-oauthlib=0.4.2=pyhd3eb1b0_2
  - google-pasta=0.2.0=py_0
  - gunicorn=20.0.4=py38_0
  - h5py=2.10.0=py38h7918eee_0
  - hdf5=1.10.4=hb1b8bf9_0
  - icu=58.2=he6710b0_3
  - idna=2.10=pyhd3eb1b0_0
  - importlib-metadata=2.0.0=py_1
  - intel-openmp=2019.4=243
  - ipykernel=5.3.4=py38h5ca1d4c_0
  - ipython=7.19.0=py38hb070fc8_1
  - ipython_genutils=0.2.0=pyhd3eb1b0_1
  - isodate=0.6.0=py_1
  - itsdangerous=1.1.0=py_0
  - jedi=0.17.2=py38h06a4308_1
  - jinja2=2.11.2=pyhd3eb1b0_0
  - jmespath=0.10.0=py_0
  - joblib=0.17.0=py_0
  - jpeg=9b=h024ee3a_2
  - jupyter_client=6.1.7=py_0
  - jupyter_core=4.6.3=py38_0
  - kiwisolver=1.3.0=py38h2531618_0
  - krb5=1.17.1=h173b8e3_0
  - lcms2=2.11=h396b838_0
  - ld_impl_linux-64=2.33.1=h53a641e_7
  - libedit=3.1.20191231=h14c3975_1
  - libffi=3.3=he6710b0_2
  - libgcc-ng=9.1.0=hdf63c60_0
  - libgfortran-ng=7.3.0=hdf63c60_0
  - libpng=1.6.37=hbc83047_0
  - libpq=12.2=h20c2e04_0
  - libprotobuf=3.13.0.1=hd408876_0
  - libsodium=1.0.18=h7b6447c_0
  - libstdcxx-ng=9.1.0=hdf63c60_0
  - libtiff=4.1.0=h2733197_1
  - lightgbm=3.1.1=py38h2531618_0
  - lz4-c=1.9.2=heb0550a_3
  - mako=1.1.3=py_0
  - markdown=3.3.2=py38_0
  - markupsafe=1.1.1=py38h7b6447c_0
  - matplotlib-base=3.2.2=py38hef1b27d_0
  - mkl=2019.4=243
  - mkl-service=2.3.0=py38he904b0f_0
  - mkl_fft=1.2.0=py38h23d657b_0
  - mkl_random=1.1.0=py38h962f231_0
  - more-itertools=8.6.0=pyhd3eb1b0_0
  - multidict=4.7.6=py38h7b6447c_1
  - ncurses=6.2=he6710b0_1
  - networkx=2.5=py_0
  - nltk=3.5=py_0
  - numpy=1.19.2=py38h54aff64_0
  - numpy-base=1.19.2=py38hfa32c7d_0
  - oauthlib=3.1.0=py_0
  - olefile=0.46=py_0
  - openssl=1.1.1k=h27cfd23_0 # (updated from 1.1.1i in May 26, 2021 maintenance update)
  - packaging=20.4=py_0
  - pandas=1.1.3=py38he6710b0_0
  - paramiko=2.7.2=py_0
  - parso=0.7.0=py_0
  - patsy=0.5.1=py38_0
  - pexpect=4.8.0=pyhd3eb1b0_3
  - pickleshare=0.7.5=pyhd3eb1b0_1003
  - pillow=8.0.1=py38he98fc37_0
  - pip=20.2.4=py38h06a4308_0
  - plotly=4.14.2=pyhd3eb1b0_0
  - prompt-toolkit=3.0.8=py_0
  - prompt_toolkit=3.0.8=0
  - protobuf=3.13.0.1=py38he6710b0_1
  - psutil=5.7.2=py38h7b6447c_0
  - psycopg2=2.8.5=py38h3c74f83_1
  - ptyprocess=0.6.0=pyhd3eb1b0_2
  - pyasn1=0.4.8=py_0
  - pyasn1-modules=0.2.8=py_0
  - pycparser=2.20=py_2
  - pygments=2.7.2=pyhd3eb1b0_0
  - pyjwt=1.7.1=py38_0
  - pynacl=1.4.0=py38h7b6447c_1
  - pyodbc=4.0.30=py38he6710b0_0
  - pyopenssl=19.1.0=pyhd3eb1b0_1
  - pyparsing=2.4.7=pyhd3eb1b0_0
  - pysocks=1.7.1=py38h06a4308_0
  - python=3.8.8=hdb3f193_4 # (updated from 3.8.5 in May 26, 2021 maintenance update)
  - python-dateutil=2.8.1=py_0
  - python-editor=1.0.4=py_0
  - pytz=2020.1=py_0
  - pyzmq=19.0.2=py38he6710b0_1
  - readline=8.0=h7b6447c_0
  - regex=2020.10.15=py38h7b6447c_0
  - requests=2.24.0=py_0
  - requests-oauthlib=1.3.0=py_0
  - retrying=1.3.3=py_2
  - rsa=4.7=pyhd3eb1b0_1
  - s3transfer=0.3.4=pyhd3eb1b0_0
  - scikit-learn=0.23.2=py38h0573a6f_0
  - scipy=1.5.2=py38h0b6359f_0
  - setuptools=50.3.1=py38h06a4308_1
  - simplejson=3.17.2=py38h7b6447c_0
  - six=1.15.0=py38h06a4308_0
  - smmap=3.0.4=py_0
  - sqlite=3.33.0=h62c20be_0
  - sqlparse=0.4.1=py_0
  - statsmodels=0.12.0=py38h7b6447c_0
  - tabulate=0.8.7=py38_0
  - threadpoolctl=2.1.0=pyh5ca1d4c_0
  - tk=8.6.10=hbc83047_0
  - tornado=6.0.4=py38h7b6447c_1
  - tqdm=4.50.2=py_0
  - traitlets=5.0.5=py_0
  - typing_extensions=3.7.4.3=py_0
  - unixodbc=2.3.9=h7b6447c_0
  - urllib3=1.25.11=py_0
  - wcwidth=0.2.5=py_0
  - websocket-client=0.57.0=py38_2
  - werkzeug=1.0.1=py_0
  - wheel=0.35.1=pyhd3eb1b0_0
  - wrapt=1.12.1=py38h7b6447c_1
  - xz=5.2.5=h7b6447c_0
  - yarl=1.6.3=py38h27cfd23_0
  - zeromq=4.3.3=he6710b0_3
  - zipp=3.4.0=pyhd3eb1b0_0
  - zlib=1.2.11=h7b6447c_3
  - zstd=1.4.5=h9ceee32_0
  - pip:
    - astunparse==1.6.3
    - azure-core==1.10.0
    - azure-storage-blob==12.7.0
    - databricks-cli==0.14.1
    - diskcache==5.1.0
    - docker==4.4.1
    - flatbuffers==1.12
    - gast==0.3.3
    - grpcio==1.32.0
    - horovod==0.21.1
    - joblibspark==0.3.0
    - keras-preprocessing==1.1.2
    - koalas==1.5.0
    - llvmlite==0.35.0
    - mleap==0.16.1
    - mlflow==1.13.1
    - msrest==0.6.19
    - numba==0.52.0
    - opt-einsum==3.3.0
    - petastorm==0.9.8
    - pyarrow==1.0.1
    - pyyaml==5.4
    - querystring-parser==1.2.4
    - seaborn==0.10.0
    - shap==0.37.0
    - slicer==0.0.3
    - spark-tensorflow-distributor==0.1.0
    - tensorboard==2.4.1
    - tensorboard-plugin-wit==1.8.0
    - tensorflow-cpu==2.4.0
    - tensorflow-estimator==2.4.0
    - termcolor==1.1.0
    - torch==1.7.1
    - torchvision==0.8.2
    - xgboost==1.3.1
prefix: /databricks/conda/envs/databricks-ml

包含 Python 模块的 Spark 包

Spark 包 Python 模块 版本
graphframes graphframes 0.8.1-db2-spark3.1

R 库

R 库与 Databricks Runtime 8.0 中的 R 库完全相同。

Java 库和 Scala 库(Scala 2.12 群集)

除了 Databricks Runtime 8.0 中的 Java 库和 Scala 库之外,Databricks Runtime 8.0 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.3.1
ml.dmlc xgboost4j_2.12 1.3.1
org.graphframes graphframes_2.12 0.8.1-db2-spark3.1
org.mlflow mlflow-client 1.13.1
org.mlflow mlflow-spark 1.13.1
org.scala-lang.modules scala-java8-compat_2.12 0.8.0
org.tensorflow spark-tensorflow-connector_2.12 1.15.0