Udostępnij za pośrednictwem


Databricks Runtime 7.0 ML (EoS)

Uwaga

Obsługa tej wersji środowiska Databricks Runtime została zakończona. Aby uzyskać datę zakończenia pomocy technicznej, zobacz Historia zakończenia pomocy technicznej. Wszystkie obsługiwane wersje środowiska Databricks Runtime można znaleźć w temacie Databricks Runtime release notes versions and compatibility (Wersje i zgodność środowiska Databricks Runtime).

Usługa Databricks wydała tę wersję w czerwcu 2020 r.

Środowisko Databricks Runtime 7.0 for Machine Learning zapewnia gotowe do użycia środowisko do uczenia maszynowego i nauki o danych oparte na środowisku Databricks Runtime 7.0 (EoS). Środowisko Databricks Runtime ML zawiera wiele popularnych bibliotek uczenia maszynowego, w tym TensorFlow, PyTorch i XGBoost. Obsługuje również trenowanie rozproszonego uczenia głębokiego przy użyciu struktury Horovod.

Aby uzyskać więcej informacji, w tym instrukcje dotyczące tworzenia klastra uczenia maszynowego usługi Databricks Runtime, zobacz Sztuczna inteligencja i uczenie maszynowe w usłudze Databricks.

Nowe funkcje i istotne zmiany

Środowisko Databricks Runtime 7.0 ML jest oparte na środowisku Databricks Runtime 7.0. Aby uzyskać informacje o nowościach w środowisku Databricks Runtime 7.0, w tym apache Spark MLlib i SparkR, zobacz informacje o wersji środowiska Databricks Runtime 7.0 (EoS).

Planowanie obsługujące procesor GPU

Środowisko Databricks Runtime 7.0 ML obsługuje planowanie obsługujące procesor GPU z platformy Apache Spark 3.0. Usługa Azure Databricks automatycznie ją konfiguruje. Zobacz Planowanie procesora GPU.

Istotne zmiany w środowisku języka Python uczenia maszynowego

W tej sekcji opisano główne zmiany w wstępnie zainstalowanym środowisku uczenia maszynowego w języku Python w porównaniu do środowiska Databricks Runtime 6.6 ML (EoS). Należy również przejrzeć główne zmiany w podstawowym środowisku języka Python w środowisku Databricks Runtime 7.0 (EoS). Aby uzyskać pełną listę zainstalowanych pakietów języka Python i ich wersji, zobacz Biblioteki języka Python.

Uaktualnione pakiety języka Python

  • tensorflow 1.15.0 -> 2.2.0
  • tensorboard 1.15.0 —> 2.2.2
  • pytorch 1.4.0 -> 1.5.0
  • xgboost 0.90 -> 1.1.1
  • sparkdl 1.6.0-db1 —> 2.1.0-db1
  • hyperopt 0.2.2.db1 —> 0.2.4.db1

Dodane pakiety języka Python

  • lightgbm: 2.3.0
  • nltk: 3.4.5
  • petastorm: 0.9.2
  • wykres: 4.5.2

Usunięte pakiety języka Python

  • argparse
  • boto (użyj boto3 zamiast tego)
  • colorama
  • deprecated
  • et-xmlfile
  • fusepy
  • html5lib
  • jdcal
  • keras (użyj tensorflow.keras zamiast tego)
  • keras-applications (użyj tensorflow.keras.applications zamiast tego)
  • llvmlite
  • lxml
  • nos
  • wyklucz nos
  • numba
  • openpyxl
  • pathlib2
  • warstwa
  • pymongo
  • singledispatch
  • tensorboardX (użyj torch.utils.tensorboard zamiast tego)
  • virtualenv
  • webencodings

Istotne zmiany w środowisku uczenia maszynowego w języku R

Środowisko Databricks Runtime 7.0 ML zawiera niezmodyfikowaną wersję oprogramowania RStudio Server Open Source w wersji 1.2.5033, dla której kod źródłowy można znaleźć w usłudze GitHub. Przeczytaj więcej na temat programu RStudio Server w usłudze Azure Databricks.

Zmiany w pakietach ML Spark, bibliotekach Java i Scala

Następujące pakiety są uaktualniane. Niektóre są uaktualniane do SNAPSHOT wersji zgodnych z platformą Apache Spark 3.0:

  • ramki graphframe: 0.7.0-db1-spark2.4 -> 0.8.0-db2-spark3.0
  • spark-tensorflow-connector: 1.15.0 (Scala 2.11) —> 1.15.0 (Scala 2.12)
  • xgboost4j i xgboost4j-spark: 0.90 –> 1.0.0
  • mleap-databricks-runtime: 0.17.0-4882dc3 (SNAPSHOT)

Następujące pakiety są usuwane:

  • TensorFlow (Java)
  • TensorFrames
  • Potoki uczenia głębokiego dla platformy Apache Spark (narzędzie HorovodRunner jest dostępne w języku Python)

Dodano polecenia conda i do obsługi bibliotek języka Python o zakresie notesu (publiczna wersja zapoznawcza)

Począwszy od środowiska Databricks Runtime 7.0 ML, można użyć %pip poleceń i %conda do zarządzania bibliotekami języka Python zainstalowanymi w sesji notesu. Możesz również użyć tych poleceń, aby utworzyć środowisko niestandardowe dla notesu i odtworzyć to środowisko między notesami. Aby włączyć tę funkcję, w ustawieniach klastra ustaw konfigurację spark.databricks.conda.condaMagic.enabled trueplatformy Spark. Aby uzyskać więcej informacji, zobacz Notebook-scoped Python libraries (Biblioteki języka Python o zakresie notesu).

Wycofywanie i nieobsługiwane funkcje

Środowisko Databricks Runtime 7.0 ML nie obsługuje kontroli dostępu do tabel. Jeśli potrzebujesz kontroli dostępu do tabel, zalecamy użycie środowiska Databricks Runtime 7.0.

Znane problemy

  • Jeśli rejestrujesz model MLlib w formacie mleap, gdy sample_input argument jest przekazywany do mlflow.spark.log_model niego kończy się niepowodzeniem z atrybutem AttributeError. Ten problem jest spowodowany zmianą interfejsu API na mleap. Aby obejść ten problem, przeprowadź uaktualnienie do wersji MLflow 1.9.0. Platformę MLflow 1.9.0 można zainstalować przy użyciu bibliotek języka Python o zakresie notesu.

Środowisko systemu

Środowisko systemowe w środowisku Databricks Runtime 7.0 ML różni się od środowiska Databricks Runtime 7.0 w następujący sposób:

Biblioteki

W poniższych sekcjach wymieniono biblioteki zawarte w środowisku Databricks Runtime 7.0 ML, które różnią się od bibliotek zawartych w środowisku Databricks Runtime 7.0.

W tej sekcji:

Biblioteki najwyższego poziomu

Środowisko Databricks Runtime 7.0 ML obejmuje następujące biblioteki najwyższego poziomu:

Biblioteki języka Python

Środowisko Databricks Runtime 7.0 ML używa narzędzia Conda do zarządzania pakietami języka Python i zawiera wiele popularnych pakietów uczenia maszynowego. W poniższej sekcji opisano środowisko Conda dla środowiska Databricks Runtime 7.0 ML.

Język Python w klastrach procesora CPU

name: databricks-ml
channels:
  - pytorch
  - defaults
dependencies:
  - _libgcc_mutex=0.1=main
  - absl-py=0.9.0=py37_0
  - asn1crypto=1.3.0=py37_0
  - astor=0.8.0=py37_0
  - backcall=0.1.0=py37_0
  - backports=1.0=py_2
  - bcrypt=3.1.7=py37h7b6447c_1
  - blas=1.0=mkl
  - blinker=1.4=py37_0
  - boto3=1.12.0=py_0
  - botocore=1.15.0=py_0
  - c-ares=1.15.0=h7b6447c_1001
  - ca-certificates=2020.1.1=0
  - cachetools=4.1.0=py_1
  - certifi=2020.4.5.1=py37_0
  - cffi=1.14.0=py37h2e261b9_0
  - chardet=3.0.4=py37_1003
  - click=7.0=py37_0
  - cloudpickle=1.3.0=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
  - gitdb2=2.0.6=py_0
  - gitpython=3.0.5=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
  - itsdangerous=1.1.0=py37_0
  - jedi=0.14.1=py37_0
  - jinja2=2.11.1=py_0
  - jmespath=0.9.4=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=hd88cf55_4
  - 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=py37h7b6447c_0
  - 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_0
  - ninja=1.9.0=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.1g=h7b6447c_0
  - packaging=20.1=py_0
  - pandas=1.0.1=py37h0573a6f_0
  - paramiko=2.7.1=py_0
  - parso=0.5.2=py_0
  - patsy=0.5.1=py37_0
  - pexpect=4.8.0=py37_0
  - pickleshare=0.7.5=py37_0
  - pillow=7.0.0=py37hb39fc2d_0
  - pip=20.0.2=py37_3
  - plotly=4.5.2=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.7=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=py37_0
  - pyparsing=2.4.6=py_0
  - pysocks=1.7.1=py37_0
  - python=3.7.6=h0371630_2
  - python-dateutil=2.8.1=py_0
  - python-editor=1.0.4=py_0
  - pytorch=1.5.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_0
  - 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
  - smmap2=2.0.5=py37_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
  - tk=8.6.8=hbc83047_0
  - torchvision=0.6.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
    - databricks-cli==0.11.0
    - diskcache==4.1.0
    - docker==4.2.1
    - gorilla==0.3.0
    - horovod==0.19.1
    - hyperopt==0.2.4.db1
    - keras-preprocessing==1.1.2
    - mleap==0.16.0
    - mlflow==1.8.0
    - opt-einsum==3.2.1
    - petastorm==0.9.2
    - pyarrow==0.15.1
    - pyyaml==5.3.1
    - querystring-parser==1.2.4
    - seaborn==0.10.0
    - sparkdl==2.1.0-db1
    - tensorboard==2.2.2
    - tensorboard-plugin-wit==1.6.0.post3
    - tensorflow-cpu==2.2.0
    - tensorflow-estimator==2.2.0
    - termcolor==1.1.0
    - xgboost==1.1.1
prefix: /databricks/conda/envs/databricks-ml

Język Python w klastrach gpu

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_0
  - astor=0.8.0=py37_0
  - backcall=0.1.0=py37_0
  - backports=1.0=py_2
  - bcrypt=3.1.7=py37h7b6447c_1
  - blas=1.0=mkl
  - blinker=1.4=py37_0
  - boto3=1.12.0=py_0
  - botocore=1.15.0=py_0
  - c-ares=1.15.0=h7b6447c_1001
  - ca-certificates=2020.1.1=0
  - cachetools=4.1.0=py_1
  - certifi=2020.4.5.2=py37_0
  - cffi=1.14.0=py37h2e261b9_0
  - chardet=3.0.4=py37_1003
  - click=7.0=py37_0
  - cloudpickle=1.3.0=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
  - gitdb2=2.0.6=py_0
  - gitpython=3.0.5=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
  - itsdangerous=1.1.0=py37_0
  - jedi=0.14.1=py37_0
  - jinja2=2.11.1=py_0
  - jmespath=0.9.4=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=hd88cf55_4
  - 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=py37h7b6447c_0
  - 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_0
  - ninja=1.9.0=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.1g=h7b6447c_0
  - packaging=20.1=py_0
  - pandas=1.0.1=py37h0573a6f_0
  - paramiko=2.7.1=py_0
  - parso=0.5.2=py_0
  - patsy=0.5.1=py37_0
  - pexpect=4.8.0=py37_0
  - pickleshare=0.7.5=py37_0
  - pillow=7.0.0=py37hb39fc2d_0
  - pip=20.0.2=py37_3
  - plotly=4.5.2=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.7=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=py37_0
  - pyparsing=2.4.6=py_0
  - pysocks=1.7.1=py37_0
  - python=3.7.6=h0371630_2
  - python-dateutil=2.8.1=py_0
  - python-editor=1.0.4=py_0
  - pytorch=1.5.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_0
  - 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
  - smmap2=2.0.5=py37_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
  - tk=8.6.8=hbc83047_0
  - torchvision=0.6.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
    - databricks-cli==0.11.0
    - diskcache==4.1.0
    - docker==4.2.1
    - gorilla==0.3.0
    - horovod==0.19.1
    - hyperopt==0.2.4.db1
    - keras-preprocessing==1.1.2
    - mleap==0.16.0
    - mlflow==1.8.0
    - opt-einsum==3.2.1
    - petastorm==0.9.2
    - pyarrow==0.15.1
    - pyyaml==5.3.1
    - querystring-parser==1.2.4
    - seaborn==0.10.0
    - sparkdl==2.1.0-db1
    - tensorboard==2.2.2
    - tensorboard-plugin-wit==1.6.0.post3
    - tensorflow-estimator==2.2.0
    - tensorflow-gpu==2.2.0
    - termcolor==1.1.0
    - xgboost==1.1.1
prefix: /databricks/conda/envs/databricks-ml-gpu

Pakiety platformy Spark zawierające moduły języka Python

Pakiet Platformy Spark Moduł języka Python Wersja
ramki grafu ramki grafu 0.8.0-db2-spark3.0

Biblioteki R

Biblioteki języka R są identyczne z bibliotekami języka R w środowisku Databricks Runtime 7.0 w wersji beta.

Biblioteki Java i Scala (klaster Scala 2.12)

Oprócz bibliotek Java i Scala w środowisku Databricks Runtime 7.0 środowisko Databricks Runtime 7.0 ML zawiera następujące jednostki JAR:

Identyfikator grupy Identyfikator artefaktu Wersja
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.0.0
ml.dmlc xgboost4j_2.12 1.0.0
org.mlflow mlflow-client 1.8.0
org.scala-lang.modules scala-java8-compat_2.12 0.8.0
org.tensorflow spark-tensorflow-connector_2.12 1.15.0