بدأت العديد من القطاعات العالمية في الاستثمار بشكل أكبر في التعلم الآلي (ML).
يمكن إطلاق نماذج ML في البداية وتشغيلها بواسطة فرق من المتخصصين ، ولكن أحد أكبر العقبات هو نقل المعرفة المكتسبة إلى النموذج التالي بحيث يمكن توسيع العمليات.
لتحسين وتوحيد العمليات المتضمنة في إدارة دورة حياة النموذج ، يتم استخدام تقنيات MLOps بشكل متزايد من قبل الفرق التي تنشئ نماذج التعلم الآلي.
استمر في القراءة لمعرفة المزيد حول بعض أفضل أدوات ومنصات MLOps المتاحة اليوم وكيف يمكن أن تجعل التعلم الآلي أسهل من وجهة نظر الأداة والمطور والإجرائية.
ما هو MLOps؟
يُعرف أسلوب إنشاء السياسات والمعايير وأفضل الممارسات لنماذج التعلم الآلي باسم "عمليات التعلم الآلي" أو "MLOps".
يهدف MLOps إلى ضمان أن دورة الحياة الكاملة لتطوير ML - من المفهوم إلى النشر - موثقة بدقة وإدارتها للحصول على أفضل النتائج بدلاً من استثمار الكثير من الوقت والموارد فيها بدون استراتيجية.
الهدف من MLOps هو تدوين أفضل الممارسات بطريقة تجعل تطوير التعلم الآلي أكثر قابلية للتوسع لمشغلي ML والمطورين ، وكذلك لتحسين جودة وأمن نماذج ML.
يشير البعض إلى MLOps على أنها "DevOps للتعلم الآلي" نظرًا لأنها تطبق مبادئ DevOps بنجاح في مجال أكثر تخصصًا للتطور التكنولوجي.
هذه طريقة مفيدة للتفكير في MLOps لأنها ، مثل DevOps ، تؤكد على مشاركة المعرفة والتعاون وأفضل الممارسات بين الفرق والأدوات.
يوفر MLOps للمطورين وعلماء البيانات وفرق العمليات إطار عمل للتعاون ، ونتيجة لذلك ، إنتاج أقوى نماذج ML.
لماذا تستخدم أدوات MLOps؟
يمكن لأدوات MLOps أداء مجموعة واسعة من المهام لفريق ML ، ومع ذلك ، يتم تقسيمها غالبًا إلى مجموعتين: إدارة النظام الأساسي وإدارة المكونات الفردية.
بينما تركز بعض منتجات MLOps على وظيفة أساسية واحدة فقط ، مثل إدارة البيانات أو البيانات الوصفية ، تتبنى الأدوات الأخرى إستراتيجية أكثر شمولاً وتوفر منصة MLOps للتحكم في العديد من جوانب دورة حياة ML.
ابحث عن حلول MLOps التي تساعد فريقك في إدارة مجالات تطوير ML ، سواء كنت تبحث عن متخصص أو أداة أكثر شمولاً:
- التعامل مع البيانات
- التصميم والنمذجة
- إدارة المشاريع وأماكن العمل
- نشر نموذج ML والصيانة المستمرة
- إدارة دورة الحياة من البداية إلى النهاية ، والتي يتم تقديمها عادةً بواسطة منصات MLOps كاملة الخدمات.
أدوات MLOps
1. MLFlow
يتم التحكم في دورة حياة التعلم الآلي من خلال منصة MLflow مفتوحة المصدر وتتضمن تسجيل نموذج مركزي ونشره وتجريبه.
يمكن استخدام MLflow من قبل أي فريق ، سواء بشكل فردي أو جماعي. المكتبات ليس لها تأثير على الأداة.
يمكن لأي لغة برمجة ومكتبة للتعلم الآلي الاستفادة منها.
لتسهيل تدريب تطبيقات التعلم الآلي ونشرها وإدارتها ، يتفاعل MLFlow مع عدد من أطر التعلم الآلي ، بما في ذلك TensorFlow وبيتورش.
بالإضافة إلى ذلك ، يوفر MLflow واجهات برمجة تطبيقات سهلة الاستخدام يمكن تضمينها في أي برامج أو مكتبات قائمة للتعلم الآلي.
يحتوي MLflow على أربع ميزات رئيسية تسهل تجارب التتبع والتخطيط:
- تتبع MLflow - واجهة برمجة تطبيقات وواجهة مستخدم لتسجيل معلمات رمز التعلم الآلي والإصدارات والمقاييس والتحف بالإضافة إلى عرض النتائج ومقارنتها لاحقًا
- مشاريع MLflow - تعبئة رمز التعلم الآلي في تنسيق قابل لإعادة الاستخدام وقابل للتكرار لنقله إلى الإنتاج أو المشاركة مع علماء البيانات الآخرين
- نماذج MLflow - صيانة النماذج ونشرها لمجموعة من أنظمة تقديم النماذج والاستدلال من مكتبات ML المختلفة
- MLflow Model Registry - متجر نموذج مركزي يتيح الإدارة التعاونية للعمر الافتراضي الكامل لنموذج MLflow ، بما في ذلك إصدار النموذج ، وانتقالات المرحلة ، والتعليقات التوضيحية.
2. Kubeflow
يسمى صندوق أدوات ML لـ Kubernetes Kubeflow. تعبئة وإدارة حاويات Docker ، تساعد في صيانتها أنظمة التعلم الآلي.
من خلال تبسيط تزامن التشغيل وعمليات نشر سير عمل التعلم الآلي ، فإنه يعزز قابلية تطوير نماذج التعلم الآلي.
إنه مشروع مفتوح المصدر يتضمن مجموعة مختارة بعناية من الأدوات والأطر التكميلية المصممة لاحتياجات تعلم الآلة المختلفة.
يمكن التعامل مع مهام التدريب على التعلم الآلي الطويل ، والتجريب اليدوي ، والتكرار ، وتحديات DevOps باستخدام خطوط أنابيب Kubeflow.
لعدة مراحل من التعلم الآلي ، بما في ذلك التدريب وتطوير خطوط الأنابيب وصيانتها دفاتر جوبيترتقدم Kubeflow خدمات متخصصة وتكامل.
إنه يجعل من السهل إدارة وتتبع عمر أعباء عمل الذكاء الاصطناعي الخاصة بك وكذلك نشر نماذج التعلم الآلي (ML) وخطوط أنابيب البيانات إلى مجموعات Kubernetes.
فإنه يوفر:
- أجهزة الكمبيوتر المحمولة لاستخدام SDK للتفاعل مع النظام
- واجهة مستخدم (UI) للتحكم في عمليات التشغيل والوظائف والتجارب ومراقبتها
- لتصميم حلول شاملة بسرعة دون الحاجة إلى إعادة البناء في كل مرة ، وإعادة استخدام المكونات وخطوط الأنابيب.
- كمكون رئيسي في Kubeflow أو كتركيب مستقل ، يتم تقديم Kubeflow Pipelines.
3. التحكم في إصدار البيانات
يُطلق على حل التحكم في إصدار مفتوح المصدر لمشاريع التعلم الآلي اسم DVC أو التحكم في إصدار البيانات.
مهما كانت اللغة التي تختارها ، فهي أداة تجريبية تساعد في تعريف خط الأنابيب.
يستخدم DVC الكود وإصدار البيانات وإمكانية التكاثر لمساعدتك على توفير الوقت عندما تكتشف مشكلة في إصدار سابق من نموذج ML الخاص بك.
بالإضافة إلى ذلك ، يمكنك استخدام خطوط أنابيب DVC لتدريب نموذجك وتوزيعه على أعضاء فريقك. يمكن معالجة تنظيم البيانات الضخمة وإصدارها بواسطة DVC ، ويمكن تخزين البيانات بطريقة يسهل الوصول إليها.
على الرغم من أنه يتضمن بعض ميزات تتبع التجارب (المحدودة) ، إلا أنه يركز في الغالب على البيانات وإصدارات خط الأنابيب وإدارتها.
فإنه يوفر:
- إنه حيادي التخزين ، لذلك من الممكن استخدام مجموعة متنوعة من أنواع التخزين.
- يوفر إحصائيات التتبع أيضًا.
- وسيلة مسبقة الصنع للانضمام إلى مراحل ML في DAG وتشغيل خط الأنابيب بالكامل من البداية إلى النهاية
- يمكن متابعة التطوير الكامل لكل نموذج ML باستخدام الكود الكامل ومصدر البيانات.
- إمكانية إعادة الإنتاج من خلال الحفاظ بأمانة على التكوين الأولي وبيانات الإدخال ورمز البرنامج للتجربة.
4. الشثني حيوان
Pachyderm هو برنامج للتحكم في الإصدار للتعلم الآلي وعلوم البيانات ، على غرار DVC.
بالإضافة إلى ذلك ، لأنه تم إنشاؤه باستخدام Docker و Kubernetes، يمكنه تنفيذ ونشر تطبيقات التعلم الآلي على أي منصة سحابية.
يضمن Pachyderm إمكانية تتبع كل جزء من البيانات التي يتم استهلاكها في نموذج التعلم الآلي وإصدار نسخ منه.
يتم استخدامه لإنشاء نماذج التعلم الآلي وتوزيعها وإدارتها ومراقبتها. يتم تضمين كل من سجل النموذج ونظام إدارة النموذج وصندوق أدوات CLI.
يمكن للمطورين أتمتة دورة حياة التعلم الآلي وتوسيعها باستخدام أساس بيانات Pachyderm ، والذي يضمن أيضًا إمكانية التكرار.
وهو يدعم معايير حوكمة البيانات الصارمة ، ويقلل من تكاليف معالجة البيانات وتخزينها ، ويساعد الشركات في جلب مبادرات علوم البيانات الخاصة بهم إلى السوق بسرعة أكبر.
5. بولي أكسون
باستخدام منصة Polyaxon ، يمكن تكرار مشروعات التعلم الآلي وتطبيقات التعلم العميق وإدارتها على مدار دورة حياتها بالكامل.
Polyaxon قادرة على استضافة الأداة وإدارتها ، ويمكن وضعها في أي مركز بيانات أو مزود خدمة سحابية. مثل Torch و Tensorflow و MXNet ، والتي تدعم جميع أطر التعلم العميق الأكثر شيوعًا.
عندما يتعلق الأمر بالتنسيق ، يمكّنك Polyaxon من تحقيق أقصى استفادة من مجموعتك عن طريق جدولة المهام والاختبارات عبر CLI أو لوحة القيادة أو SDK أو REST API.
فإنه يوفر:
- يمكنك استخدام الإصدار مفتوح المصدر الآن ، ولكنه يتضمن أيضًا اختيارات للشركة.
- على الرغم من أنه يغطي دورة الحياة الكاملة ، بما في ذلك تزامن التشغيل ، إلا أنه قادر على أكثر من ذلك بكثير.
- من خلال المستندات المرجعية الفنية ، وإرشادات البدء ، والمواد التعليمية ، والكتيبات ، والبرامج التعليمية ، وسجلات التغيير ، وغير ذلك ، تعتبر منصة جيدة التوثيق.
- باستخدام لوحة معلومات رؤى التجربة ، من الممكن مراقبة كل تجربة تحسين وتتبعها وتقييمها.
6. المذنب
Comet عبارة عن منصة للتعلم الآلي الفوقي الذي يتتبع التجارب والنماذج ويقارنها ويشرحها ويحسنها.
يمكن رؤية جميع تجاربك ومقارنتها في مكان واحد.
إنه يعمل مع أي مهمة تعلم آلي ، في أي مكان يتم فيه تنفيذ التعليمات البرمجية الخاصة بك ، ومع أي مكتبة للتعلم الآلي.
يعد المذنب مناسبًا للمجموعات والأفراد والمؤسسات الأكاديمية والشركات وأي شخص آخر يرغب في تصور التجارب بسرعة وتبسيط العمل وإجراء التجارب.
يمكن لعلماء وفرق البيانات تتبع التجارب والنماذج وتوضيحها وتحسينها ومقارنتها باستخدام منصة التعلم الآلي الفوقية Comet المستضافة ذاتيًا والقائمة على السحابة.
فإنه يوفر:
- توجد العديد من القدرات لأعضاء الفريق لمشاركة المهام.
- يحتوي على العديد من عمليات التكامل التي تجعل من السهل ربطه بالتقنيات الأخرى
- يعمل بشكل جيد مع مكتبات ML الحالية
- يعتني بإدارة المستخدم
- تم تمكين مقارنة التجارب ، بما في ذلك مقارنة الكود والمعلمات الفائقة والمقاييس والتنبؤات والتبعيات ومقاييس النظام.
- يوفر وحدات مميزة للرؤية والصوت والنص والبيانات الجدولية التي تتيح لك تصور العينات.
7. أوبتونا
Optuna هو نظام لتحسين المعلمات الفائقة المستقلة والذي يمكن تطبيقه على كل من التعلم الآلي والتعلم العميق بالإضافة إلى المجالات الأخرى.
يحتوي على مجموعة متنوعة من الخوارزميات المتطورة التي يمكنك من خلالها التحديد (أو الارتباط) ، مما يجعل توزيع التدريب على العديد من أجهزة الكمبيوتر أمرًا سهلاً للغاية ، ويوفر تصورًا رائعًا للنتائج.
تم دمج مكتبات التعلم الآلي الشهيرة مثل PyTorch و TensorFlow و Keras و FastAI و sci-kit-Learn و LightGBM و XGBoost معها.
إنه يوفر خوارزميات متطورة تمكن العملاء من الحصول على نتائج بسرعة أكبر عن طريق التقليل السريع للعينات التي لا تبدو واعدة.
باستخدام الخوارزميات المستندة إلى Python ، يبحث تلقائيًا عن المعلمات التشعبية المثالية. تشجع Optuna عمليات البحث عن المعلمات الفائقة المتوازية عبر العديد من سلاسل الرسائل دون تغيير الكود الأصلي.
فإنه يوفر:
- يدعم التدريب الموزع على الكتلة وكذلك جهاز كمبيوتر واحد (متعدد العمليات) (متعدد العقد)
- يدعم العديد من تقنيات القطع لتسريع التقارب (واستخدام قدر أقل من الحوسبة)
- يحتوي على مجموعة متنوعة من التصورات القوية ، مثل مخطط الشرائح ، والمؤامرة الكنتورية ، والإحداثيات المتوازية.
8. كيدرو
Kedro هو إطار عمل Python مجاني لكتابة التعليمات البرمجية التي يمكن تحديثها وصيانتها لمشاريع علوم البيانات.
إنه يجلب الأفكار من أفضل الممارسات في هندسة البرمجيات إلى كود التعلم الآلي. Python هي أساس أداة تنسيق سير العمل هذه.
لجعل عمليات تعلّم الآلة أبسط وأكثر دقة ، يمكنك تطوير تدفقات عمل معيارية وقابلة للتكرار وقابلة للصيانة.
يدمج Kedro مبادئ هندسة البرمجيات مثل النمطية ، وفصل المسؤوليات ، والإصدار في بيئة تعلم الآلة.
على أساس Cookiecutter Data Science ، فإنه يوفر إطار عمل مشتركًا وقابلًا للتكيف.
يتم إدارة عدد من موصلات البيانات البسيطة المستخدمة لتخزين البيانات وتحميلها عبر العديد من أنظمة الملفات وتنسيقات الملفات بواسطة كتالوج البيانات. فهو يجعل مشاريع التعلم الآلي أكثر فعالية ويجعل من الأسهل إنشاء خط أنابيب للبيانات.
فإنه يوفر:
- يسمح Kedro بنشر الماكينة المشتتة أو المنفردة.
- يمكنك أتمتة التبعيات بين كود Python وتصور سير العمل باستخدام تجريد خطوط الأنابيب.
- من خلال استخدام كود معياري وقابل لإعادة الاستخدام ، تسهل هذه التقنية تعاون الفريق على مجموعة متنوعة من المستويات وتحسن الإنتاجية في بيئة الترميز.
- الهدف الأساسي هو التغلب على عيوب دفاتر Jupyter ، والنصوص البرمجية لمرة واحدة ، والرمز اللاصق عن طريق كتابة برمجة علمية للبيانات قابلة للصيانة.
9. بنتوم
أصبح بناء نقاط نهاية API للتعلم الآلي أسهل مع BentoML.
يوفر بنية تحتية نموذجية ومكثفة لنقل نماذج التعلم الآلي إلى الإنتاج.
يمكّنك من تجميع النماذج التي تم تعلمها لاستخدامها في إعداد الإنتاج ، وتفسيرها باستخدام أي إطار عمل للتعلم الآلي. يتم دعم كل من خدمة الدُفعات في وضع عدم الاتصال وخدمة واجهة برمجة التطبيقات عبر الإنترنت.
يعد الخادم النموذجي عالي الأداء وسير العمل المرن من ميزات BentoML.
بالإضافة إلى ذلك ، يوفر الخادم ميزة التجميع الجزئي التكيفية. يتم توفير نهج موحد لتنظيم النماذج وتتبع إجراءات النشر بواسطة لوحة معلومات واجهة المستخدم.
لن يكون هناك توقف للخادم لأن آلية التشغيل معيارية والتهيئة قابلة لإعادة الاستخدام. إنها منصة مرنة لتوفير وتنظيم ونشر نماذج ML.
فإنه يوفر:
- لها تصميم معياري قابل للتكيف.
- يتيح النشر عبر العديد من الأنظمة الأساسية.
- لا يمكنه التعامل مع القياس الأفقي تلقائيًا.
- إنه يتيح تنسيق نموذج واحد وإدارة نموذج وتعبئة نموذج وخدمة نموذج عالية الأداء.
10 سيلدون
يمكن لعلماء البيانات إنشاء نماذج وتجارب التعلم الآلي ونشرها وإدارتها على نطاق واسع على Kubernetes باستخدام إطار عمل Seldon Core مفتوح المصدر.
تعد TensorFlow و sci-kit-Learn و Spark و R و Java و H2O مجرد عدد قليل من مجموعات الأدوات التي تدعمها.
كما أنه يتفاعل مع Kubeflow و RedHat's OpenShift. يحول Seldon core نماذج التعلم الآلي (نماذج ML) أو أغلفة اللغة (لغات مثل Python و Java وغيرها) إلى خدمات REST / GRPC الصغيرة للإنتاج.
يعد هذا أحد أفضل أدوات MLOps لتحسين عمليات التعلم الآلي.
من السهل وضع نماذج ML في حاويات واختبار قابلية الاستخدام والأمان باستخدام Seldon Core.
فإنه يوفر:
- يمكن جعل نشر النموذج أكثر بساطة مع العديد من البدائل ، مثل نشر الكناري.
- لفهم سبب إجراء تنبؤات محددة ، استخدم نماذج الشرح.
- عند ظهور مشكلات ، راقب نماذج الإنتاج باستخدام نظام التنبيه.
وفي الختام
يمكن أن تساعد MLOps في تحسين عمليات التعلم الآلي. يمكن لـ MLOps تسريع النشر ، وجعل جمع البيانات وتصحيح الأخطاء أسهل ، وتحسين التعاون بين المهندسين وعلماء البيانات.
لكي تختار أداة MLOps التي تناسب احتياجاتك على أفضل وجه ، فحص هذا المنشور 10 حلول MLOps الشائعة ، معظمها مفتوحة المصدر.
اترك تعليق