Megosztás a következőn keresztül:


Databricks Runtime 6.0 ml-hez (nem támogatott)

A Databricks 2019 októberében adta ki ezt a képet.

A Databricks Runtime 6.0 for Machine Tanulás a Databricks Runtime 6.0-n (nem támogatott) alapuló, használatra kész környezetet biztosít a gépi tanuláshoz és az adatelemzéshez. A Databricks Runtime ML számos népszerű gépi tanulási kódtárat tartalmaz, köztük a TensorFlow- és PyTorch-, Keras- és XGBoost-kódtárakat. Emellett támogatja az elosztott mélytanulási képzést a Horovod használatával.

További információkért, beleértve a Databricks Runtime ML-fürt létrehozásának utasításait, tekintse meg a Databricks migrálási és gépi Tanulás.

Új funkciók

A Databricks Runtime 6.0 ML a Databricks Runtime 6.0-ra épül. A Databricks Runtime 6.0 újdonságait a Databricks Runtime 6.0 (nem támogatott) kibocsátási megjegyzéseiben találhatja meg.

MLflow-kísérlet adatainak lekérdezése nagy méretekben az új MLflow Spark-adatforrás használatával

Az MLflow-kísérletekHez készült Spark-adatforrás mostantól egy szabványos API-t biztosít az MLflow-kísérletfuttatási adatok betöltéséhez. Ez lehetővé teszi az MLflow-kísérletek adatainak nagy léptékű lekérdezését és elemzését DataFrame API-k használatával. Egy adott kísérlet esetében a DataFrame run_ids, metrikákat, paramokat, címkéket, start_time, end_time, állapotot és az összetevők artifact_uri tartalmaz. Lásd az MLflow-kísérletet.

Fejlesztések

  • Hyperopt GA

    Általánosan elérhető a Hyperopt az Azure Databricksen. A nyilvános előzetes verzió jelentős fejlesztései közé tartozik a Spark-feldolgozók MLflow-naplózásának támogatása, a PySpark szórási változóinak helyes kezelése, valamint a Hyperopt használatával történő modellválasztás új útmutatója. Kijavítottuk a naplóüzenetek kisebb hibáit, a hibakezelést, a felhasználói felületet, és a dokumentumokat olvasóbarátabbá tettük. További részletekért tekintse meg a Hyperopt dokumentációját.

    Frissítettük, hogy az Azure Databricks hogyan naplózza a Hyperopt-kísérleteket, így mostantól naplózhat egy egyéni metrikát a Hyperopt-futtatások során úgy, hogy átadja a metrikát a mlflow.log_metric függvénynek (lásd log_metric). Ez akkor hasznos, ha egyéni metrikákat szeretne naplózni a veszteség mellett, amelyet a függvény meghívásakor hyperopt.fmin a rendszer alapértelmezés szerint naplóz.

  • MLflow

  • Frissített gépi tanulási kódtárak

    • A Horovod 0.16.4-ről 0.18.1-re frissült
    • Az MLflow 1.0.0-ról 1.2.0-ra frissült
  • Az Anaconda-disztribúció 5.2.0-ról 2019.03-ra frissült

Eltávolítása

  • A Databricks ML-modell exportálása el lesz távolítva. Ehelyett használja az MLeap-t modellek importálásához és exportálásához.

  • A Hyperopt-kódtárban a következő tulajdonságok hyperopt.SparkTrials törlődnek:

    • SparkTrials.successful_trials_count
    • SparkTrials.failed_trials_count
    • SparkTrials.cancelled_trials_count
    • SparkTrials.total_trials_count

    Ezek helyébe a következő függvények lépnek:

    • SparkTrials.count_successful_trials()
    • SparkTrials.count_failed_trials()
    • SparkTrials.count_cancelled_trials()
    • SparkTrials.count_total_trials()

Rendszerkörnyezet

A Databricks Runtime 6.0 ML rendszerkörnyezete az alábbiak szerint különbözik a Databricks Runtime 6.0-tól:

Könyvtárak

Az alábbi szakaszok a Databricks Runtime 6.0 ML-ben található kódtárakat sorolják fel, amelyek eltérnek a Databricks Runtime 6.0-ban szereplő kódtáraktól.

Felső szintű kódtárak

A Databricks Runtime 6.0 ML a következő legfelső szintű kódtárakat tartalmazza:

Python-kódtárak

A Databricks Runtime 6.0 ML a Condát használja a Python-csomagkezeléshez, és számos népszerű ML-csomagot tartalmaz. A következő szakasz a Databricks Runtime 6.0 ML Conda-környezetét ismerteti.

Python 3 processzorfürtökön

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-modulokat tartalmazó Spark-csomagok

Spark-csomag Python-modul Verzió
gráfkeretek gráfkeretek 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-kódtárak

Az R-kódtárak megegyeznek a Databricks Runtime 6.0 R-kódtáraival.

Java- és Scala-kódtárak (Scala 2.11-fürt)

A Databricks Runtime 6.0 Java- és Scala-kódtárai mellett a Databricks Runtime 6.0 ML a következő JAR-eket tartalmazza:

Csoportazonosító Összetevő azonosítója Verzió
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