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

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

إشعار

لتمكين تسجيل التتبع لأحمال عمل الذكاء الاصطناعي التوليدية، يدعم MLflow التسجيل التلقائي ل OpenAI.

يظهر الفيديو التالي 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_datasets)، وجمع أمثلة الإدخال (log_input_examples)، وتوقيعات نموذج السجل (log_model_signatures)، وتكوين التحذيرات (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)

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

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

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

  • scikit-learn
  • Apache Spark MLlib
  • TensorFlow
  • Keras
  • PyTorch Lightning
  • XGBoost
  • LightGBM
  • غلوون
  • Fast.ai
  • نماذج الإحصائيات
  • PaddlePaddle
  • OpenAI
  • LangChain

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

تمكين تتبع MLflow

يستخدم MLflow Tracing الميزة autolog داخل عمليات تكامل إطار عمل النموذج المعني للتحكم في تمكين دعم التتبع أو تعطيله للتكاملات التي تدعم التتبع.

على سبيل المثال، لتمكين التتبع عند استخدام نموذج LlamaIndex، استخدم mlflow.llama_index.autolog() مع log_traces=True:

import mlflow
mlflow.llama_index.autolog(log_traces=True)

التكاملات المدعومة التي لها تمكين التتبع داخل تطبيقات التسجيل التلقائي الخاصة بها هي:

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

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

الإدارة

يمكن للمسؤولين تمكين أو تعطيل 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.