تعقب التعلم الآلي وتشغيل التدريب على التعلم العميق

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

تتبع MLflow مع التجارب وتشغيلها

يستند تتبع MLflow إلى مفهومين، التجارب والجولات:

إشعار

بدءا من 27 مارس 2024، يفرض MLflow حدا للحصة النسبية على عدد إجمالي المعلمات والعلامات والخطوات القياسية لجميع عمليات التشغيل الحالية والجديدة، وعدد إجمالي عمليات التشغيل لجميع التجارب الحالية والجديدة، راجع حدود الموارد. إذا وصلت إلى عمليات التشغيل لكل حصة نسبية للتجربة، فإن Databricks توصي بحذف عمليات التشغيل التي لم تعد بحاجة إليها باستخدام واجهة برمجة تطبيقات عمليات الحذف في Python. إذا وصلت إلى حدود الحصة النسبية الأخرى، توصي Databricks بضبط استراتيجية التسجيل الخاصة بك للاحتفاظ بها تحت الحد. إذا كنت بحاجة إلى زيادة إلى هذا الحد، فتواصل مع فريق حساب Databricks الخاص بك مع شرح موجز لحالة الاستخدام الخاصة بك، ولماذا لا تعمل نهج التخفيف المقترحة، والحد الجديد الذي تطلبه.

سجلات MLflow Tracking API المعلمات والمقاييس والعلامات والبيانات الاصطناعية من تشغيل نموذج. تتصل واجهة برمجة تطبيقات التعقب بخادم تتبع MLflow. عند استخدام Databricks، يقوم خادم تعقب مستضاف على Databricks بتسجيل البيانات. يحتوي خادم تتبع MLflow المستضاف على واجهات برمجة تطبيقات Python وJava وR.

إشعار

تم تثبيت MLflow على مجموعات التعلم الآلي من Databricks Runtime. لاستخدام MLflow على مجموعة Databricks Runtime، يجب تثبيت المكتبة mlflow . للحصول على إرشادات حول تثبيت مكتبة على نظام مجموعة، راجع تثبيت مكتبة على نظام مجموعة. الحزم المحددة المراد تثبيتها ل MLflow هي:

  • بالنسبة إلى Python، حدد مكتبة المصدر PyPI وأدخل mlflow في حقل الحزمة.
  • بالنسبة إلى R، حدد مكتبة مصدر CRAN وأدخل mlflow في حقل الحزمة.
  • بالنسبة إلى Scala، قم بتثبيت هاتين الحزمتين:
    • حدد مكتبة المصدر Maven وأدخل org.mlflow:mlflow-client:1.11.0 في حقل الإحداثيات .
    • حدد مكتبة المصدر PyPI وأدخل mlflow في حقل الحزمة.

حيث يتم تسجيل عمليات تشغيل MLflow

يتم تسجيل جميع عمليات تشغيل MLflow إلى التجربة النشطة، والتي يمكن تعيينها باستخدام أي من الطرق التالية:

إذا لم يتم تعيين أي تجربة نشطة، يتم تسجيل عمليات التشغيل إلى تجربة دفتر الملاحظات.

لتسجيل نتائج تجربتك إلى خادم تعقب MLflow مستضاف عن بعد في مساحة عمل أخرى غير تلك التي تقوم بتشغيل تجربتك فيها، قم بتعيين URI للتتبع للإشارة إلى مساحة العمل البعيدة باستخدام mlflow.set_tracking_uri()، وتعيين المسار إلى تجربتك في مساحة العمل البعيدة باستخدام mlflow.set_experiment().

mlflow.set_tracking_uri(<uri-of-remote-workspace>)
mlflow.set_experiment("path to experiment in remote workspace")

إذا كنت تقوم بتشغيل التجارب محليا وتريد تسجيل نتائج التجربة إلى خادم Databricks MLflow Tracking، فقم بتوفير مثيل مساحة عمل Databricks (DATABRICKS_HOST) ورمز الوصول الشخصي ل Databricks (DATABRICKS_TOKEN). بعد ذلك، يمكنك تعيين تعقب URI للإشارة إلى مساحة العمل باستخدام mlflow.set_tracking_uri()، وتعيين المسار إلى تجربتك باستخدام mlflow.set_experiment(). راجع تنفيذ مصادقة رمز الوصول الشخصي Azure Databricks للحصول على تفاصيل حول مكان العثور على قيم DATABRICKS_HOST متغيرات البيئة و DATABRICKS_TOKEN .

يوضح مثال التعليمات البرمجية التالي تعيين هذه القيم:


os.environ["DATABRICKS_HOST"] = "https://dbc-1234567890123456.cloud.databricks.com" # set to your server URI
os.environ["DATABRICKS_TOKEN"] = "dapixxxxxxxxxxxxx"

mlflow.set_tracking_uri("databricks")
mlflow.set_experiment("/your-experiment")

تسجيل مثال دفتر الملاحظات

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

دفتر ملاحظات تشغيل Log MLflow

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

يمكنك استخدام MLflow Python وJava أو Scala وR APIs لبدء التشغيل وتسجيل بيانات التشغيل. للحصول على التفاصيل، راجع دفاتر ملاحظات مثال MLflow.

الوصول إلى خادم تتبع MLflow من خارج Azure Databricks

يمكنك أيضا الكتابة إلى خادم التعقب والقراءة منه من خارج Azure Databricks، على سبيل المثال باستخدام MLflow CLI. راجع الوصول إلى خادم تتبع MLflow من خارج Azure Databricks.

تحليل عمليات تشغيل MLflow برمجيا

يمكنك الوصول إلى تشغيل بيانات MLflow برمجيا باستخدام واجهات برمجة التطبيقات DataFrame التالية:

يوضح هذا المثال كيفية استخدام عميل MLflow Python لإنشاء لوحة معلومات تصور التغييرات في مقاييس التقييم بمرور الوقت، ويتعقب عدد عمليات التشغيل التي بدأها مستخدم معين، ويقيس إجمالي عدد عمليات التشغيل عبر جميع المستخدمين:

لماذا قد تختلف مقاييس ومخرجات تدريب النموذج

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

للتحكم في التباين الناجم عن الاختلافات في الترتيب والتقسيم، استخدم وظائف PySpark إعادة تقسيم و sortWithinPartitions.

أمثلة تعقب MLflow

توضح دفاتر الملاحظات التالية كيفية تدريب عدة أنواع من النماذج وتتبع بيانات التدريب في MLflow وكيفية تخزين بيانات التعقب في Delta Lake.