مشاركة عبر


Databricks Runtime 6.0 ل ML (EoS)

إشعار

انتهى دعم إصدار وقت تشغيل Databricks هذا. للحصول على تاريخ انتهاء الدعم، راجع محفوظات انتهاء الدعم. لجميع إصدارات وقت تشغيل Databricks المدعومة، راجع إصدارات ملاحظات إصدار Databricks Runtime والتوافق.

أصدرت Databricks هذا الإصدار في أكتوبر 2019.

يوفر Databricks Runtime 6.0 for التعلم الآلي بيئة جاهزة للاستخدام للتعلم الآلي وعلوم البيانات استنادا إلى Databricks Runtime 6.0 (EoS). يحتوي التعلم الآلي من Databricks Runtime على العديد من مكتبات التعلم الآلي الشائعة، بما في ذلك TensorFlow وPyTorch وKeras وXGBoost. كما يدعم التدريب على التعلم العميق الموزع باستخدام Horovod.

لمزيد من المعلومات، بما في ذلك إرشادات إنشاء مجموعة التعلم الآلي من Databricks Runtime، راجع الذكاء الاصطناعي والتعلم الآلي على Databricks.

الميزات الجديدة

تم إنشاء Databricks Runtime 6.0 ML أعلى Databricks Runtime 6.0. للحصول على معلومات حول أحدث الميزات في Databricks Runtime 6.0، راجع ملاحظات إصدار Databricks Runtime 6.0 (EoS ).

الاستعلام عن بيانات تجربة MLflow على نطاق واسع باستخدام مصدر بيانات MLflow Spark الجديد

يوفر مصدر بيانات Spark لتجارب MLflow الآن واجهة برمجة تطبيقات قياسية لتحميل بيانات تشغيل تجربة MLflow. وهذا يتيح الاستعلام على نطاق واسع وتحليل بيانات تجربة MLflow باستخدام واجهات برمجة تطبيقات DataFrame. بالنسبة لتجربة معينة، يحتوي DataFrame على run_ids والمقاييس والبارمات والعلامات start_time end_time والحالة artifact_uri للبيانات الاصطناعية. راجع تجربة MLflow.

التحسينات

  • Hyperopt GA

    يتوفر Hyperopt على Azure Databricks الآن بشكل عام. تتضمن التحسينات الملحوظة منذ المعاينة العامة دعم تسجيل MLflow على عمال Spark، والتعامل الصحيح مع متغيرات بث PySpark، بالإضافة إلى دليل جديد حول تحديد النموذج باستخدام Hyperopt. كما أصلحنا الأخطاء الصغيرة في رسائل السجل ومعالجة الأخطاء وواجهة المستخدم وجعلنا مستنداتنا أكثر ملاءمة للقارئ. للحصول على التفاصيل، راجع وثائق 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 كما يلي:

مكتبات

تسرد الأقسام التالية المكتبات المضمنة في Databricks Runtime 6.0 ML التي تختلف عن تلك المضمنة في Databricks Runtime 6.0.

مكتبات من المستوى الأعلى

يتضمن Databricks Runtime 6.0 ML مكتبات المستوى الأعلى التالية:

مكتبات Python

يستخدم Databricks Runtime 6.0 ML Conda لإدارة حزمة Python ويتضمن العديد من حزم التعلم الآلي الشائعة. يصف القسم التالي بيئة Conda ل Databricks Runtime 6.0 ML.

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

حزم Spark التي تحتوي على وحدات Python

حزمة Spark وحدة Python النمطية إصدار
إطارات الرسم البياني إطارات الرسم البياني 0.7.0-db1-spark2.4
spark-deep-learning sparkdl 1.5.0-db5-spark2.4
إطارات العشرات إطارات العشرات 0.7.0-s_2.11

مكتبات R

مكتبات R مطابقة لمكتبات R في Databricks Runtime 6.0.

مكتبات Java وScala (مجموعة Scala 2.11)

بالإضافة إلى مكتبات Java و Scala في Databricks Runtime 6.0، يحتوي Databricks Runtime 6.0 ML على JARs التالية:

معرف مجموعة معرف البيانات الاصطناعية إصدار
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 1.2.0
org.tensorflow تدفق libtensor 1.13.1
org.tensorflow libtensorflow_jni 1.13.1
org.tensorflow spark-tensorflow-connector_2.11 1.13.1
org.tensorflow تدفق العشرات 1.13.1
org.tensorframes إطارات العشرات 0.7.0-s_2.11