حزم أصول Databricks لمكدسات MLOps

يمكنك استخدام حزم أصول Databricks وDatabricks CLI ومستودع Databricks MLOps Stack على GitHub لإنشاء مكدسات MLOps. إن MLOps Stack هو مشروع MLOps على Azure Databricks يتبع أفضل ممارسات الإنتاج خارج الصندوق. راجع ما هي حزم أصول Databricks؟.

لإنشاء مشروع MLOps Stacks ونشره وتشغيله، أكمل الخطوات التالية:

المتطلبات

  • تأكد من تمكين ملفات مساحة العمل في مساحة العمل الهدف عن بعد. راجع ما هي ملفات مساحة العمل؟.
  • على جهاز التطوير الخاص بك، تأكد من تثبيت Databricks CLI الإصدار 0.212.2 أو أعلى. للتحقق من إصدار Databricks CLI المثبت، قم بتشغيل الأمر databricks -v. لتحديث إصدار Databricks CLI، راجع تثبيت Databricks CLI أو تحديثه. (لا تعمل الحزم مع إصدارات Databricks CLI 0.18 والإصدارات أدناه.)

الخطوة 1: إعداد المصادقة

تكوين Databricks CLI للمصادقة.

تفترض هذه المقالة أنك تريد استخدام مصادقة OAuth من مستخدم إلى جهاز (U2M) وملف تعريف تكوين Azure Databricks المطابق المسمى DEFAULT للمصادقة.

إشعار

مصادقة U2M مناسبة لتجربة هذه الخطوات في الوقت الفعلي. بالنسبة إلى مهام سير العمل التلقائية بالكامل، توصي Databricks باستخدام مصادقة OAuth من جهاز إلى جهاز (M2M) بدلا من ذلك. راجع إرشادات إعداد مصادقة M2M في المصادقة.

  1. استخدم Databricks CLI لبدء إدارة الرمز المميز OAuth محليا عن طريق تشغيل الأمر التالي لكل مساحة عمل هدف.

    في الأمر التالي، استبدل <workspace-url> بعنوان URL الخاص ب Azure Databricks لكل مساحة عمل، على سبيل المثال https://adb-1234567890123456.7.azuredatabricks.net.

    databricks auth login --host <workspace-url>
    
  2. يطالبك Databricks CLI بحفظ المعلومات التي أدخلتها كملف تعريف تكوين Azure Databricks. اضغط Enter لقبول اسم ملف التعريف المقترح، أو أدخل اسم ملف تعريف جديد أو موجود. تتم الكتابة فوق أي ملف تعريف موجود بنفس الاسم بالمعلومات التي أدخلتها. يمكنك استخدام ملفات التعريف لتبديل سياق المصادقة بسرعة عبر مساحات عمل متعددة.

    للحصول على قائمة بأي ملفات تعريف موجودة، في محطة طرفية منفصلة أو موجه أوامر، استخدم Databricks CLI لتشغيل الأمر databricks auth profiles. لعرض الإعدادات الموجودة لملف تعريف معين، قم بتشغيل الأمر databricks auth env --profile <profile-name>.

  3. في مستعرض الويب الخاص بك، أكمل الإرشادات التي تظهر على الشاشة لتسجيل الدخول إلى مساحة عمل Azure Databricks.

  4. لعرض قيمة رمز OAuth المميز الحالي لملف التعريف والطوابع الزمنية لانتهاء الصلاحية القادمة للرمز المميز، قم بتشغيل أحد الأوامر التالية:

    • databricks auth token --host <workspace-url>
    • databricks auth token -p <profile-name>
    • databricks auth token --host <workspace-url> -p <profile-name>

    إذا كان لديك ملفات تعريف متعددة بنفس --host القيمة، فقد تحتاج إلى تحديد --host الخيارات و -p معا لمساعدة Databricks CLI في العثور على معلومات الرمز المميز OAuth المتطابقة الصحيحة.

الخطوة 2: إنشاء مشروع المجموعة

  1. استخدم قوالب مجموعة أصول Databricks لإنشاء ملفات بدء مشروع MLOps Stacks. للقيام بذلك، ابدأ بتشغيل الأمر التالي:

    databricks bundle init mlops-stacks
    
  2. الرد على المطالبات التي تظهر على الشاشة. للحصول على إرشادات حول الرد على هذه المطالبات، راجع بدء مشروع جديد في مستودع Databricks MLOps Stacks على GitHub.

    توفر المطالبة الأولى خيار إعداد مكونات التعليمات البرمجية ML أو مكونات CI/CD أو كليهما. يبسط هذا الخيار الإعداد الأولي حيث يمكنك اختيار إنشاء المكونات ذات الصلة مباشرة فقط. (لإعداد المكونات الأخرى، قم بتشغيل أمر التهيئة مرة أخرى.) حدد أحد الإجراءات التالية:

    • CICD_and_Project (افتراضي) - إعداد كل من التعليمات البرمجية ML ومكونات CI/CD.
    • Project_Only - إعداد مكونات التعليمات البرمجية ML فقط. هذا الخيار مخصص لعلماء البيانات للبدء.
    • CICD_Only - إعداد مكونات CI/CD فقط. هذا الخيار مخصص لمهندسي التعلم الآلي لإعداد البنية الأساسية.

    بعد الإجابة على جميع المطالبات التي تظهر على الشاشة، ينشئ القالب ملفات بدء مشروع MLOps Stacks ويضيفها إلى دليل العمل الحالي.

  3. تخصيص ملفات بدء مشروع MLOps Stacks حسب الرغبة. للقيام بذلك، اتبع الإرشادات الواردة في الملفات التالية داخل مشروعك الجديد:

    الدور Goal المستندات
    مستخدمو هذا المستودع لأول مرة فهم البنية الأساسية لبرنامج ربط العمليات التجارية للتعليمات البرمجية وبنية التعليمات البرمجية في هذا المستودع README.md
    عالم بيانات البدء في كتابة التعليمات البرمجية ل ML لمشروع جديد تماما <project-name>/README.md
    عالم بيانات تحديث التعليمات البرمجية للإنتاج ML (على سبيل المثال، منطق تدريب النموذج) لمشروع موجود docs/ml-pull-request.md
    عالم بيانات تعديل موارد التعلم الآلي لنموذج الإنتاج (على سبيل المثال، تدريب النموذج أو وظائف الاستدلال) <project-name>/resources/README.md
    MLOps / DevOps إعداد CI/CD لمشروع التعلم الآلي الحالي docs/mlops-setup.md
    • لتخصيص التجارب، تتوافق التعيينات داخل إعلان التجربة مع حمولة طلب عملية إنشاء التجربة كما هو محدد في POST /api/2.0/mlflow/experiments/create في مرجع REST API، المعبر عنه بتنسيق YAML.

    • لتخصيص الوظائف، تتوافق التعيينات داخل إعلان الوظيفة مع حمولة طلب عملية إنشاء الوظيفة كما هو محدد في POST /api/2.1/jobs/create في مرجع REST API، المعبر عنه بتنسيق YAML.

      تلميح

      يمكنك تحديد الإعدادات لمجموعات الوظائف الجديدة ودمجها وتجاوزها في الحزم باستخدام التقنيات الموضحة في تجاوز إعدادات نظام المجموعة في Databricks Asset Bundles.

    • لتخصيص النماذج، تتوافق التعيينات داخل إعلان النموذج مع حمولة طلب عملية إنشاء نموذج كما هو محدد في POST /api/2.0/mlflow/registered-models/create في مرجع REST API، المعبر عنه بتنسيق YAML.

    • لتخصيص المسارات، تتوافق التعيينات داخل إعلان البنية الأساسية لبرنامج ربط العمليات التجارية مع حمولة طلب عملية إنشاء البنية الأساسية لبرنامج ربط العمليات التجارية كما هو محدد في POST /api/2.0/pipelines في مرجع REST API، المعبر عنها بتنسيق YAML.

الخطوة 3: التحقق من صحة مشروع المجموعة

تحقق مما إذا كان تكوين المجموعة صالحا. للقيام بذلك، قم بتشغيل Databricks CLI من جذر المشروع، حيث databricks.yml يوجد، كما يلي:

databricks bundle validate

إذا تم إرجاع ملخص لتكوين المجموعة، فنجح التحقق من الصحة. إذا تم إرجاع أي أخطاء، قم بإصلاح الأخطاء، ثم كرر هذه الخطوة.

الخطوة 4: نشر الحزمة

نشر موارد المشروع والبيانات الاصطناعية إلى مساحة العمل البعيدة المطلوبة. للقيام بذلك، قم بتشغيل Databricks CLI من جذر المشروع، حيث databricks.yml يوجد، كما يلي:

databricks bundle deploy -t <target-name>

استبدل <target-name> باسم الهدف المطلوب داخل databricks.yml الملف، على سبيل المثال devأو stagingtestprod.

الخطوة 5: تشغيل الحزمة المنشورة

تعمل وظائف Azure Databricks الموزعة في المشروع تلقائيا على جداولها المحددة مسبقا. لتشغيل مهمة منشورة على الفور، قم بتشغيل Databricks CLI من جذر المشروع، حيث databricks.yml يوجد، على النحو التالي:

databricks bundle run -t <target-name> <job-name>
  • استبدل <target-name> باسم الهدف المطلوب داخل الملف حيث databricks.yml تم نشر المهمة، على سبيل المثال devأو teststagingأو أو prod.
  • استبدل <job-name> باسم المهمة في أحد الملفات .yml داخل <project-name>/databricks-resources، على سبيل المثال batch_inference_job، write_feature_table_jobأو model_training_job.

يظهر ارتباط إلى مهمة Azure Databricks، والتي يمكنك نسخها إلى مستعرض الويب الخاص بك لفتح المهمة داخل واجهة مستخدم Azure Databricks.

الخطوة 6: حذف الحزمة المنشورة (اختياري)

لحذف موارد المشروع المنشور والبيانات الاصطناعية إذا لم تعد بحاجة إليها، قم بتشغيل Databricks CLI من جذر المشروع، حيث databricks.yml يوجد، كما يلي:

databricks bundle destroy -t <target-name>

استبدل <target-name> باسم الهدف المطلوب داخل databricks.yml الملف، على سبيل المثال devأو stagingtestprod.

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