다음을 통해 공유


ML용 Databricks Runtime 7.4(EoS)

참고 항목

이 Databricks Runtime 버전에 대한 지원이 종료되었습니다. 지원 종료 날짜는 지원 종료 기록을 참조하세요. 지원되는 모든 Databricks Runtime 버전은 Databricks Runtime 릴리스 정보 버전 및 호환성을 참조하세요.

Databricks는 2020년 11월에 이 버전을 릴리스했습니다.

Machine Learning용 Databricks Runtime 7.4은 Databricks Runtime 7.4(EoS)을 기반으로 즉시 사용 가능한 기계 학습 및 데이터 과학 환경을 제공합니다. Databricks Runtime ML에는 TensorFlow, PyTorch 및 XGBoost를 포함하여 널리 사용되는 많은 기계 학습 라이브러리가 포함되어 있습니다. 또한 Horovod를 사용하여 분산 딥 러닝 학습을 지원합니다.

Databricks Runtime ML 클러스터 만들기 지침을 포함한 자세한 내용은 Databricks에서의 AI 및 기계 학습을 참조하세요.

새로운 기능 및 주요 변경 내용

Databricks Runtime 7.4 ML은 Databricks Runtime 7.4를 기반으로 빌드됩니다. Apache Spark MLlib 및 SparkR을 포함하여 Databricks Runtime 7.4의 새로운 기능에 대한 자세한 내용은 Databricks Runtime 7.4(EoS) 릴리스 정보를 참조하세요.

Databricks Runtime ML Scala 환경의 주요 변경 내용

XGBoost가 1.2.0으로 업그레이드되었습니다. 이 버전을 사용하면 XGBoost가 Spark 클러스터에서 GPU를 사용하여 학습 속도를 향상시킬 수 있습니다. 몇 가지 주요 변경 내용을 포함하여 몇 가지 다른 변경 내용이 있습니다. 자세한 내용은 XGBoost 1.2.0 릴리스 정보를 검토하세요.

특히 CPU 클러스터에서 xgboost4j_2.12xgboost4j-spark_2.12이(가) 1.0.0에서 1.2.0으로 업그레이드되었습니다. GPU 클러스터에서는 이러한 패키지가 제거되고 그 대신 xgboost4j-gpu_2.12xgboost4j-spark-gpu_2.12의 버전 1.2.0이 설치됩니다.

GraphFrame은 0.8.0-db2-spark3.0에서 0.8.1-db1-spark3.0으로 업그레이드됩니다.

Databricks Runtime ML Python 환경의 주요 변경 내용

Databricks Runtime Python 환경의 주요 변경 내용은 Databricks Runtime 7.4(EoS)을 참조하세요. 설치된 Python 패키지 및 버전의 전체 목록은 Python 라이브러리를 참조하세요.

업그레이드된 Python 패키지

  • cloudpickle 1.3.0 -> 1.4.1
  • databricks-cli 0.11.0 -> 0.13.0
  • horovod 0.19.5 -> 0.20.3
  • petastorm 0.9.5 -> 0.9.6
  • plotly 4.9.0 -> 4.10.0
  • sparkdl 2.1.0-db1 -> 2.1.0-db2
  • tensorflow 2.3.0 -> 2.3.1
  • xgboost 1.1.1 -> 1.2.0

향상된 기능

  • PyTorch 오류를 발생시킨 일부 까다로운 문제가 Databricks Runtime 7.4에서 해결되었습니다. 자세한 내용은 Databricks Runtime 7.4 릴리스 정보를 참조하세요.
  • Horovod 0.20.3은 Azure Databricks에서 horovod.spark 패키지 사용을 지원합니다. horovod.spark: Horovod를 사용한 분산 딥 러닝을 참조하세요.

시스템 환경

Databricks Runtime 7.4 ML의 시스템 환경은 다음과 같은 면에서 Databricks Runtime 7.4와 다릅니다.

  • Open MPI가 4.0.4에서 4.0.5로 업그레이드됨
  • DBUtils: Databricks Runtime ML에는 라이브러리 유틸리티(dbutils.library)(레거시)가 포함되어 있지 않습니다. 대신 %pip%conda 명령을 사용할 수 있습니다. Notebook 범위의 Python 라이브러리를 참조하세요.
  • GPU 클러스터의 경우 Databricks Runtime ML에는 다음과 같은 NVIDIA GPU 라이브러리가 포함됩니다.
    • CUDA 10.1 업데이트 2
    • cuDNN 7.6.5
    • NCCL 2.7.3
    • TensorRT 6.0.1

라이브러리

다음 섹션에서는 Databricks Runtime 7.4에 포함된 라이브러리와 다른 Databricks Runtime 7.4 ML 라이브러리를 나열합니다.

이 구역의 내용:

최상위 계층 라이브러리

Databricks Runtime 7.4 ML에는 다음과 같은 최상위 계층 라이브러리가 포함되어 있습니다.

Python 라이브러리

Databricks Runtime 7.4 ML은 Python 패키지 관리에 Conda를 사용하며 많은 인기 있는 ML 패키지를 포함합니다.

다음 섹션의 Conda 환경에 지정된 패키지 외에도 Databricks Runtime 7.4 ML은 다음 패키지도 설치합니다.

  • hyperopt 0.2.4.db2
  • sparkdl 2.1.0-db2

CPU 클러스터의 Python 라이브러리

name: databricks-ml
channels:
  - pytorch
  - defaults
dependencies:
  - _libgcc_mutex=0.1=main
  - absl-py=0.9.0=py37_0
  - asn1crypto=1.3.0=py37_1
  - astor=0.8.0=py37_0
  - backcall=0.1.0=py37_0
  - backports=1.0=py_2
  - bcrypt=3.2.0=py37h7b6447c_0
  - blas=1.0=mkl
  - blinker=1.4=py37_0
  - boto3=1.12.0=py_0
  - botocore=1.15.0=py_0
  - c-ares=1.16.1=h7b6447c_0
  - ca-certificates=2020.7.22=0
  - cachetools=4.1.1=py_0
  - certifi=2020.6.20=py37_0
  - cffi=1.14.0=py37h2e261b9_0
  - chardet=3.0.4=py37_1003
  - click=7.0=py37_0
  - cloudpickle=1.4.1=py_0
  - configparser=3.7.4=py37_0
  - cpuonly=1.0=0
  - cryptography=2.8=py37h1ba5d50_0
  - cycler=0.10.0=py37_0
  - cython=0.29.15=py37he6710b0_0
  - decorator=4.4.1=py_0
  - dill=0.3.1.1=py37_1
  - docutils=0.15.2=py37_0
  - entrypoints=0.3=py37_0
  - flask=1.1.1=py_1
  - freetype=2.9.1=h8a8886c_1
  - future=0.18.2=py37_1
  - gast=0.3.3=py_0
  - gitdb=4.0.5=py_0
  - gitpython=3.1.0=py_0
  - google-auth=1.11.2=py_0
  - google-auth-oauthlib=0.4.1=py_2
  - google-pasta=0.2.0=py_0
  - grpcio=1.27.2=py37hf8bcb03_0
  - gunicorn=20.0.4=py37_0
  - h5py=2.10.0=py37h7918eee_0
  - hdf5=1.10.4=hb1b8bf9_0
  - icu=58.2=he6710b0_3
  - idna=2.8=py37_0
  - intel-openmp=2020.0=166
  - ipykernel=5.1.4=py37h39e3cac_0
  - ipython=7.12.0=py37h5ca1d4c_0
  - ipython_genutils=0.2.0=py37_0
  - isodate=0.6.0=py_1
  - itsdangerous=1.1.0=py37_0
  - jedi=0.17.2=py37_0
  - jinja2=2.11.1=py_0
  - jmespath=0.10.0=py_0
  - joblib=0.14.1=py_0
  - jpeg=9b=h024ee3a_2
  - jupyter_client=5.3.4=py37_0
  - jupyter_core=4.6.1=py37_0
  - kiwisolver=1.1.0=py37he6710b0_0
  - krb5=1.16.4=h173b8e3_0
  - ld_impl_linux-64=2.33.1=h53a641e_7
  - libedit=3.1.20181209=hc058e9b_0
  - libffi=3.2.1=hf484d3e_1007
  - libgcc-ng=9.1.0=hdf63c60_0
  - libgfortran-ng=7.3.0=hdf63c60_0
  - libpng=1.6.37=hbc83047_0
  - libpq=11.2=h20c2e04_0
  - libprotobuf=3.11.4=hd408876_0
  - libsodium=1.0.16=h1bed415_0
  - libstdcxx-ng=9.1.0=hdf63c60_0
  - libtiff=4.1.0=h2733197_0
  - lightgbm=2.3.0=py37he6710b0_0
  - lz4-c=1.8.1.2=h14c3975_0
  - mako=1.1.2=py_0
  - markdown=3.1.1=py37_0
  - markupsafe=1.1.1=py37h14c3975_1
  - matplotlib-base=3.1.3=py37hef1b27d_0
  - mkl=2020.0=166
  - mkl-service=2.3.0=py37he904b0f_0
  - mkl_fft=1.0.15=py37ha843d7b_0
  - mkl_random=1.1.0=py37hd6b4f25_0
  - ncurses=6.2=he6710b0_1
  - networkx=2.4=py_1
  - ninja=1.10.1=py37hfd86e86_0
  - nltk=3.4.5=py37_0
  - numpy=1.18.1=py37h4f9e942_0
  - numpy-base=1.18.1=py37hde5b4d6_1
  - oauthlib=3.1.0=py_0
  - olefile=0.46=py37_0
  - openssl=1.1.1h=h7b6447c_0
  - packaging=20.1=py_0
  - pandas=1.0.1=py37h0573a6f_0
  - paramiko=2.7.1=py_0
  - parso=0.7.0=py_0
  - patsy=0.5.1=py37_0
  - pexpect=4.8.0=py37_1
  - pickleshare=0.7.5=py37_1001
  - pillow=7.0.0=py37hb39fc2d_0
  - pip=20.0.2=py37_3
  - plotly=4.10.0=py_0
  - prompt_toolkit=3.0.3=py_0
  - protobuf=3.11.4=py37he6710b0_0
  - psutil=5.6.7=py37h7b6447c_0
  - psycopg2=2.8.4=py37h1ba5d50_0
  - ptyprocess=0.6.0=py37_0
  - pyasn1=0.4.8=py_0
  - pyasn1-modules=0.2.8=py_0
  - pycparser=2.19=py37_0
  - pygments=2.5.2=py_0
  - pyjwt=1.7.1=py37_0
  - pynacl=1.3.0=py37h7b6447c_0
  - pyodbc=4.0.30=py37he6710b0_0
  - pyopenssl=19.1.0=py_1
  - pyparsing=2.4.6=py_0
  - pysocks=1.7.1=py37_1
  - python=3.7.6=h0371630_2
  - python-dateutil=2.8.1=py_0
  - python-editor=1.0.4=py_0
  - pytorch=1.6.0=py3.7_cpu_0
  - pytz=2019.3=py_0
  - pyzmq=18.1.1=py37he6710b0_0
  - readline=7.0=h7b6447c_5
  - requests=2.22.0=py37_1
  - requests-oauthlib=1.3.0=py_0
  - retrying=1.3.3=py37_2
  - rsa=4.0=py_0
  - s3transfer=0.3.3=py37_1
  - scikit-learn=0.22.1=py37hd81dba3_0
  - scipy=1.4.1=py37h0b6359f_0
  - setuptools=45.2.0=py37_0
  - simplejson=3.17.0=py37h7b6447c_0
  - six=1.14.0=py37_0
  - smmap=3.0.4=py_0
  - sqlite=3.31.1=h62c20be_1
  - sqlparse=0.3.0=py_0
  - statsmodels=0.11.0=py37h7b6447c_0
  - tabulate=0.8.3=py37_0
  - tenacity=6.2.0=py37_0
  - tk=8.6.8=hbc83047_0
  - torchvision=0.7.0=py37_cpu
  - tornado=6.0.3=py37h7b6447c_3
  - tqdm=4.42.1=py_0
  - traitlets=4.3.3=py37_0
  - unixodbc=2.3.7=h14c3975_0
  - urllib3=1.25.8=py37_0
  - wcwidth=0.1.8=py_0
  - websocket-client=0.56.0=py37_0
  - werkzeug=1.0.0=py_0
  - wheel=0.34.2=py37_0
  - wrapt=1.11.2=py37h7b6447c_0
  - xz=5.2.4=h14c3975_4
  - zeromq=4.3.1=he6710b0_3
  - zlib=1.2.11=h7b6447c_3
  - zstd=1.3.7=h0b5b093_0
  - pip:
    - astunparse==1.6.3
    - azure-core==1.8.2
    - azure-storage-blob==12.5.0
    - databricks-cli==0.13.0
    - diskcache==5.0.3
    - docker==4.3.1
    - gorilla==0.3.0
    - horovod==0.20.3
    - joblibspark==0.2.0
    - keras-preprocessing==1.1.2
    - koalas==1.3.0
    - mleap==0.16.1
    - mlflow==1.11.0
    - msrest==0.6.19
    - opt-einsum==3.3.0
    - petastorm==0.9.6
    - pyarrow==1.0.1
    - pyyaml==5.3.1
    - querystring-parser==1.2.4
    - seaborn==0.10.0
    - spark-tensorflow-distributor==0.1.0
    - tensorboard==2.3.0
    - tensorboard-plugin-wit==1.7.0
    - tensorflow-cpu==2.3.1
    - tensorflow-estimator==2.3.0
    - termcolor==1.1.0
    - xgboost==1.2.0
prefix: /databricks/conda/envs/databricks-ml

GPU 클러스터의 Python 라이브러리

name: databricks-ml-gpu
channels:
  - pytorch
  - defaults
dependencies:
  - _libgcc_mutex=0.1=main
  - absl-py=0.9.0=py37_0
  - asn1crypto=1.3.0=py37_1
  - astor=0.8.0=py37_0
  - backcall=0.1.0=py37_0
  - backports=1.0=py_2
  - bcrypt=3.2.0=py37h7b6447c_0
  - blas=1.0=mkl
  - blinker=1.4=py37_0
  - boto3=1.12.0=py_0
  - botocore=1.15.0=py_0
  - c-ares=1.16.1=h7b6447c_0
  - ca-certificates=2020.7.22=0
  - cachetools=4.1.1=py_0
  - certifi=2020.6.20=py37_0
  - cffi=1.14.0=py37h2e261b9_0
  - chardet=3.0.4=py37_1003
  - click=7.0=py37_0
  - cloudpickle=1.4.1=py_0
  - configparser=3.7.4=py37_0
  - cryptography=2.8=py37h1ba5d50_0
  - cudatoolkit=10.1.243=h6bb024c_0
  - cycler=0.10.0=py37_0
  - cython=0.29.15=py37he6710b0_0
  - decorator=4.4.1=py_0
  - dill=0.3.1.1=py37_1
  - docutils=0.15.2=py37_0
  - entrypoints=0.3=py37_0
  - flask=1.1.1=py_1
  - freetype=2.9.1=h8a8886c_1
  - future=0.18.2=py37_1
  - gast=0.3.3=py_0
  - gitdb=4.0.5=py_0
  - gitpython=3.1.0=py_0
  - google-auth=1.11.2=py_0
  - google-auth-oauthlib=0.4.1=py_2
  - google-pasta=0.2.0=py_0
  - grpcio=1.27.2=py37hf8bcb03_0
  - gunicorn=20.0.4=py37_0
  - h5py=2.10.0=py37h7918eee_0
  - hdf5=1.10.4=hb1b8bf9_0
  - icu=58.2=he6710b0_3
  - idna=2.8=py37_0
  - intel-openmp=2020.0=166
  - ipykernel=5.1.4=py37h39e3cac_0
  - ipython=7.12.0=py37h5ca1d4c_0
  - ipython_genutils=0.2.0=py37_0
  - isodate=0.6.0=py_1
  - itsdangerous=1.1.0=py37_0
  - jedi=0.17.2=py37_0
  - jinja2=2.11.1=py_0
  - jmespath=0.10.0=py_0
  - joblib=0.14.1=py_0
  - jpeg=9b=h024ee3a_2
  - jupyter_client=5.3.4=py37_0
  - jupyter_core=4.6.1=py37_0
  - kiwisolver=1.1.0=py37he6710b0_0
  - krb5=1.16.4=h173b8e3_0
  - ld_impl_linux-64=2.33.1=h53a641e_7
  - libedit=3.1.20181209=hc058e9b_0
  - libffi=3.2.1=hf484d3e_1007
  - libgcc-ng=9.1.0=hdf63c60_0
  - libgfortran-ng=7.3.0=hdf63c60_0
  - libpng=1.6.37=hbc83047_0
  - libpq=11.2=h20c2e04_0
  - libprotobuf=3.11.4=hd408876_0
  - libsodium=1.0.16=h1bed415_0
  - libstdcxx-ng=9.1.0=hdf63c60_0
  - libtiff=4.1.0=h2733197_0
  - lightgbm=2.3.0=py37he6710b0_0
  - lz4-c=1.8.1.2=h14c3975_0
  - mako=1.1.2=py_0
  - markdown=3.1.1=py37_0
  - markupsafe=1.1.1=py37h14c3975_1
  - matplotlib-base=3.1.3=py37hef1b27d_0
  - mkl=2020.0=166
  - mkl-service=2.3.0=py37he904b0f_0
  - mkl_fft=1.0.15=py37ha843d7b_0
  - mkl_random=1.1.0=py37hd6b4f25_0
  - ncurses=6.2=he6710b0_1
  - networkx=2.4=py_1
  - ninja=1.10.1=py37hfd86e86_0
  - nltk=3.4.5=py37_0
  - numpy=1.18.1=py37h4f9e942_0
  - numpy-base=1.18.1=py37hde5b4d6_1
  - oauthlib=3.1.0=py_0
  - olefile=0.46=py37_0
  - openssl=1.1.1h=h7b6447c_0
  - packaging=20.1=py_0
  - pandas=1.0.1=py37h0573a6f_0
  - paramiko=2.7.1=py_0
  - parso=0.7.0=py_0
  - patsy=0.5.1=py37_0
  - pexpect=4.8.0=py37_1
  - pickleshare=0.7.5=py37_1001
  - pillow=7.0.0=py37hb39fc2d_0
  - pip=20.0.2=py37_3
  - plotly=4.10.0=py_0
  - prompt_toolkit=3.0.3=py_0
  - protobuf=3.11.4=py37he6710b0_0
  - psutil=5.6.7=py37h7b6447c_0
  - psycopg2=2.8.4=py37h1ba5d50_0
  - ptyprocess=0.6.0=py37_0
  - pyasn1=0.4.8=py_0
  - pyasn1-modules=0.2.8=py_0
  - pycparser=2.19=py37_0
  - pygments=2.5.2=py_0
  - pyjwt=1.7.1=py37_0
  - pynacl=1.3.0=py37h7b6447c_0
  - pyodbc=4.0.30=py37he6710b0_0
  - pyopenssl=19.1.0=py_1
  - pyparsing=2.4.6=py_0
  - pysocks=1.7.1=py37_1
  - python=3.7.6=h0371630_2
  - python-dateutil=2.8.1=py_0
  - python-editor=1.0.4=py_0
  - pytorch=1.6.0=py3.7_cuda10.1.243_cudnn7.6.3_0
  - pytz=2019.3=py_0
  - pyzmq=18.1.1=py37he6710b0_0
  - readline=7.0=h7b6447c_5
  - requests=2.22.0=py37_1
  - requests-oauthlib=1.3.0=py_0
  - retrying=1.3.3=py37_2
  - rsa=4.0=py_0
  - s3transfer=0.3.3=py37_1
  - scikit-learn=0.22.1=py37hd81dba3_0
  - scipy=1.4.1=py37h0b6359f_0
  - setuptools=45.2.0=py37_0
  - simplejson=3.17.0=py37h7b6447c_0
  - six=1.14.0=py37_0
  - smmap=3.0.4=py_0
  - sqlite=3.31.1=h62c20be_1
  - sqlparse=0.3.0=py_0
  - statsmodels=0.11.0=py37h7b6447c_0
  - tabulate=0.8.3=py37_0
  - tenacity=6.2.0=py37_0
  - tk=8.6.8=hbc83047_0
  - torchvision=0.7.0=py37_cu101
  - tornado=6.0.3=py37h7b6447c_3
  - tqdm=4.42.1=py_0
  - traitlets=4.3.3=py37_0
  - unixodbc=2.3.7=h14c3975_0
  - urllib3=1.25.8=py37_0
  - wcwidth=0.1.8=py_0
  - websocket-client=0.56.0=py37_0
  - werkzeug=1.0.0=py_0
  - wheel=0.34.2=py37_0
  - wrapt=1.11.2=py37h7b6447c_0
  - xz=5.2.4=h14c3975_4
  - zeromq=4.3.1=he6710b0_3
  - zlib=1.2.11=h7b6447c_3
  - zstd=1.3.7=h0b5b093_0
  - pip:
    - astunparse==1.6.3
    - azure-core==1.8.2
    - azure-storage-blob==12.5.0
    - databricks-cli==0.13.0
    - diskcache==5.0.3
    - docker==4.3.1
    - gorilla==0.3.0
    - horovod==0.20.3
    - joblibspark==0.2.0
    - keras-preprocessing==1.1.2
    - koalas==1.3.0
    - mleap==0.16.1
    - mlflow==1.11.0
    - msrest==0.6.19
    - opt-einsum==3.3.0
    - petastorm==0.9.6
    - pyarrow==1.0.1
    - pyyaml==5.3.1
    - querystring-parser==1.2.4
    - seaborn==0.10.0
    - spark-tensorflow-distributor==0.1.0
    - tensorboard==2.3.0
    - tensorboard-plugin-wit==1.7.0
    - tensorflow==2.3.1
    - tensorflow-estimator==2.3.0
    - termcolor==1.1.0
    - xgboost==1.2.0
prefix: /databricks/conda/envs/databricks-ml-gpu

Python 모듈이 포함된 Spark 패키지

Spark 패키지 Python 모듈 버전
graphframes graphframes 0.8.1-db1-spark3.0

R 라이브러리

R 라이브러리는 Databricks Runtime 7.4의 R 라이브러리와 동일합니다.

Java 및 Scala 라이브러리(Scala 2.12 클러스터)

Databricks Runtime 7.4의 Java 및 Scala 라이브러리 외에도 Databricks Runtime 7.4 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.3-4882dc3
ml.dmlc xgboost4j-spark_2.12 1.2.0
ml.dmlc xgboost4j_2.12 1.2.0
org.mlflow mlflow-client 1.11.0
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.17.3-4882dc3
ml.dmlc xgboost4j-spark-gpu_2.12 1.2.0
ml.dmlc xgboost4j-gpu_2.12 1.2.0
org.mlflow mlflow-client 1.11.0
org.scala-lang.modules scala-java8-compat_2.12 0.8.0
org.tensorflow spark-tensorflow-connector_2.12 1.15.0