تنسيق MLOps باستخدام Azure Databricks

Azure Databricks

أفكار الحل

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

توفر هذه المقالة بنية وعملية عمليات التعلم الآلي (MLOps) التي تستخدم Azure Databricks. تحدد هذه العملية طريقة موحدة لنقل نماذج التعلم الآلي والتدفقات من التطوير إلى الإنتاج، مع خيارات لتضمين العمليات الآلية واليدوية.

بناء الأنظمة

رسم تخطيطي يوضح حلا لاستخدام Azure Databricks ل MLOps.

قم بتنزيل ملف Visio لهذه البنية.

‏‏سير العمل‬

يوفر هذا الحل عملية MLOps قوية تستخدم Azure Databricks. جميع العناصر في البنية قابلة للتوصيل، بحيث يمكنك دمج خدمات Azure والجهات الخارجية الأخرى في جميع أنحاء البنية حسب الحاجة. يتم تكييف هذه البنية والوصف من الكتاب The Big Book of MLOpsالإلكتروني . يستكشف هذا الكتاب الإلكتروني البنية الموضحة هنا بمزيد من التفصيل.

  • التحكم بالمصادر: ينظم مستودع التعليمات البرمجية لهذا المشروع دفاتر الملاحظات والوحدات والتدفقات. ينشئ علماء البيانات فروع تطوير لاختبار التحديثات والنماذج الجديدة. يتم تطوير التعليمات البرمجية في دفاتر الملاحظات أو في IDEs، مدعومة من Git، مع تكامل Databricks Repos للمزامنة مع مساحات عمل Azure Databricks. يعزز التحكم بالمصادر مسارات التعلم الآلي من التطوير، من خلال التقسيم المرحلي (للاختبار)، إلى الإنتاج (للتوزيع).

  • Lakehouse - بيانات الإنتاج: يعمل علماء البيانات في بيئة التطوير، حيث لديهم حق الوصول للقراءة فقط إلى بيانات الإنتاج. (بدلا من ذلك، يمكن عكس البيانات أو تنقيحها.) كما أن لديهم حق الوصول للقراءة/الكتابة إلى بيئة تخزين التطوير للتطوير والتجريب. نوصي ببنية Lakehouse للبيانات، حيث يتم تخزين البيانات في Azure Data Lake Storage بتنسيق Delta Lake . يتم تعريف عناصر التحكم في الوصول باستخدام تمرير بيانات اعتماد Microsoft Entra أو عناصر التحكم في الوصول إلى الجدول.

التطوير

في بيئة التطوير، يقوم علماء ومهندسو البيانات بتطوير مسارات التعلم الآلي.

  1. تحليل البيانات الاستكشافية (EDA): يستكشف علماء البيانات البيانات في عملية تفاعلية متكررة. قد لا يتم نشر هذا العمل المخصص في التقسيم المرحلي أو الإنتاج. قد تتضمن الأدوات Databricks SQL و dbutils.data.summarizeو AutoML.

  2. تدريب النموذج وخطوط أنابيب التعلم الآلي الأخرى: يتم تطوير مسارات التعلم الآلي كتعليبات برمجية نمطية في دفاتر الملاحظات أو IDEs. على سبيل المثال، يقرأ مسار تدريب النموذج البيانات من مخزن الميزات وجداول Lakehouse الأخرى. تدريب معلمات نموذج السجل ومقاييسه وضبطها على خادم تتبع MLflow. تسجل واجهة برمجة تطبيقات 'متجر الميزات' النموذج النهائي. تربط هذه السجلات النموذج ومدخلاته ورمز التدريب.

  3. الالتزام بالتعليمات البرمجية: لتعزيز سير عمل التعلم الآلي نحو الإنتاج، يلتزم عالم البيانات بالتعليمات البرمجية للتضمين والتدريب والتدفقات الأخرى للتحكم في المصدر.

التدريج

في بيئة التقسيم المرحلي، تختبر البنية الأساسية ل CI التغييرات في مسارات التعلم الآلي في بيئة تحاكي الإنتاج.

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

  2. اختبارات الوحدة و CI: يتم تشغيل اختبارات الوحدة في البنية الأساسية ل CI، وتشغل اختبارات التكامل مهام سير العمل الشاملة على Azure Databricks. إذا اجتزت الاختبارات، فإن التعليمات البرمجية تغير الدمج.

  3. إنشاء فرع إصدار: عندما يكون مهندسو التعلم الآلي مستعدين لنشر مسارات التعلم الآلي المحدثة للإنتاج، يمكنهم إنشاء إصدار جديد. تقوم البنية الأساسية لبرنامج ربط العمليات التجارية للتوزيع في أداة CI/CD بإعادة توزيع المسارات المحدثة كمهام سير عمل جديدة.

الإنتاج

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

  1. تحديث جدول الميزات: يقرأ هذا المسار البيانات ويحسب الميزات ويكتب إلى جداول 'متجر الميزات' . يتم تشغيله بشكل مستمر في وضع الدفق، أو يعمل على جدول زمني، أو يتم تشغيله.

  2. تدريب النموذج: في الإنتاج، يتم تشغيل تدريب النموذج أو إعادة التدريب على البنية الأساسية لبرنامج ربط العمليات التجارية أو جدولته لتدريب نموذج جديد على أحدث بيانات الإنتاج. يتم تسجيل النماذج في سجل نموذج MLflow.

  3. التوزيع المستمر: يؤدي تسجيل إصدارات النموذج الجديدة إلى تشغيل مسار CD، والذي يقوم بتشغيل الاختبارات لضمان أداء النموذج بشكل جيد في الإنتاج. مع اجتياز النموذج للاختبارات، يتم تعقب تقدمه في سجل النماذج عبر انتقالات مرحلة النموذج. يمكن استخدام خطافات الويب الخاصة بالسجل للأتمتة. يمكن أن تتضمن الاختبارات اختبارات التوافق واختبارات A/B لمقارنة النموذج الجديد بنموذج الإنتاج الحالي واختبارات البنية الأساسية. يتم تسجيل نتائج الاختبار والمقاييس في جداول Lakehouse. يمكنك اختياريا طلب عمليات تسجيل الخروج اليدوية قبل نقل النماذج إلى الإنتاج.

  4. توزيع النموذج: عندما يدخل النموذج في الإنتاج، يتم نشره للتسجيل أو التقديم. أوضاع النشر الأكثر شيوعا هي:

    • تسجيل الدفعات أو الدفق: لأواخر الدقائق أو أطول، تعد الدفعات والتدفق أكثر الخيارات فعالية من حيث التكلفة. يقرأ مسار تسجيل النقاط أحدث البيانات من مخزن الميزات، ويحمل أحدث إصدار لنموذج الإنتاج من Model Registry، وينفذ الاستدلال في مهمة Databricks. يمكنه نشر التنبؤات إلى جداول Lakehouse أو اتصال اتصال قاعدة بيانات Java (JDBC) أو الملفات الثابتة أو قوائم انتظار الرسائل أو أنظمة انتقال البيانات من الخادم الأخرى.
    • الخدمة عبر الإنترنت (واجهات برمجة تطبيقات REST): بالنسبة لحالات الاستخدام ذات زمن الانتقال المنخفض، تكون الخدمة عبر الإنترنت ضرورية بشكل عام. يمكن ل MLflow نشر نماذج إلى MLflow Model Serving على Azure Databricks وأنظمة خدمة موفر السحابة والأنظمة الأخرى. في جميع الحالات، تتم تهيئة نظام الخدمة بأحدث نموذج إنتاج من سجل النماذج. لكل طلب، فإنه يجلب الميزات من مخزن الميزات عبر الإنترنت ويقدم تنبؤات.
  5. المراقبة: تراقب مهام سير العمل المستمرة أو الدورية بيانات الإدخال وتوقعات النموذج للانحراف والأداء والمقاييس الأخرى. يمكن أن تبسط Delta Live Tables أتمتة مسارات المراقبة، وتخزين المقاييس في جداول Lakehouse. يمكن قراءة Databricks SQL وPower BI والأدوات الأخرى من هذه الجداول لإنشاء لوحات المعلومات والتنبيهات.

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

المكونات

  • Data Lakehouse. توحد بنية Lakehouse أفضل عناصر مستودعات البيانات ومستودعات البيانات، ما يوفر إدارة البيانات والأداء الموجود عادة في مستودعات البيانات مع مخازن الكائنات المرنة منخفضة التكلفة التي تقدمها مستودعات البيانات.
    • Delta Lake هو الخيار الموصى به لتنسيق بيانات مفتوح المصدر لمخزن بحيرة. يخزن Azure Databricks البيانات في Data Lake Storage ويوفر محرك استعلام عالي الأداء.
  • MLflow هو مشروع مفتوح المصدر لإدارة دورة حياة التعلم الآلي من طرف إلى طرف. هذه هي مكوناتها الرئيسية:
    • يسمح لك التتبع بتعقب التجارب لتسجيل المعلمات والمقاييس وبيانات النموذج الاصطناعية ومقارنتها.
      • يقوم Databricks Autologging بتوسيع التسجيل التلقائي ل MLflow لتتبع تجارب التعلم الآلي وتسجيل معلمات النموذج والمقاييس والملفات ومعلومات دورة الحياة تلقائيا.
    • يسمح لك نموذج MLflow بتخزين النماذج ونشرها من أي مكتبة تعلم آلي إلى أنظمة أساسية مختلفة لخدمة النموذج والاستدلال.
    • يوفر Model Registry مخزنا مركزيا للنموذج لإدارة انتقالات مرحلة دورة حياة النموذج من التطوير إلى الإنتاج.
    • تتيح لك خدمة النموذج استضافة نماذج MLflow كنقاط نهاية REST.
  • Azure Databricks. يوفر Azure Databricks خدمة MLflow مدارة مع ميزات أمان المؤسسة وقابلية الوصول العالية والتكامل مع ميزات مساحة عمل Azure Databricks الأخرى.
    • يعمل وقت تشغيل Databricks التعلم الآلي على أتمتة إنشاء مجموعة محسنة للتعلم الآلي، وتثبيت مكتبات التعلم الآلي الشائعة مسبقا مثل TensorFlow وPyTorch وXGBoost بالإضافة إلى Azure Databricks لأدوات التعلم الآلي مثل عملاء AutoML ومتجر الميزات.
    • يعد مخزن الميزات مستودعا مركزيا للميزات. فهو يتيح مشاركة الميزات واكتشافها، ويساعد على تجنب انحراف البيانات بين تدريب النموذج والاستدلال.
    • Databricks SQL. يوفر Databricks SQL تجربة بسيطة للاستعلامات SQL على بيانات Lakehouse، وللتصورات ولوحات المعلومات والتنبيهات.
    • يوفر Databricks Repos التكامل مع موفر Git الخاص بك في مساحة عمل Azure Databricks، ما يبسط التطوير التعاوني لدفاتر الملاحظات أو التعليمات البرمجية وتكامل IDE.
    • توفر مهام سير العمل والوظائف طريقة لتشغيل التعليمات البرمجية غير التفاعلية في مجموعة Azure Databricks. بالنسبة للتعلم الآلي، توفر الوظائف الأتمتة لإعداد البيانات، والتميز، والتدريب، والاستدلال، والمراقبة.

البدائل

يمكنك تخصيص هذا الحل لبنية Azure الأساسية. تتضمن التخصيصات الشائعة ما يلي:

  • مساحات عمل تطوير متعددة تشترك في مساحة عمل إنتاج مشتركة.
  • تبادل مكون واحد أو أكثر من مكونات البنية للبنية الأساسية الحالية. على سبيل المثال، يمكنك استخدام Azure Data Factory لتنسيق وظائف Databricks.
  • التكامل مع أدوات CI/CD الحالية عبر Git وAzure Databricks REST APIs.

تفاصيل السيناريو

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

باستخدام هذه البنية، يمكنك:

  • قم بتوصيل أصحاب المصلحة في شركتك بفرق التعلم الآلي وعلوم البيانات. تسمح هذه البنية لعلماء البيانات باستخدام دفاتر الملاحظات و IDEs للتطوير. وهو يمكن أصحاب المصلحة التجاريين من عرض المقاييس ولوحات المعلومات في Databricks SQL، وكل ذلك داخل نفس بنية Lakehouse.
  • اجعل البنية الأساسية للتعلم الآلي مركز بيانات. تتعامل هذه البنية مع بيانات التعلم الآلي (البيانات من هندسة الميزات والتدريب والاستدلال والمراقبة) تماما مثل البيانات الأخرى. يعيد استخدام الأدوات لمسارات الإنتاج ولوحة المعلومات ومعالجة البيانات العامة الأخرى لمعالجة بيانات التعلم الآلي.
  • تنفيذ MLOps في الوحدات والتدفقات. كما هو الحال مع أي تطبيق برمجي، تمكن المسارات المنمطة والرمز في هذه البنية من اختبار المكونات الفردية وتقليل تكلفة إعادة بناء التعليمات البرمجية في المستقبل.
  • أتمتة عمليات MLOps حسب الحاجة. في هذه البنية، يمكنك أتمتة الخطوات لتحسين الإنتاجية وتقليل مخاطر الخطأ البشري، ولكن ليس كل خطوة تحتاج إلى أن تكون تلقائية. يسمح Azure Databricks بواجهة المستخدم والعمليات اليدوية بالإضافة إلى واجهات برمجة التطبيقات للأتمتة.

حالات الاستخدام المحتملة

تنطبق هذه البنية على جميع أنواع التعلم الآلي والتعلم العميق والتحليلات المتقدمة. تتضمن تقنيات التعلم الآلي الشائعة / الذكاء الاصطناعي المستخدمة في هذه البنية ما يلي:

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

تدعم البنية كلا من البيانات الصغيرة (جهاز واحد) والبيانات الكبيرة (الحوسبة الموزعة وسرعة وحدة معالجة الرسومات). في كل مرحلة من مراحل البنية، يمكنك اختيار موارد الحوسبة والمكتبات للتكيف مع البيانات وأبعاد المشكلة.

تنطبق البنية على جميع أنواع الصناعات وحالات استخدام الأعمال. يتضمن عملاء Azure Databricks الذين يستخدمون هذا وبنى مشابهة مؤسسات صغيرة وكبيرة في صناعات مثل هذه:

  • السلع الاستهلاكية وخدمات البيع بالتجزئة
  • الخدمات المالية
  • الرعاية الصحية وعلوم الحياة
  • تكنولوجيا المعلومات

للحصول على أمثلة، راجع موقع Databricks على الويب.

المساهمون

تحتفظ Microsoft بهذه المقالة. وهي مكتوبة في الأصل من قبل المساهمين التاليين.

الكاتب الرئيسي:

المساهم الآخر:

لمشاهدة ملفات تعريف LinkedIn غير العامة، سجل الدخول إلى LinkedIn.

الخطوات التالية