Yolo فيجن شنتشن
شنتشن
انضم الآن

تسجيل تجارب Ultralytics YOLO باستخدام تكامل MLflow

أبيرامي فينا

4 دقائق قراءة

30 ديسمبر، 2024

استكشف كيف يمكن لتكامل MLflow والتسجيل أن يرتقي بتجارب Ultralytics YOLO الخاصة بك، مما يتيح تتبعًا فائقًا لتطبيقات الرؤية الحاسوبية.

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

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

وهنا يأتي دور نماذج Ultralytics YOLO وتكاملها مع MLflow. نماذج مثل Ultralytics YOLO11 تدعم مجموعة واسعة من مهام الرؤية الحاسوبية، بما في ذلك اكتشاف الأجسام، وتجزئة النماذج، وتصنيف الصور. تتيح هذه القدرات إنشاء تطبيقات رؤية حاسوبية مثيرة للاهتمام. يسمح وجود خيار الاعتماد على عمليات التكامل مثل تكامل MLflow لمهندسي الرؤية بالتركيز على النموذج نفسه، بدلاً من الانشغال بالتفاصيل. 

على وجه الخصوص، يعمل تكامل MLflow على تبسيط العملية من خلال تسجيل المقاييس والمعلمات والقطع الأثرية المختلفة طوال عملية التدريب. في هذه المقالة، سنستكشف كيفية عمل تكامل MLflow، وفوائده، وكيف يمكنك استخدامه لتبسيط سير عمل Ultralytics YOLO الخاص بك.

ما هو MLflow؟

MLflow عبارة عن منصة مفتوحة المصدر (تم تطويرها بواسطة Databricks) مصممة لتبسيط وإدارة دورة حياة تعلم الآلة بأكملها. وهي تشمل عملية تطوير ونشر وصيانة نماذج تعلم الآلة. 

يتضمن MLflow المكونات الرئيسية التالية:

  • تتبع التجارب: يركز هذا المكون على تسجيل التفاصيل المهمة مثل إعدادات النموذج والنتائج والملفات لكل عملية تشغيل لتدريب النموذج. فهو يساعدك على مقارنة النماذج ومعرفة كيف تؤثر التغييرات على الأداء والعثور على أفضل نموذج.
  • سجل النماذج: إنه بمثابة نظام تخزين لنماذجك، حيث يمكنك track الإصدارات المختلفة وتنظيمها حسب المراحل مثل الاختبار والتدريج والإنتاج.
  • تغليف المشروع: يسهل MLflow تجميع مشاريع تعلم الآلة الخاصة بك، بما في ذلك التعليمات البرمجية والإعدادات والأدوات المطلوبة، بحيث يمكن مشاركتها واستخدامها باستمرار عبر الفرق والبيئات.
  • نشر النموذج: توفر MLflow أدوات لنشر النماذج المدربة بسرعة في أماكن مثل محطات العمل أو الأنظمة الأساسية السحابية مثل AWS و Azure، مما يجعلها جاهزة للاستخدام في العالم الحقيقي.
__wf_reserved_inherit
الشكل 1. مكونات MLflow.

تجعل مكونات MLflow عملية التعلم الآلي أسهل وأكثر كفاءة في الإدارة. من خلال هذا التكامل، يتيح Ultralytics إمكانية استخدام ميزة تتبع التجربة في MLflow لتسجيل المعلمات والمقاييس والقطع الأثرية أثناء تدريب نماذج YOLO . كما أنه يجعل من السهل track ومقارنة إصدارات نماذج YOLO المختلفة.

تكامل MLflow يبسّط التدريب

الآن بعد أن غطينا ماهية MLflow، دعنا نتعمق في تفاصيل تكامل MLflow والميزات التي يقدمها. 

تم تصميم تكامل MLflow لجعل عملية التدريب أكثر كفاءة وتنظيمًا من خلال التتبع والتسجيل التلقائيين للجوانب المهمة لتجارب الرؤية الحاسوبية الخاصة بك. فهو يسهل ثلاثة أنواع رئيسية من التسجيل: المقاييس والمعلمات والمخرجات.

إليك نظرة فاحصة على كل نوع من أنواع التسجيل:

  • تسجيل المقاييس: المقاييس هي قيم كمية تقيس أداء النموذج الخاص بك أثناء التدريب. على سبيل المثال، يتم تتبع مقاييس مثل الدقة أو الدقة أو الاسترجاع أو الخسارة في نهاية كل حقبة (مرور كامل عبر مجموعة البيانات الخاصة بك).
  • تسجيل المعلمات: المعلمات هي الإعدادات التي تحددها قبل بدء تدريب النموذج، مثل معدل التعلم وحجم الدفعة (عدد العينات التي تتم معالجتها في خطوة تدريب واحدة) وعدد الحقب. تؤثر هذه المعلمات بشكل كبير على سلوك النموذج وأدائه.
  • تسجيل المصنوعات (Artifacts logging): المصنوعات هي المخرجات أو الملفات التي يتم إنشاؤها أثناء التدريب. يتضمن ذلك الملفات الأساسية مثل أوزان النموذج (القيم العددية التي يتعلمها النموذج أثناء التدريب)، وملفات التكوين (التي تخزن إعدادات التدريب)، والبيانات الأخرى ذات الصلة.
__wf_reserved_inherit
الشكل 2. الميزات الرئيسية لتسجيل الدخول في تكامل MLflow. صورة من إعداد المؤلف.

كيف يعمل تكامل MLflow

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

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

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

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

__wf_reserved_inherit
الشكل 3. يمكنك عرض التجارب باستخدام تكامل MLflow.

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

اختيار تكامل MLflow: لماذا يبرز

أثناء تصفحك لوثائقUltralytics واستكشاف عمليات التكامل المتاحة، قد تجد نفسك تتساءل: ما الذي يميز تكامل MLflow، ولماذا يجب أن أختاره لسير عملي؟

مع عمليات التكامل مثل TensorBoard التي توفر أيضًا أدوات لتتبع المقاييس وتصور النتائج، من المهم فهم الصفات الفريدة التي تجعل تكامل MLflow متميزًا. 

إليك السبب في أن MLflow قد يكون الخيار المثالي لمشاريعكYOLO :

  • واجهة سهلة الاستخدام: تسهل لوحة معلومات MLflow عرض التجارب ومقارنة عمليات التشغيل وتحليل النتائج، مما يساعدك على تحديد التكوينات الأفضل أداءً بسرعة.
  • تسجيل المقاييس المخصصة: يمكن لمهندسي الرؤية تسجيل مقاييس مخصصة بالإضافة إلى المقاييس القياسية، مما يتيح إجراء تحليل أكثر تعمقًا خاصًا باحتياجات مشروعهم.
  • دعم سير العمل متعدد اللغات: يتوافق MLflow مع العديد من لغات البرمجة، بما في ذلك Python وR وJava، مما يسهل الاندماج في خطوط أنابيب التعلم الآلي المتنوعة.

التطبيقات العملية ل YOLO11 وتكامل MLflow

للحصول على فهم أكثر شمولاً للوقت الذي يمكنك فيه استخدام تكامل MLflow، دعنا نفكر في تطبيق ذكاء اصطناعي في مجال الرعاية الصحية حيث تحتاج إلى تدريب YOLO11 على detect الأورام في صور الأشعة السينية أو صور الأشعة المقطعية. 

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

__wf_reserved_inherit
الشكل 4. الكشف عن الأورام باستخدام Ultralytics YOLO11.

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

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

  • القيادة الذاتية: يمكن استخدام YOLO11 detect classify المشاة والمركبات وإشارات المرور في الوقت الفعلي لتحسين سلامة وكفاءة أنظمة القيادة الذاتية.
  • تحليلات البيع بالتجزئة: يمكن لنماذج اكتشاف الكائنات مراقبة سلوك العملاء، track مواضع المنتجات، وتحسين المخزون من خلال تحليل النشاط داخل المتجر من خلال موجزات الفيديو.
  • الأمن والمراقبة: يمكن تدريب النماذج على detect الحالات الشاذة أو مراقبة النشاط في الوقت الفعلي في المناطق الحساسة لتعزيز الأمن.

فوائد تكامل MLflow

يجعل تكامل MLflow مع نماذجYOLO إدارة تجارب التعلم الآلي أسهل وأكثر كفاءة. فمن خلال أتمتة المهام الرئيسية والحفاظ على تنظيم كل شيء، يتيح لك التركيز على بناء نماذجك وتحسينها. إليك نظرة على الفوائد الرئيسية:

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

النقاط الرئيسية

يجعل تكامل MLflow إدارة تجارب Ultralytics YOLO وتحسينها أسهل وأكثر كفاءة. من خلال تتبع التفاصيل الرئيسية تلقائيًا مثل المعلمات والمقاييس والقطع الأثرية، فإنه يبسط العملية ويزيل متاعب الإدارة اليدوية للتجارب. 

سواءً كنت تعمل على حلول الرعاية الصحية مثل الكشف عن الأورام، أو تحسين أنظمة القيادة الذاتية، أو تعزيز تحليلات البيع بالتجزئة، فإن هذا التكامل يساعد في الحفاظ على كل شيء منظمًا وقابلاً للتكرار. بفضل واجهته البديهية ومرونته، يسمح MLflow للمطورين بالتركيز على بناء نماذج أفضل ودفع الابتكار في تطبيقات الرؤية الحاسوبية المدعومة بالذكاء الاصطناعي.

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

لنبنِ مستقبل
الذكاء الاصطناعي معًا!

ابدأ رحلتك مع مستقبل تعلم الآلة

ابدأ مجانًا