استكشاف بنية MLOps

مكتمل

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

مع مرور الوقت، قد تحتاج إلى إعادة تدريب النموذج. على سبيل المثال، يمكنك إعادة تدريب النموذج عندما يكون لديك المزيد من بيانات التدريب.

بشكل عام، بمجرد تدريب نموذج التعلم الآلي، تريد تجهيز النموذج على نطاق المؤسسة. لإعداد النموذج وتشغيله، تريد:

  • تحويل تدريب النموذج إلى مسار قوي وقابل للتكرار.
  • اختبار التعليمات البرمجية والنموذج في بيئة تطوير.
  • توزيع النموذج في بيئة التشغيل.
  • أتمتة العملية كاملةً.

تهيئة بيئات للتطوير والإنتاج

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

إشعار

في هذه الوحدة، نشير إلى تفسير DevOps للبيئات. لاحظ أن التعلم الآلي من Azure يستخدم أيضًا بيئات المصطلح لوصف مجموعة من حزم Python اللازمة لتشغيل برنامج نصي. هذان المفهومان للبيئات مستقلان عن بعضهما البعض.

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

يتمثل النهج النموذجي في:

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

تنظيم بيئات التعلم الآلي من Azure

عند تنفيذ MLOps، والعمل باستخدام نماذج التعلم الآلي على نطاق واسع، من أفضل الممارسات العمل باستخدام بيئات منفصلة لمراحل مختلفة.

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

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

Diagram of multiple Azure Machine Learning workspaces to have multiple environments.

ضمن Azure، يمكنك استخدام التحكم في الوصول استنادا إلى الدور (RBAC) لمنح الزملاء المستوى الصحيح من الوصول إلى المجموعة الفرعية من الموارد التي يحتاجون إلى العمل معها.

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

تصميم بنية MLOps

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

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

ونتيجة لذلك، تتضمن بنية MLOps الأجزاء التالية:

Diagram of an architecture showcasing a typical MLOps project.

  1. الإعداد: إنشاء جميع موارد Azure الضرورية للحل.
  2. تطوير النموذج (التكرار الحلقي الداخلي): استكشاف البيانات ومعالجتها لتدريب النموذج وتقييمه.
  3. التكامل المستمر: حزم النموذج وتسجيله.
  4. توزيع النموذج (التكرار الحلقي الخارجي): توزيع النموذج.
  5. التوزيع المستمر: اختبار النموذج وترقيته إلى بيئة التشغيل.
  6. المراقبة: مراقبة أداء النموذج ونقطة النهاية.

عندما تعمل مع فرق أكبر، لا يتوقع منك أن تكون مسؤولا عن جميع أجزاء بنية MLOps كعالم بيانات. لإعداد النموذج الخاص بك ل MLOps ومع ذلك، يجب أن تفكر في كيفية التصميم للمراقبة وإعادة التدريب.