التكامل المستمر (CI)
عزز سير عمل الذكاء الاصطناعي/التعلم الآلي باستخدام التكامل المستمر. تمتع بأتمتة الاختبار، وتحسين جودة التعليمات البرمجية، وتبسيط تطوير النماذج دون عناء.
التكامل المستمر (CI) هو ممارسة لتطوير البرمجيات حيث يقوم المطورون بدمج التغييرات البرمجية الخاصة بهم بشكل متكرر في مستودع مركزي، وبعد ذلك يتم تشغيل عمليات الإنشاء والاختبارات الآلية. الهدف الأساسي من التكامل المستمر هو اكتشاف مشكلات التكامل في وقت مبكر، وتحسين جودة التعليمات البرمجية، وتبسيط سير عمل التطوير. في سياق الذكاء الاصطناعي والتعلم الآلي (AI) والتعلم الآلي (ML)، يمتد نطاق عمليات التحقق من صحة البيانات والنماذج والأداء العام لخطوط الإنتاج، مما يشكل عنصرًا أساسيًا في عمليات التعلم الآلي (MLOps).
المبادئ الرئيسية للتكامل المستمر
عملية CI مبنية على أساس الأتمتة والتكرار المتكرر. يقوم المطورون بدفع تغييرات صغيرة ومتكررة إلى مستودع مشترك باستخدام نظام التحكم في الإصدار مثل Git. وتؤدي كل دفعة إلى تشغيل سير عمل آلي أو مسار عمل تلقائي ينفذ عدة خطوات رئيسية:
- البناء الآلي: يقوم النظام تلقائيًا بتجميع الكود تلقائيًا لضمان تكامله بشكل صحيح. بالنسبة لمشاريع تعلّم الآلة، قد يتضمن ذلك إعداد البيئة باستخدام أدوات التجميع في حاويات مثل Docker.
- الاختبار الآلي: يتم تشغيل مجموعة من الاختبارات للتحقق من صحة التغييرات الجديدة. ويشمل ذلك اختبارات الوحدة لمنطق التعليمات البرمجية، واختبارات التكامل لتفاعلات المكونات، والاختبارات المتخصصة لتعلم الآلة، مثل التحقق من صحة البيانات وتقييم النموذج.
- حلقة التغذية الراجعة السريعة: إذا فشلت أي خطوة في خط الأنابيب، يتم إخطار فريق التطوير على الفور. وهذا يسمح لهم بمعالجة المشكلات بسرعة قبل أن تصبح أكثر تعقيداً وتصبح مدمجة في قاعدة التعليمات البرمجية الرئيسية.
الذكاء الاصطناعي لتعلم الآلة (CI4ML)
تطبيق CI على مشاريع التعلم الآلي يطرح تحديات فريدة من نوعها. فبالإضافة إلى التعليمات البرمجية فقط، تتضمن أنظمة تعلّم الآلة بيانات ونماذج مدربة، والتي يجب أيضًا إصدارها والتحقق من صحتها. ويتضمن خط أنابيب فعّال للتحقق من صحة المعلومات لمشروع تعلّم الآلة، مثل نموذج Ultralytics YOLO، خطوات إضافية:
- التحقق من صحة البيانات: التحقق من صحة البيانات الجديدة تلقائيًا للتحقق من صحة البيانات الجديدة والالتزام بالمخطط والتحيز المحتمل لمجموعة البيانات. يمكن استخدام أدوات مثل Great Expectations لهذا الغرض.
- اختبار النموذج: إجراء اختبارات للتحقق من تدهور الأداء. ويتضمن ذلك مقارنة مقاييس أداء النموذج الجديد بنسخة أساسية على مجموعة بيانات تحقق موحدة.
- التحقق من صحة خط أنابيب التدريب: التأكد من أن عملية تدريب النماذج نفسها قابلة للتكرار وفعالة. يمكن إدارة ذلك باستخدام منصات مثل Ultralytics HUB، التي تعمل على تبسيط إدارة مجموعة البيانات وسير عمل التدريب.
التطبيقات الواقعية
- تطوير القيادة الذاتية: يستخدم فريق يعمل على نموذج لاكتشاف الأجسام للمركبات ذاتية القيادة خط أنابيب CI. عندما يرسل أحد المطورين كوداً لتحسين قدرة النموذج على اكتشاف المشاة ليلاً، يتم تشغيل خط الأنابيب تلقائياً. حيث يقوم بتشغيل اختبارات الوحدة، وإعادة تدريب نسخة خفيفة من نموذج YOLO11 على مجموعة بيانات اختبارية، وتقييم دقة MAP الخاصة به. إذا لم تنخفض الدقة واجتازت جميع الاختبارات، تتم الموافقة على التغيير للدمج. تُستخدم أدوات CI الشائعة مثل GitHub Actions أو Jenkins بشكل شائع لأتمتة عمليات سير العمل هذه.
- تحليل الصور الطبية: في نظام مصمم للكشف عن الأورام في الصور الطبية، قد يضيف عالم البيانات بيانات جديدة معززة لتحسين المتانة. يقوم خط أنابيب CI بالتحقق من صحة تنسيق البيانات الجديدة وتوزيعها. ثم يقوم بعد ذلك بتشغيل عملية تحقق من الصحة باستخدام نموذج مُدرَّب مسبقًا لضمان بقاء تنبؤات النموذج على "مجموعة بيانات ذهبية" متسقة، مما يمنع السلوك غير المتوقع في الإنتاج. تساعد هذه العملية في الحفاظ على معايير عالية من الموثوقية الضرورية للذكاء الاصطناعي في مجال الرعاية الصحية.
التكامل المستمر مقابل التسليم/النشر المستمر (CD)
على الرغم من ارتباطه الوثيق، إلا أن CI يختلف عن التسليم المستمر والنشر المستمر (CD).
- التكامل المستمر (CI): يركز على التكامل المتكرر والاختبار الآلي لتغييرات التعليمات البرمجية. والناتج هو بناء تم التحقق من صحته وجاهز للمرحلة التالية. يستخدم Ultralytics التكامل المستمر لاختبار جميع طلبات السحب قبل دمجها.
- التسليم المستمر (CD): يوسع نطاق التسليم المستمر من خلال إعداد كل تغيير تم التحقق من صحته تلقائيًا لإصداره في بيئة مرحلية أو بيئة إنتاج. ومع ذلك، يتطلب نشر النموذج النهائي للإنتاج موافقة يدوية. هذا النهج مفصل في أدلة من مصادر مثل Atlassian.
- النشر المستمر (CD): يتقدم خطوة إلى الأمام من خلال النشر التلقائي لكل تغيير تم التحقق من صحته مباشرةً إلى الإنتاج دون أي تدخل بشري. يمثل هذا أعلى مستوى من الأتمتة في دورة حياة إصدار البرامج.
تُعدّ ممارسات CI وCD معًا أساسًا لاستراتيجية قوية لعمليات التعلم الآلي المتعددة، والتي تهدف إلى توحيد تطوير وتشغيل أنظمة التعلم الآلي، بدءًا من التجارب الأولية وحتى النشر والمراقبة المستمرة للنماذج.