إدارة دورة حياة التعلم الآلي باستخدام MLflow

توضح هذه المقالة كيفية استخدام MLflow في Databricks لإدارة دورة حياة التعلم الآلي. كما يتضمن أمثلة تقدم كل مكون MLflow وارتباطات إلى المحتوى الذي يصف كيفية استضافة هذه المكونات داخل Azure Databricks.

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

يجب أن يبدأ المستخدمون لأول مرة ببدء تجارب MLflow، مما يوضح واجهات برمجة التطبيقات الأساسية لتتبع MLflow.

ما هو MLflow؟

MLflow هو نظام أساسي مصدر مفتوح لإدارة دورة حياة التعلم الآلي الشاملة. يحتوي على المكونات الأساسية التالية:

  • التعقب: يسمح لك بتعقب التجارب لتسجيل المعلمات والنتائج ومقارنتها.
  • النماذج: تسمح لك بإدارة النماذج ونشرها من مجموعة متنوعة من مكتبات التعلم الآلي إلى مجموعة متنوعة من الأنظمة الأساسية لخدمة النموذج والاستدلال.
  • المشاريع: تسمح لك بحزم تعليمة التعلم الآلي البرمجية في نموذج قابل لإعادة الاستخدام وقابل لإعادة الإنتاج لمشاركته مع علماء البيانات الآخرين أو نقله إلى الإنتاج.
  • سجل النماذج: يسمح لك بإضفاء الطابع المركزي على مخزن النماذج لإدارة انتقالات مرحلة دورة الحياة الكاملة للنماذج: من التقسيم المرحلي إلى الإنتاج، مع قدرات للإصدار والتعليل التوضيحي. يوفر Databricks إصدارا مدارا من Model Registry في كتالوج Unity.
  • خدمة النموذج: يسمح لك باستضافة نماذج MLflow كنقاط نهاية REST. يوفر Databricks واجهة موحدة لنشر نماذج الذكاء الاصطناعي المقدمة وإدارتها والاستعلام فيها.

يدعم MLflow واجهات برمجة التطبيقات Java وPython وR وR.

يتم تشفير بيانات MLflow بواسطة Azure Databricks باستخدام مفتاح مدار بواسطة النظام الأساسي. التشفير باستخدام المفاتيح المدارة من قبل العميل للخدمات المدارة غير مدعوم.

تتبع تدفق MLflow

يوفر MLflow على Azure Databricks تجربة متكاملة لتتبع وتأمين عمليات تشغيل التدريب للتعلم الآلي ونماذج التعلم العميق.

إدارة دورة حياة النموذج

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

إذا لم يتم تمكين مساحة العمل لكتالوج Unity، يمكنك استخدام Workspace Model Registry.

مفاهيم تسجيل النموذج

  • النموذج: نموذج MLflow تم تسجيله من تجربة أو تشغيل تم تسجيله باستخدام إحدى أساليب نكهة mlflow.<model-flavor>.log_model النموذج. بعد تسجيل نموذج، يمكنك تسجيله مع Model Registry.
  • النموذج المسجل: نموذج MLflow الذي تم تسجيله في Model Registry. يحتوي النموذج المسجل على اسم فريد وإصدارات و دورة حياة نموذج وبيانات تعريف أخرى.
  • إصدار النموذج: إصدار من نموذج مسجل. عند إضافة نموذج جديد إلى Model Registry، تتم إضافته كإصدار 1. كل نموذج مسجل في نفس اسم النموذج يقوم بزيادة رقم الإصدار.
  • الاسم المستعار للنموذج: الاسم المستعار هو مرجع مسمى قابل للتغيير إلى إصدار معين من نموذج مسجل. الاستخدامات النموذجية للأسماء المستعارة هي تحديد إصدارات النموذج التي يتم نشرها في بيئة معينة في مهام سير عمل تدريب النموذج أو لكتابة أحمال عمل الاستدلال التي تستهدف اسما مستعارا محددا. على سبيل المثال، يمكنك تعيين الاسم المستعار "البطل" للنموذج المسجل "الكشف عن الاحتيال" الخاص بك إلى إصدار النموذج الذي يجب أن يخدم غالبية حركة مرور الإنتاج، ثم كتابة أحمال عمل الاستدلال التي تستهدف هذا الاسم المستعار (أي إجراء تنبؤات باستخدام إصدار "البطل").
  • مرحلة النموذج (سجل نموذج مساحة العمل فقط): يمكن تعيين إصدار نموذج مرحلة واحدة أو أكثر. يوفر MLflow مراحل محددة مسبقا لحالات الاستخدام الشائعة: بلا وتقسيم مرحلي وإنتاج وأرشيف. باستخدام الإذن المناسب، يمكنك نقل إصدار نموذج بين المراحل أو يمكنك طلب انتقال مرحلة النموذج. لا يتم استخدام مراحل إصدار النموذج في كتالوج Unity.
  • الوصف: يمكنك إضافة تعليق توضيحي على هدف النموذج، بما في ذلك الوصف وأي معلومات ذات صلة مفيدة للفريق مثل وصف الخوارزمية أو مجموعة البيانات المستخدمة أو المنهجية.

مثال دفاتر الملاحظات

للحصول على مثال يوضح كيفية استخدام Model Registry لإنشاء تطبيق تعلم آلي يتنبأ بمخرجات الطاقة اليومية لمزرعة الرياح، راجع ما يلي:

توزيع النموذج

توفر خدمة نموذج Databricks واجهة موحدة لنشر نماذج الذكاء الاصطناعي والتحكم فيها والاستعلام عليها. يتوفر كل نموذج تخدمه كواجهة برمجة تطبيقات REST يمكنك دمجها في تطبيق الويب أو العميل.

تدعم خدمة النموذج الخدمة:

  • النماذج المخصصة. هذه نماذج Python مجمعة بتنسيق MLflow. يمكن تسجيلها إما في كتالوج Unity أو في سجل نموذج مساحة العمل. ومن الأمثلة على ذلك scikit-learn وXGBoost وPyTorch ونماذج محول Face Hugging.
  • أحدث النماذج المفتوحة التي توفرها واجهات برمجة تطبيقات نموذج المؤسسة. هذه النماذج هي بنيات نموذج أساسي منسقة تدعم الاستدلال الأمثل. تتوفر النماذج الأساسية، مثل Llama-2-70B-chat وBGE-Large و Mistral-7B للاستخدام الفوري مع تسعير الدفع لكل رمز مميز ، ويمكن نشر أحمال العمل التي تتطلب ضمانات الأداء ومتغيرات النموذج الدقيقة مع معدل النقل المقدم.
  • نماذج خارجية. هذه هي النماذج التي تتم استضافتها خارج Databricks. ومن الأمثلة على ذلك نماذج أساسية مثل، GPT-4 من OpenAI، وكلود من Anthropic، وغيرها. يمكن التحكم مركزيا في نقاط النهاية التي تخدم النماذج الخارجية ويمكن للعملاء وضع حدود للمعدل وضوابط الوصول لهم.

يمكنك أيضا نشر نماذج MLflow للاستدلال دون اتصال، راجع نشر نماذج للاستدلال الدفعي.