MLflow والتعلم الآلي من Microsoft Azure
ينطبق على:ملحق ML Azure CLI v2 (الحالي)Python SDK azure-ai-ml v2 (الحالي)
MLflow هو إطار عمل مفتوح المصدر مصمم لإدارة دورة حياة التعلم الآلي الكاملة. تتيح لك قدرتها على تدريب النماذج وخدمتها على منصات مختلفة استخدام مجموعة متسقة من الأدوات بغض النظر عن مكان تشغيل تجاربك: سواء محليا على جهاز الكمبيوتر الخاص بك، أو على هدف حساب بعيد، أو على جهاز ظاهري، أو على مثيل حساب Azure التعلم الآلي.
مساحات عمل Azure التعلم الآلي متوافقة مع MLflow، ما يعني أنه يمكنك استخدام مساحات عمل Azure التعلم الآلي بنفس الطريقة التي تستخدم بها خادم MLflow. هذا التوافق له المزايا التالية:
- لا يستضيف Azure التعلم الآلي مثيلات خادم MLflow تحت الغطاء؛ بدلا من ذلك، يمكن لمساحة العمل التحدث بلغة MLflow API.
- يمكنك استخدام مساحات عمل Azure التعلم الآلي كخادم تعقب لأي رمز MLflow، سواء كان يعمل على Azure التعلم الآلي أم لا. تحتاج فقط إلى تكوين MLflow للإشارة إلى مساحة العمل حيث يجب أن يحدث التعقب.
- يمكنك تشغيل أي روتين تدريبي يستخدم MLflow في Azure التعلم الآلي دون أي تغيير.
تلميح
على عكس Azure التعلم الآلي SDK v1، لا توجد وظيفة تسجيل في SDK v2. نوصي باستخدام MLflow للتسجيل، بحيث تكون إجراءات التدريب الخاصة بك غير محددة على السحابة ومحمولة - إزالة أي تبعية لدى التعليمات البرمجية الخاصة بك على Azure التعلم الآلي.
التعقب باستخدام MLflow
يستخدم Azure التعلم الآلي تتبع MLflow لتسجيل المقاييس وتخزين البيانات الاصطناعية لتجاربك. عند الاتصال ب Azure التعلم الآلي، يتم تحقيق جميع التتبعات التي يتم إجراؤها باستخدام MLflow في مساحة العمل التي تعمل عليها. لمعرفة المزيد حول كيفية إعداد تجاربك لاستخدام MLflow لتتبع التجارب وروتين التدريب، راجع مقاييس السجل والمعلمات والملفات باستخدام MLflow. يمكنك أيضا استخدام MLflow للاستعلام عن التجارب وتشغيلها ومقارنتها.
يوفر MLflow في Azure التعلم الآلي طريقة لمركزية التعقب. يمكنك توصيل MLflow بمساحات عمل Azure التعلم الآلي حتى عندما تعمل محليا أو في سحابة مختلفة. توفر مساحة العمل موقعًا مركزيًا وآمنًا وقابلًا للتوسع لتخزين نماذج ومقاييس التدريب.
يتضمن استخدام MLflow في Azure التعلم الآلي القدرات من أجل:
- تتبع تجارب التعلم الآلي والنماذج التي تعمل محليا أو في السحابة.
- تتبع تجارب التعلم الآلي من Azure Databricks.
- تتبع تجارب التعلم الآلي من Azure Synapse Analytics.
مثال دفاتر الملاحظات
- تدريب وتعقب مصنف XGBoost باستخدام MLflow: يوضح كيفية تتبع التجارب باستخدام MLflow ونماذج السجل ودمج أشكال متعددة في المسارات.
- تدريب مصنف XGBoost وتعقبه باستخدام MLflow باستخدام المصادقة الأساسية للخدمة: يوضح كيفية تعقب التجارب باستخدام MLflow من حساب يعمل خارج Azure التعلم الآلي. يوضح المثال كيفية المصادقة مقابل خدمات Azure التعلم الآلي باستخدام كيان الخدمة.
- تحسين المعلمة الفائقة باستخدام HyperOpt والتشغيلات المتداخلة في MLflow: يوضح كيفية استخدام عمليات التشغيل التابعة في MLflow للقيام بتحسين المعلمات الفائقة للنماذج باستخدام المكتبة الشائعة
Hyperopt
. يوضح المثال كيفية نقل المقاييس والمعلمات والبيانات الاصطناعية من عمليات التشغيل التابعة إلى عمليات التشغيل الأصل. - نماذج التسجيل باستخدام MLflow: يوضح كيفية استخدام مفهوم النماذج، بدلا من البيانات الاصطناعية، مع MLflow. يوضح المثال أيضا كيفية إنشاء نماذج مخصصة.
- إدارة التشغيلات والتجارب باستخدام MLflow: يوضح كيفية الاستعلام عن التجارب والتشغيل والمقاييس والمعلمات والبيانات الاصطناعية من التعلم الآلي من Microsoft Azure باستخدام MLflow.
التعقب باستخدام MLflow في R
يحتوي دعم MLflow في R على القيود التالية:
- يقتصر تعقب MLflow على تعقب مقاييس التجربة والمعلمات والنماذج على وظائف Azure التعلم الآلي.
- التدريب التفاعلي على دفاتر ملاحظات RStudio أو Posit (المعروف سابقا ب RStudio Workbench) أو Jupyter مع R kernels غير مدعوم.
- إدارة النموذج والتسجيل غير مدعومين باستخدام MLflow R SDK. بدلا من ذلك، استخدم Azure التعلم الآلي CLI أو Azure التعلم الآلي studio لتسجيل النموذج وإدارته.
للتعرف على استخدام عميل تتبع MLflow مع Azure التعلم الآلي، اعرض الأمثلة في تدريب نماذج R باستخدام Azure التعلم الآلي CLI (v2).
التعقب باستخدام MLflow في Java
يحتوي دعم MLflow في Java على القيود التالية:
- يقتصر تعقب MLflow على تعقب مقاييس التجربة والمعلمات على وظائف Azure التعلم الآلي.
- لا يمكن تعقب البيانات الاصطناعية والنماذج باستخدام MLflow Java SDK. بدلا من ذلك، استخدم
Outputs
المجلد في المهام جنبا إلى جنب معmlflow.save_model
الأسلوب لحفظ النماذج (أو البيانات الاصطناعية) التي تريد التقاطها.
للتعرف على استخدام عميل تتبع MLflow مع Azure التعلم الآلي، اعرض مثال Java الذي يستخدم عميل تتبع MLflow مع Azure التعلم الآلي.
سجلات النموذج مع MLflow
تدعم التعلم الآلي من Microsoft Azure MLflow لإدارة النماذج. يمثل هذا الدعم طريقة ملائمة لدعم دورة حياة النموذج بأكملها للمستخدمين الذين هم على دراية بعميل MLflow.
لمعرفة المزيد حول كيفية إدارة النماذج باستخدام MLflow API في التعلم الآلي من Microsoft Azure، اعرض سجلات إدارة النماذج في التعلم الآلي من Microsoft Azure باستخدام MLflow.
مثال لدفتر الملاحظات
- إدارة سجلات النماذج باستخدام MLflow: يوضح كيفية إدارة النماذج في السجلات باستخدام MLflow.
توزيع النموذج باستخدام MLflow
يمكنك نشر نماذج MLflow إلى Azure التعلم الآلي والاستفادة من التجربة المحسنة عند استخدام نماذج MLflow. يدعم Azure التعلم الآلي نشر نماذج MLflow على كل من نقاط النهاية في الوقت الفعلي والدفعة دون الحاجة إلى تحديد بيئة أو برنامج نصي لتسجيل النقاط. يتم دعم النشر باستخدام MLflow SDK أو Azure التعلم الآلي CLI أو Azure التعلم الآلي SDK ل Python أو Azure التعلم الآلي studio.
لمعرفة المزيد حول نشر نماذج MLflow في Azure التعلم الآلي للاستدلال في الوقت الحقيقي والدفعة، راجع إرشادات نشر نماذج MLflow.
مثال دفاتر الملاحظات
- نشر MLflow إلى نقاط النهاية عبر الإنترنت: يوضح كيفية نشر النماذج بتنسيق MLflow إلى نقاط النهاية عبر الإنترنت باستخدام MLflow SDK.
- نشر MLflow إلى نقاط النهاية عبر الإنترنت مع الإطلاق الآمن: يوضح كيفية نشر النماذج بتنسيق MLflow إلى نقاط النهاية عبر الإنترنت، باستخدام MLflow SDK مع الإطلاق التدريجي للنماذج. يوضح المثال أيضا نشر إصدارات متعددة من نموذج إلى نفس نقطة النهاية.
- توزيع MLflow إلى خدمات الويب (V1): يوضح كيفية نشر النماذج بتنسيق MLflow إلى خدمات الويب (ACI/AKS v1) باستخدام MLflow SDK.
- توزيع النماذج المدربة في Azure Databricks إلى Azure التعلم الآلي باستخدام MLflow: يوضح كيفية تدريب النماذج في Azure Databricks ونشرها في Azure التعلم الآلي. يغطي المثال أيضا كيفية التعامل مع الحالات التي تريد فيها أيضا تتبع التجارب مع مثيل MLflow في Azure Databricks.
التدريب مع مشاريع MLflow (معاينة)
هام
العناصر التي تم وضع علامة عليها (إصدار أولي) في هذه المقالة موجودة حالياً في الإصدار الأولي العام. تتوفر نسخة الإصدار الأولي دون اتفاقية مستوى الخدمة، ولا يوصى به لأحمال عمل الإنتاج. بعض الميزات ربما لا تكون مدعمة أو بها بعض القدرات المقيدة. لمزيد من المعلومات، راجع شروط الاستخدام التكميلية لمعاينات Microsoft Azure.
يمكنك إرسال مهام التدريب إلى التعلم الآلي من Microsoft Azure باستخدام مشاريع MLflow (معاينة). يمكنك إرسال المهام محليًا باستخدام التعلم الآلي من Microsoft Azure لتعقب عمليات التشغيل الخاصة بك أو ترحيلها إلى السحابة عبر حساب التعلم الآلي من Microsoft Azure.
لمعرفة كيفية إرسال مهام التدريب باستخدام مشاريع MLflow التي تستخدم مساحات عمل Azure التعلم الآلي للتعقب، راجع تدريب نماذج التعلم الآلي باستخدام مشاريع MLflow وAzure التعلم الآلي.
مثال دفاتر الملاحظات
- تعقب مشروع MLflow في مساحات عمل Azure التعلم الآلي.
- تدريب وتشغيل مشروع MLflow على وظائف Azure التعلم الآلي.
قدرات MLflow SDK وAzure Machine Learning v2 وAzure Machine Learning studio
يوضح الجدول التالي العمليات الممكنة، باستخدام كل من أدوات العميل المتوفرة في دورة حياة التعلم الآلي.
ميزة | MLflow SDK | Azure التعلم الآلي CLI/SDK | Azure Machine Learning Studio |
---|---|---|---|
تعقب وتسجيل المقاييس والمعلمات والنماذج | √ | ||
استرداد المقاييس والمعلمات والنماذج | √ | 1 | √ |
إرسال الوظائف التدريبية | ✓2 | √ | √ |
إرسال مهام التدريب باستخدام أصول بيانات Azure التعلم الآلي | √ | √ | |
إرسال مهام التدريب باستخدام مسارات التعلم الآلي | √ | √ | |
إدارة التجارب وعمليات التشغيل | √ | √ | √ |
إدارة نماذج MLflow | ✓3 | √ | √ |
إدارة نماذج غير MLflow | √ | √ | |
توزيع نماذج MLflow إلى Azure التعلم الآلي (عبر الإنترنت والدفعة) | ✓4 | √ | √ |
توزيع نماذج غير MLflow إلى التعلم الآلي من Microsoft Azure | √ | √ |
إشعار
- 1 يمكن تنزيل البيانات الاصطناعية والنماذج فقط.
- 2 ممكن باستخدام مشاريع MLflow (معاينة).
- 3 قد لا يتم دعم بعض العمليات. عرض إدارة سجلات النموذج في Azure التعلم الآلي مع MLflow للحصول على التفاصيل.
- 4 توزيع نماذج MLflow للاستدلال الدفعي باستخدام MLflow SDK غير ممكن في الوقت الحالي. كبديل، راجع نشر نماذج MLflow وتشغيلها في وظائف Spark.