المفاهيم - عمليات التعلم الآلي (MLOps) لسير عمل الذكاء الاصطناعي والتعلم الآلي

في هذه المقالة، ستتعرف على عمليات التعلم الآلي (MLOps)، بما في ذلك أنواع الممارسات والأدوات المعنية، وكيف يمكنها تبسيط وتسريع مهام سير عمل الذكاء الاصطناعي والتعلم الآلي على Azure Kubernetes Service (AKS).

ما هو MLOps؟

تشمل عمليات التعلم الآلي (MLOps) الممارسات التي تسهل التعاون بين علماء البيانات وعمليات تكنولوجيا المعلومات وأصحاب المصلحة في الأعمال، ما يضمن تطوير نماذج التعلم الآلي ونشرها وصيانتها بكفاءة. يطبق MLOps مبادئ DevOps على مشاريع التعلم الآلي، بهدف أتمتة دورة حياة التعلم الآلي من طرف إلى طرف وتبسيطها. تتضمن دورة الحياة هذه التدريب والتعبئة والتحقق من صحة النماذج ونشرها ومراقبتها وإعادة تدريبها.

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

البنية الأساسية لبرنامج ربط العمليات التجارية MLOps

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

  • مخزن بيانات غير منظم للبيانات الجديدة المتدفقة إلى التطبيق الخاص بك
  • قاعدة بيانات المتجهات لتخزين البيانات المنظمة التي تمت معالجتها مسبقا والاستعلام عن البيانات
  • إطار عمل استيعاب البيانات والفهرسة
  • استيعاب المتجهات و/أو مهام سير عمل إعادة تدريب النموذج
  • أدوات جمع المقاييس والتنبيه (تتبع أداء النموذج وحجم البيانات التي تم استيعابها وما إلى ذلك)
  • أدوات إدارة دورة الحياة

DevOps وMLOps

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

هناك ثلاث عمليات ضرورية ل MLOps:

  • أحمال عمل التعلم الآلي التي يكون عالم البيانات مسؤولا عنها، بما في ذلك تحليل البيانات الاستكشافية (EDA)، وهندسة الميزات، وتدريب النموذج وضبطه.
  • ممارسات تطوير البرامج بما في ذلك تخطيط النموذج للنشر وتطويره واختباره وتغليفه.
  • الجوانب التشغيلية لتوزيع النموذج وصيانته في الإنتاج، بما في ذلك إصدار الموارد وتكوينها ومراقبة النموذج.

مبادئ DevOps التي تنطبق على MLOps

يستفيد MLOps من العديد من المبادئ من DevOps لتحسين دورة حياة التعلم الآلي، مثل الأتمتة والتكامل والتسليم المستمر (CI/CD) والتحكم في المصدر وتخطيط Agile والبنية الأساسية كتعليق برمجي (IaC).

اتمته

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

على سبيل المثال، يمكن للبنية الأساسية لبرنامج ربط العمليات التجارية الخاصة بك أتمتة:

  • ضبط/إعادة تدريب النموذج على فترات زمنية منتظمة أو عند جمع كمية معينة من البيانات الجديدة في التطبيق الخاص بك.
  • الكشف عن تدهور الأداء لبدء ضبط أو إعادة التدريب على مجموعة فرعية مختلفة من البيانات.
  • فحص الثغرة الأمنية والتعرض الشائع (CVE) على صور الحاوية الأساسية التي تم سحبها من سجلات الحاويات الخارجية لضمان ممارسات الأمان الآمنة.

التكامل المستمر (CI)

يغطي التكامل المستمر جوانب إنشاء عملية تطوير النموذج والتحقق منها . الهدف من CI هو إنشاء التعليمات البرمجية والتحقق من جودة التعليمات البرمجية والنموذج قبل النشر. وهذا يشمل الاختبار على مجموعة من نماذج مجموعات البيانات للتأكد من أن النموذج يعمل كما هو متوقع ويلبي معايير الجودة.

في MLOps، قد يتضمن التكامل المستمر ما يلي:

  • إعادة بناء التعليمات البرمجية الاستكشافية في دفاتر ملاحظات Jupyter في برامج Python أو R النصية.
  • التحقق من صحة بيانات الإدخال الجديدة لقيم الخطأ أو المفقودة.
  • اختبار الوحدة واختبار التكامل في البنية الأساسية لبرنامج ربط العمليات التجارية من طرف إلى طرف.

لإجراء التحليل واختبار الوحدة، يمكنك استخدام أدوات الأتمتة مثل Azure Pipelines في Azure DevOps أو GitHub Actions.

التسليم المستمر (CD)

يتضمن التسليم المستمر الخطوات اللازمة لنشر نموذج بأمان في الإنتاج. الخطوة الأولى هي حزم النموذج ونشره في بيئات ما قبل الإنتاج، مثل بيئات التطوير والاختبار. تعد قابلية نقل المعلمات والمعلمات الفائقة وبيانات النموذج الاصطناعية الأخرى جانبا مهما للحفاظ عليه أثناء ترقية التعليمات البرمجية من خلال هذه البيئات. هذه قابلية النقل مهمة بشكل خاص عندما يتعلق الأمر بنماذج اللغة الكبيرة (LLMs) ونماذج الانتشار المستقرة. بمجرد اجتياز النموذج لاختبارات الوحدة واختبارات ضمان الجودة (QA)، يمكنك الموافقة عليه للتوزيع في بيئة الإنتاج.

‏‫التحكم في المصدر

التحكم بالمصادر، أو التحكم بالإصدار، ضروري لإدارة التغييرات على التعليمات البرمجية والنماذج. في نظام التعلم الآلي، يشير هذا إلى تعيين إصدار البيانات وتعيين إصدار التعليمات البرمجية وتعيين إصدار النموذج، والتي تسمح للفرق متعددة الوظائف بالتعاون بفعالية وتتبع التغييرات بمرور الوقت. يتيح لك استخدام نظام التحكم بالمصادر المستند إلى Git، مثل Azure Repos في Azure DevOps أو مستودع GitHub، الحفاظ برمجيا على محفوظات التغييرات، والرجوع إلى الإصدارات السابقة، وإدارة الفروع لتجارب مختلفة.

التخطيط المرن

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

يمكنك استخدام أدوات مثل Azure Boards في Azure DevOps أو مشكلات GitHub لإدارة تخطيط Agile الخاص بك.

البنية الأساسية كتعليمة برمجية (IaC)

يمكنك استخدام البنية الأساسية بوصفها تعليمة برمجية لتكرار وأتمتة البنية الأساسية اللازمة لتدريب النماذج ونشرها وخدمتها. في نظام التعلم الآلي، يساعد IaC في تبسيط وتحديد موارد Azure المناسبة اللازمة لنوع الوظيفة المحدد في التعليمات البرمجية، ويتم الاحتفاظ بالتعليمات البرمجية في المستودع. يسمح لك هذا بالتحكم في الإصدار في بنيتك الأساسية وإجراء تغييرات لتحسين الموارد وفعالية التكلفة وما إلى ذلك حسب الحاجة.

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

راجع المقالات التالية للتعرف على أفضل الممارسات ل MLOps في تطبيقاتك الذكية على AKS: