MLflow عبارة عن منصة لتبسيط تطوير التعلم الآلي، بما في ذلك تجارب التتبع، وتجميع التعليمات البرمجية في عمليات تشغيل قابلة للتكرار، ومشاركة النماذج ونشرها. يقدم MLflow مجموعة من واجهات برمجة التطبيقات خفيفة الوزن التي يمكن استخدامها مع أي تطبيق أو مكتبة موجودة للتعلم الآلي (TensorFlow وPyTorch وXGBoost وما إلى ذلك)، أينما تقوم حاليًا بتشغيل كود ML (على سبيل المثال في أجهزة الكمبيوتر المحمولة أو التطبيقات المستقلة أو السحابة). مكونات MLflow الحالية هي:
تتبع MLflow: واجهة برمجة تطبيقات لتسجيل المعلمات والتعليمات البرمجية والنتائج في تجارب التعلم الآلي ومقارنتها باستخدام واجهة مستخدم تفاعلية.
مشاريع MLflow: تنسيق حزمة التعليمات البرمجية للتشغيل القابل للتكرار باستخدام Conda وDocker، حتى تتمكن من مشاركة كود ML الخاص بك مع الآخرين.
نماذج MLflow: تنسيق وأدوات تعبئة النموذج تتيح لك نشر نفس النموذج بسهولة (من أي مكتبة ML) للدفعات والتسجيل في الوقت الفعلي على منصات مثل Docker وApache Spark وAzure ML وAWS SageMaker.
سجل نموذج MLflow: مخزن نماذج مركزي، ومجموعة من واجهات برمجة التطبيقات، وواجهة المستخدم، لإدارة دورة الحياة الكاملة لنماذج MLflow بشكل تعاوني.
الحزم
بايبي | |
كوندا فورج | |
كران | |
مافين سنترال |
حالات الوظيفة
قم بتثبيت MLflow من PyPI عبر pip install mlflow
يتطلب MLflow أن تكون conda
على PATH
لميزة المشاريع.
تتوفر هنا أيضًا لقطات ليلية لبرنامج MLflow master.
قم بتثبيت مجموعة فرعية ذات تبعية أقل من MLflow من PyPI عبر pip install mlflow-skinny
يمكن إضافة تبعيات إضافية حسب السيناريو المطلوب. على سبيل المثال، pip install mlflow-skinny pandas numpy
يسمح بدعم mlflow.pyfunc.log_model.
يمكن العثور على الوثائق الرسمية لـ MLflow على https://mlflow.org/docs/latest/index.html.
خريطة طريق MLflow الحالية متاحة على https://github.com/mlflow/mlflow/milestone/3. نحن نسعى للحصول على مساهمات في جميع عناصر خريطة الطريق الخاصة بنا باستخدام علامة help wanted
. يرجى الاطلاع على قسم المساهمة لمزيد من المعلومات.
للحصول على مساعدة أو أسئلة حول استخدام MLflow (على سبيل المثال، "كيف أفعل X؟") راجع المستندات أو Stack Overflow.
للإبلاغ عن خطأ، أو تقديم مشكلة توثيقية، أو إرسال طلب ميزة، يرجى فتح مشكلة GitHub.
للحصول على إعلانات الإصدارات والمناقشات الأخرى، يرجى الاشتراك في قائمتنا البريدية ([email protected]) أو الانضمام إلينا على Slack.
تستخدم البرامج المذكورة في examples
واجهة برمجة التطبيقات لتتبع MLflow. على سبيل المثال، تشغيل:
أمثلة بايثون/quickstart/mlflow_tracking.py
سيستخدم هذا البرنامج MLflow Tracking API، الذي يسجل بيانات التتبع في ./mlruns
. ويمكن بعد ذلك عرض ذلك باستخدام واجهة مستخدم التتبع.
ستعرض واجهة مستخدم تتبع MLflow عمليات التشغيل التي تم تسجيل الدخول إليها ./mlruns
على http://localhost:5000. ابدأ بـ:
com.mlflow ui
ملاحظة: لا يُنصح بتشغيل mlflow ui
من داخل نسخة MLflow - سيؤدي القيام بذلك إلى تشغيل واجهة مستخدم التطوير من المصدر. نوصي بتشغيل واجهة المستخدم من دليل عمل مختلف، مع تحديد مخزن الواجهة الخلفية عبر خيار --backend-store-uri
. وبدلاً من ذلك، راجع تعليمات تشغيل واجهة مستخدم المطور في دليل المساهمين.
يتيح لك أمر mlflow run
تشغيل مشروع معبأ بملف MLproject من مسار محلي أو Git URI:
أمثلة تشغيل mlflow/sklearn_elasticnet_wine -P alpha=0.4 تشغيل mlflow https://github.com/mlflow/mlflow-example.git -P alpha=0.4
راجع examples/sklearn_elasticnet_wine
للحصول على نموذج مشروع بملف MLproject.
لتوضيح إدارة النماذج، يمكن لحزمة mlflow.sklearn
تسجيل نماذج scikit-learn باعتبارها عناصر MLflow ثم تحميلها مرة أخرى للعرض. يوجد مثال لتطبيق تدريبي في examples/sklearn_logistic_regression/train.py
يمكنك تشغيله على النحو التالي:
$ أمثلة بايثون/sklearn_logic_regression/train.py النتيجة: 0.666 تم حفظ النموذج في التشغيل <run-id> تخدم نماذج $ mlflow --model-uri run:/<run-id>/model $ الضفيرة -d '{"dataframe_split": {"columns":[0],"index":[0,1],"data":[[1],[-1]]}}' -H 'المحتوى -النوع: المضيف المحلي للتطبيق/json: 5000/الدعوات
ملاحظة: في حالة استخدام MLflow Slimny ( pip install mlflow-skinny
) لخدمة النماذج، سيلزم تثبيت التبعيات الإضافية المطلوبة (أي flask
) حتى يعمل خادم MLflow.
الصورة الرسمية لـ MLflow Docker متاحة في GitHub Container Registry على https://ghcr.io/mlflow/mlflow.
تصدير CR_PAT=YOUR_TOKENecho $CR_PAT | تسجيل دخول عامل الميناء ghcr.io -u USERNAME --password-stdin# سحب أحدث إصدارdocker pull ghcr.io/mlflow/mlflow# سحب 2.2.1docker pull ghcr.io/mlflow/mlflow:v2.2.1
نحن نرحب بسعادة بالمساهمات في MLflow. نحن نسعى أيضًا للحصول على مساهمات في العناصر الموجودة في خريطة طريق MLflow. يرجى الاطلاع على دليل المساهمة الخاص بنا لمعرفة المزيد حول المساهمة في MLflow.
تتم صيانة MLflow حاليًا من قبل الأعضاء الأساسيين التاليين مع مساهمات كبيرة من مئات أعضاء المجتمع الموهوبين بشكل استثنائي.
بن ويلسون
كوري زومار
دانيال لوك
غابرييل فو
هاروتاكا كاوامورا
سيرينا روان
ويتشين شو
يوكي واتانابي
تومو هيراتا