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

إشعار

يتم إهمال تتبع MLflow التلقائي MLlib على المجموعات التي تقوم بتشغيل Databricks Runtime 10.1 ML وما فوق، ويتم تعطيله افتراضيا على المجموعات التي تقوم بتشغيل Databricks Runtime 10.2 ML وما فوق. بدلا من ذلك، استخدم التسجيل التلقائي MLflow PySpark ML عن طريق استدعاء mlflow.pyspark.ml.autolog()، والذي يتم تمكينه افتراضيا باستخدام Databricks Autologging.

لاستخدام تتبع MLflow التلقائي القديم MLlib في Databricks Runtime 10.2 ML أو أعلى، قم بتمكينه عن طريق تعيين تكويناتspark.databricks.mlflow.trackMLlib.enabled true Spark و spark.databricks.mlflow.autologging.enabled false.

MLflow هو نظام أساسي مصدر مفتوح لإدارة دورة حياة التعلم الآلي الشاملة. يدعم MLflow التتبع لضبط نموذج التعلم الآلي في Python وR وSc scala. بالنسبة لدفاتر ملاحظات Python فقط، فإن إصدارات ملاحظات وقت تشغيل Databricks والتوافق ووقت تشغيل Databricks ل التعلم الآلي يدعمان تتبع MLflow التلقائيلضبط نموذج Apache Spark MLlib.

باستخدام تتبع MLflow التلقائي MLlib، عند تشغيل التعليمات البرمجية للضبط التي تستخدم CrossValidator أو TrainValidationSplit، يتم تسجيل المعلمات الفائقة ومقاييس التقييم تلقائيا في MLflow. دون تتبع MLflow التلقائي، يجب إجراء استدعاءات صريحة لواجهة برمجة التطبيقات لتسجيل الدخول إلى MLflow.

إدارة عمليات تشغيل MLflow

CrossValidator أو TrainValidationSplit نتائج ضبط السجل أثناء تشغيل MLflow المتداخلة:

  • التشغيل الرئيسي أو الأصل: المعلومات الخاصة CrossValidator بالتشغيل الرئيسي أو TrainValidationSplit يتم تسجيله. إذا كان هناك تشغيل نشط بالفعل، يتم تسجيل المعلومات إلى هذا التشغيل النشط ولا يتم إيقاف التشغيل النشط. إذا لم يكن هناك تشغيل نشط، يقوم MLflow بإنشاء تشغيل جديد، وتسجيل الدخول إليه، وإنهاء التشغيل قبل العودة.
  • عمليات التشغيل التابعة: يتم اختبار كل إعداد hyperparameter ويتم تسجيل مقياس التقييم المقابل إلى تشغيل تابع ضمن التشغيل الرئيسي.

عند استدعاء fit()، توصي Azure Databricks بإدارة تشغيل MLflow النشطة؛ أي التفاف الاستدعاء داخل fit() عبارة "with mlflow.start_run():". وهذا يضمن تسجيل المعلومات ضمن تشغيل MLflow الرئيسي الخاص بها، ويجعل من السهل تسجيل علامات أو معلمات أو مقاييس إضافية لهذا التشغيل.

إشعار

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

يوضح دفتر ملاحظات Python التالي تتبع MLflow التلقائي.

دفتر ملاحظات تعقب MLflow التلقائي

الحصول على دفتر الملاحظات

بعد تنفيذ الإجراءات في الخلية الأخيرة في دفتر الملاحظات، يجب عرض واجهة مستخدم MLflow:

MLlib-MLflow demo