ML용 Databricks Runtime 6.0(EoS)
참고 항목
이 Databricks Runtime 버전에 대한 지원이 종료되었습니다. 지원 종료 날짜는 지원 종료 기록을 참조하세요. 지원되는 모든 Databricks Runtime 버전은 Databricks Runtime 릴리스 정보 버전 및 호환성을 참조하세요.
Databricks는 2019년 10월에 이 버전을 릴리스했습니다.
Machine Learning용 Databricks Runtime 6.0은 Databricks Runtime 6.0(EoS)을 기반으로 즉시 사용 가능한 기계 학습 및 데이터 과학 환경을 제공합니다. Databricks Runtime ML에는 TensorFlow, PyTorch, Keras, XGBoost를 포함하여 널리 사용되는 많은 기계 학습 라이브러리가 포함되어 있습니다. 또한 Horovod를 사용하여 분산 딥 러닝 학습을 지원합니다.
Databricks Runtime ML 클러스터 만들기 지침을 포함한 자세한 내용은 Databricks에서의 AI 및 기계 학습을 참조하세요.
새로운 기능
Databricks Runtime 6.0 ML은 Databricks Runtime 6.0을 기반으로 빌드됩니다. Databricks Runtime 6.0의 새로운 기능에 대한 자세한 내용은 Databricks Runtime 6.0(EoS) 릴리스 정보를 참조하세요.
새 MLflow Spark 데이터 원본을 사용하여 대규모 MLflow 실험 데이터 쿼리
MLflow 실험에 대한 Spark 데이터 원본은 이제 MLflow 실험 실행 데이터를 로드하는 표준 API를 제공합니다. 이를 통해 DataFrame API를 사용하여 MLflow 실험 데이터를 대규모로 쿼리하고 분석할 수 있습니다. 주어진 실험의 경우 DataFrame에는 run_ids, 메트릭, 매개변수, 태그, start_time, end_time, status, 아티팩트에 대한 artifact_uri가 포함됩니다. MLflow 실험을 참조하세요.
향상된 기능
Hyperopt GA
이제 Azure Databricks의 Hyperopt가 이제 출시되었습니다. 퍼블릭 미리 보기 이후 주목할 만한 개선 사항에는 Spark 작업자에 대한 MLflow 로깅 지원, PySpark 브로드캐스트 변수의 올바른 처리, Hyperopt를 사용한 모델 선택에 대한 새로운 가이드가 포함됩니다. 또한 로그 메시지, 오류 처리, UI의 작은 버그를 수정하고 문서를 더 읽기 쉽게 만들었습니다. 자세한 내용은 Hyperopt 설명서를 참조하세요.
Azure Databricks가 Hyperopt 실험을 기록하는 방법을 업데이트하여 이제 Hyperopt가 실행되는 동안 메트릭을
mlflow.log_metric
함수에 전달하여 사용자 지정 메트릭을 기록할 수 있습니다(log_metric 참조). 이는hyperopt.fmin
함수가 호출될 때 기본적으로 기록되는 손실 외에 사용자 지정 메트릭을 기록하려는 경우에 유용합니다.MLflow
- MLflow Java 클라이언트 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 ML 모델 내보내기가 제거되었습니다. 대신 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)(레거시)가 포함되어 있지 않습니다.
라이브러리
다음 섹션에서는 Databricks Runtime 6.0에 포함된 라이브러리와 다른 Databricks Runtime 6.0 ML에 포함된 라이브리가 나열되어 있습니다.
최상위 계층 라이브러리
Databricks Runtime 6.0 ML에는 다음과 같은 최상위 계층 라이브러리가 포함되어 있습니다.
- GraphFrames
- Horovod 및 HorovodRunner
- MLflow
- PyTorch
- spark-tensorflow-connector
- Tensorflow
- TensorBoard
Python 라이브러리
Databricks Runtime 6.0 ML은 Python 패키지 관리에 Conda를 사용하며 많은 인기 있는 ML 패키지를 포함합니다. 다음 섹션에서는 Databricks Runtime 6.0 ML용 Conda 환경에 대해 설명합니다.
CPU 클러스터의 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
Python 모듈이 포함된 Spark 패키지
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 라이브러리는 Databricks Runtime 6.0의 R 라이브러리와 동일합니다.
Java 및 Scala 라이브러리(Scala 2.11 클러스터)
Databricks Runtime 6.0의 Java 및 Scala 라이브러리 외에도 Databricks Runtime 6.0 ML에는 다음 JAR이 포함되어 있습니다.
그룹 ID | 아티팩트 ID | 버전 |
---|---|---|
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 |