Databricks Runtime 7,0 (EoS) ML
O suporte para essa versão do Databricks Runtime foi encerrado. Para saber a data do fim do suporte, consulte Histórico do fim do suporte. Para conhecer todas as versões compatíveis do site Databricks Runtime, consulte Databricks Runtime notas sobre as versões e a compatibilidade.
A Databricks lançou essa versão em junho de 2020.
O Databricks Runtime 7.0 for Machine Learning oferece um ambiente pronto para uso para aprendizado de máquina e ciência de dados com base no Databricks Runtime 7.0 (EoS). Databricks Runtime ML Contém muitas bibliotecas populares de aprendizado de máquina, incluindo TensorFlow, PyTorch, e XGBoost. Ele também oferece suporte ao treinamento de aprendizagem profunda distribuída usando o Horovod.
Para obter mais informações, incluindo instruções para criar um cluster Databricks Runtime ML , consulte AI e aprendizado de máquina em Databricks.
Novo recurso e grandes mudanças
O Databricks Runtime 7.0 ML foi desenvolvido com base no Databricks Runtime 7.0. Para obter informações sobre as novidades do Databricks Runtime 7.0, incluindo Apache Spark MLlib e SparkR, , consulte as notas sobre a versão Databricks Runtime 7.0 (EoS).
Programação com reconhecimento de GPU
Databricks Runtime 7.0 O site ML oferece suporte à programação com reconhecimento de GPU a partir do site Apache Spark 3.0. O Databricks o configura automaticamente para o senhor. Consulte Programar GPU.
Principais mudanças no ambiente do ML Python
Esta seção descreve as principais alterações no ambiente Python do ML pré-instalado em comparação com o Databricks Runtime 6.6 ML (EoS). O senhor também deve analisar as principais alterações no ambiente Python básico no Databricks Runtime 7.0 (EoS). Para obter uma lista completa do pacote Python instalado e suas versões, consulte Python biblioteca.
Python pacote atualizado
- 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,11
- sparkdl 1.6.0-db1 - > 2.1.0-db1
- Hyperopt 0.2.2.db1 -> 0.2.4.db1
Python pacote adicionado
- lightgbm: 2.3.0
- nltk: 3.4.5
- petastorm: 0.9.2
- trama: 4.5.2
Python pacote removido
- argparse
- Boto (em vez disso, use
boto3
) - colorama
- obsoleto
- arquivo et-xml
- fusepy
- html5lib
- jdcal
- Keras (em vez disso, use
tensorflow.keras
) - Keras-applications (em vez disso, use
tensorflow.keras.applications
) - llvmlite
- lxml
- nariz
- nariz-exclui
- numba
- openpyxl
- pathlib2
- dobra
- pymongo
- despacho único
- TensorBoardX (use
torch.utils.tensorboard
em vez disso) - ambiente virtual
- codificações da web
Principais mudanças no ambiente do ML R
Databricks Runtime 7.0 O site ML inclui uma versão não modificada do RStudio Server código aberto v1.2.5033, cujo código-fonte pode ser encontrado em GitHub. Leia mais sobre o RStudio Server na Databricks.
Alterações em ML Spark pacote, Java e Scala biblioteca
Os pacotes a seguir foram atualizados. Alguns são atualizados para as versões SNAPSHOT
que são compatíveis com o Apache Spark 3.0:
- GraphFrames: 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 e xgboost4j-spark: 0,90 - > 1,0.0
- tempo de execução do mleap-databricks: 0.17.0-4882dc3 (Instantâneo)
Os pacotes a seguir foram removidos:
- TensorFlow (Java)
- TensorFrames
- aprendizagem profunda pipeline para Apache Spark (HorovodRunner está disponível em Python)
Adicionado o conda e o pip comando para oferecer suporte ao Notebook-scoped Python biblioteca (visualização pública)
A partir de Databricks Runtime 7.0 ML, o senhor pode usar %pip
e %conda
comando para gerenciar Python biblioteca instalada em uma sessão do Notebook.
O senhor também pode usar esses comandos para criar um ambiente personalizado para um Notebook e reproduzir esse ambiente entre Notebooks.
Para ativar esse recurso, nas configurações de clustering, defina a configuraçãoSpark spark.databricks.conda.condaMagic.enabled true
.
Para obter mais informações, consulte Notebook-scoped Pythonbiblioteca.
Depreciações e recursos não suportados
Databricks Runtime 7.0 ML não oferece suporte ao controle de acesso da tabela. Se o senhor precisar de controle de acesso à tabela, recomendamos que use o site Databricks Runtime 7.0.
Problemas conhecidos
- Se o senhor estiver registrando um modelo MLlib no formato mleap, quando o argumento
sample_input
for passado paramlflow.spark.log_model
, ele falhará com um AttributeError. Esse problema é causado por uma alteração na API do mleap. Para contornar esse problema, atualize para o MLflow 1.9.0. NotebookO Python senhor pode instalar o MLflow 1.9.0 usando -scoped biblioteca.
Ambiente do sistema
O ambiente do sistema no Databricks Runtime 7.0 ML difere do Databricks Runtime 7.0 da seguinte forma:
- DBUtils : Databricks Runtime ML não contém biblioteca utilidades (dbutils.biblioteca) (legado). Em vez disso, o senhor pode usar
%pip
e%conda
comando. NotebookConsulte -scoped Pythonbiblioteca. - Para o clustering de GPU, a seguinte biblioteca de GPUs NVIDIA:
- Atualização 2 do CUDA 10.1
- cuDNN 7.6.5
- NCCL 2.7.3
- TensorRT 6.0.1
biblioteca
As seções a seguir listam as bibliotecas incluídas no Databricks Runtime 7.0 ML que diferem daquelas incluídas no Databricks Runtime 7.0.
Nesta secção:
- Biblioteca de primeira linha
- Bibliotecas Python
- R biblioteca
- Java e Scala biblioteca (Scala 2.12 clustering)
Biblioteca de primeira linha
Databricks Runtime 7.0 ML inclui as seguintes bibliotecas de primeira linha:
- GraphFrames
- Horovod e HorovodRunner
- MLflow
- PyTorch
- spark-tensorflow-connector
- TensorFlow
- TensorBoard
Python biblioteca
Databricks Runtime 7.0 ML usa Conda para o gerenciamento de pacotes Python e inclui muitos pacotes populares ML. A seção a seguir descreve o ambiente Conda para o Databricks Runtime 7.0 ML.
Python em clustering de 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
Python em clustering de 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
Spark pacote contendo os módulos Python
Spark pacote | Módulo Python | Versão |
---|---|---|
graphframes | graphframes | 0.8.0-db2-spark3.0 |
R biblioteca
A biblioteca R é idêntica à biblioteca R em Databricks Runtime 7.0 Beta.
Java e biblioteca ( 2.12 clustering) Scala Scala
Além de Java e Scala biblioteca em Databricks Runtime 7.0, Databricks Runtime 7.0 ML contém os seguintes JARs:
ID do grupo | ID do artefato | Versão |
---|---|---|
com.typesafe.akka | também conhecido como 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 | cliente mlflow | 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 |