التسجيل التلقائي ل Databricks

Databricks Autologging هو حل بدون تعليمات برمجية يوسع التسجيل التلقائي ل MLflow لتقديم تتبع التجارب التلقائي لجلسات التدريب على التعلم الآلي على Azure Databricks.

باستخدام Databricks Autologging، يتم التقاط معلمات النموذج والمقاييس والملفات ومعلومات دورة حياة البيانات تلقائيا عند تدريب النماذج من مجموعة متنوعة من مكتبات التعلم الآلي الشائعة. يتم تسجيل جلسات التدريب على أنها عمليات تشغيل تعقب MLflow. يتم أيضا تعقب ملفات النموذج حتى تتمكن من تسجيلها بسهولة إلى سجل نموذج MLflow ونشرها لتسجيل النقاط في الوقت الحقيقي باستخدام خدمة النموذج.

يظهر الفيديو التالي Databricks Autologging مع جلسة تدريب نموذج scikit-learn في دفتر ملاحظات Python تفاعلي. يتم التقاط معلومات التعقب وعرضها تلقائيا في الشريط الجانبي "تشغيل التجربة" وفي واجهة مستخدم MLflow.

مثال على التسجيل التلقائي

المتطلبات

  • يتوفر التسجيل التلقائي ل Databricks بشكل عام في جميع المناطق مع Databricks Runtime 10.4 LTS ML أو أعلى.
  • يتوفر Databricks Autologging في مناطق معاينة محددة مع Databricks Runtime 9.1 LTS ML أو أعلى.

طريقة العمل

عند إرفاق دفتر ملاحظات Python تفاعلي بمجموعة Azure Databricks، يستدعي Databricks Autologging mlflow.autolog() لإعداد التتبع لجلسات تدريب النموذج. عند تدريب النماذج في دفتر الملاحظات، يتم تعقب معلومات تدريب النموذج تلقائيا باستخدام MLflow Tracking. للحصول على معلومات حول كيفية تأمين معلومات تدريب النموذج هذه وإدارتها، راجع الأمان وإدارة البيانات.

التكوين الافتراضي لاستدعاء mlflow.autolog() هو:

mlflow.autolog(
    log_input_examples=False,
    log_model_signatures=True,
    log_models=True,
    disable=False,
    exclusive=False,
    disable_for_unsupported_versions=True,
    silent=False
)

يمكنك تخصيص تكوين التسجيل التلقائي.

الاستخدام

لاستخدام Databricks Autologging، قم بتدريب نموذج التعلم الآلي في إطار عمل مدعوم باستخدام دفتر ملاحظات Azure Databricks Python تفاعلي. يقوم Databricks Autologging تلقائيا بتسجيل معلومات دورة حياة النموذج والمعلمات والمقاييس إلى MLflow Tracking. يمكنك أيضا تخصيص سلوك Databricks Autologging.

إشعار

لا يتم تطبيق Databricks Autologging على عمليات التشغيل التي تم إنشاؤها باستخدام واجهة برمجة تطبيقات MLflow بطلاقة مع mlflow.start_run(). في هذه الحالات، يجب استدعاء mlflow.autolog() لحفظ المحتوى المسجل تلقائيا إلى تشغيل MLflow. راجع تعقب محتوى إضافي.

تخصيص سلوك التسجيل

لتخصيص التسجيل، استخدم mlflow.autolog(). توفر هذه الدالة معلمات التكوين لتمكين تسجيل النموذج (log_models)، وجمع أمثلة الإدخال (log_input_examples)، وتكوين التحذيرات (silent)، والمزيد.

تعقب محتوى إضافي

لتعقب المقاييس والمعلمات والملفات وبيانات التعريف الإضافية باستخدام عمليات تشغيل MLflow التي تم إنشاؤها بواسطة Databricks Autologging، اتبع هذه الخطوات في دفتر ملاحظات Python التفاعلي Azure Databricks:

  1. استدعاء mlflow.autolog() باستخدام exclusive=False.
  2. بدء تشغيل MLflow باستخدام mlflow.start_run(). يمكنك تضمين هذه المكالمة في with mlflow.start_run()؛ عند القيام بذلك، يتم إنهاء التشغيل تلقائيا بعد اكتماله.
  3. استخدم أساليب تعقب MLflow، مثل mlflow.log_param()، لتعقب محتوى ما قبل التدريب.
  4. تدريب نموذج واحد أو أكثر من نماذج التعلم الآلي في إطار عمل يدعمه Databricks Autologging.
  5. استخدم أساليب تعقب MLflow، مثل mlflow.log_metric()، لتعقب محتوى ما بعد التدريب.
  6. إذا لم تستخدم with mlflow.start_run() في الخطوة 2، فقم بإنهاء تشغيل MLflow باستخدام mlflow.end_run().

على سبيل المثال:

import mlflow
mlflow.autolog(exclusive=False)

with mlflow.start_run():
  mlflow.log_param("example_param", "example_value")
  # <your model training code here>
  mlflow.log_metric("example_metric", 5)

تعطيل التسجيل التلقائي ل Databricks

لتعطيل Databricks Autologging في دفتر ملاحظات Python التفاعلي Azure Databricks، اتصل ب mlflow.autolog() باستخدام disable=True:

import mlflow
mlflow.autolog(disable=True)

يمكن مسؤول istrators أيضا تعطيل Databricks Autologging لجميع المجموعات في مساحة عمل من علامة تبويب متقدمة لصفحة إعدادات المسؤول. يجب إعادة تشغيل المجموعات حتى يسري هذا التغيير.

البيئات والأطر المدعومة

يتم دعم Databricks Autologging في دفاتر ملاحظات Python التفاعلية وهو متاح لأطر عمل التعلم الآلي التالية:

  • scikit-learn
  • Apache Spark MLlib
  • TensorFlow
  • Keras
  • PyTorch Lightning
  • XGBoost
  • LightGBM
  • غلوون
  • Fast.ai (الإصدار 1.x)
  • نماذج الإحصائيات.

لمزيد من المعلومات حول كل من أطر العمل المدعومة، راجع تسجيل MLflow التلقائي.

الأمان وإدارة البيانات

يتم تخزين جميع معلومات تدريب النموذج التي يتم تعقبها باستخدام Databricks Autologging في MLflow Tracking ويتم تأمينها بواسطة أذونات MLflow Experiment. يمكنك مشاركة معلومات تدريب النموذج أو تعديلها أو حذفها باستخدام واجهة برمجة تطبيقات أو واجهة مستخدم تتبع MLflow.

الإدارة

يمكن مسؤول istrators تمكين أو تعطيل Databricks Autologging لجميع جلسات عمل دفتر الملاحظات التفاعلية عبر مساحة العمل الخاصة بهم في علامة تبويب متقدمة لصفحة إعدادات المسؤول. لا تسري التغييرات حتى تتم إعادة تشغيل نظام المجموعة.

القيود

  • لا يتم دعم Databricks Autologging في وظائف Azure Databricks. لاستخدام التسجيل التلقائي من الوظائف، يمكنك استدعاء mlflow.autolog()بشكل صريح.
  • يتم تمكين Databricks Autologging فقط على عقدة برنامج التشغيل لمجموعة Azure Databricks. لاستخدام التسجيل التلقائي من العقد العاملة، يجب عليك استدعاء mlflow.autolog() بشكل صريح من داخل التعليمات البرمجية المنفذة على كل عامل.
  • تكامل XGBoost scikit-learn غير مدعوم.

Apache Spark MLlib وHyperopt وتعقب MLflow التلقائي

لا يغير Databricks Autologging سلوك عمليات تكامل تعقب MLflow التلقائية الحالية ل Apache Spark MLlib وHyperopt.

إشعار

في Databricks Runtime 10.1 ML، يؤدي تعطيل تكامل تتبع MLflow التلقائي ل Apache Spark MLlib CrossValidator والنماذج TrainValidationSplit أيضا إلى تعطيل ميزة Databricks Autologging لجميع نماذج Apache Spark MLlib.