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

بعض تطبيقات computer vision، مثل الفحص التلقائي للجودة، أو الطائرات بدون طيار الذكية، أو أنظمة الأمان الذكية، تؤدي أفضل أداء عندما تعمل نماذج Ultralytics YOLO، مثل Ultralytics YOLO11، بالقرب من المستشعر الذي يلتقط الصور. وبععبارة أخرى، تحتاج هذه النماذج إلى معالجة البيانات مباشرة حيث يتم توليدها، على الكاميرات، أو الطائرات بدون طيار، أو الأنظمة المضمنة، بدلاً من إرسالها إلى السحابة.
هذا النهج، المعروف باسم edge AI، يمكن النماذج من إجراء الاستدلال مباشرة على الجهاز الذي تُلتقط فيه البيانات. من خلال معالجة المعلومات محلياً بدلاً من الاعتماد على الخوادم البعيدة، يمكن للأنظمة تحقيق زمن الانتقال أقل، وخصوصية بيانات محسنة، وموثوقية أكبر، حتى في البيئات ذات الاتصال المحدود بالإنترنت أو المعدوم.
على سبيل المثال، لا تستطيع كاميرا تصنيع تفحص آلاف المنتجات كل دقيقة، أو طائرة بدون طيار تتنقل في بيئات معقدة، تحمل التأخيرات المرتبطة بالمعالجة السحابية. يتيح تشغيل نماذج Ultralytics YOLO11 مباشرة على الجهاز إجراء استدلال فوري على الجهاز.
لجعل تشغيل نماذج Ultralytics YOLO على الحافة أسهل وأكثر كفاءة، يوفر ExecuTorch integration الجديد المدعوم من Ultralytics طريقة مبسطة لتصدير النماذج ونشرها مباشرة على الأجهزة المحمولة والمضمنة. تعتبر ExecuTorch جزءاً من نظام PyTorch Edge البيئي وتوفر حلاً متكاملاً لتشغيل نماذج الذكاء الاصطناعي مباشرة على أجهزة الجوال والحافة، بما في ذلك الهواتف، والأجهزة القابلة للارتداء، واللوحات المضمنة، وحدات التحكم الدقيقة.
يجعل هذا التكامل من السهل نقل نموذج Ultralytics YOLO، مثل YOLO11، من التدريب إلى النشر على أجهزة الحافة. من خلال الجمع بين قدرات الرؤية في YOLO11 ووقت التشغيل خفيف الوزن الخاص بـ ExecuTorch وخط تصدير PyTorch، يمكن للمستخدمين نشر نماذج تعمل بكفاءة على أجهزة الحافة مع الحفاظ على دقة وأداء الاستنتاج القائم على PyTorch.
في هذه المقالة، سنلقي نظرة فاحصة على كيفية عمل تكامل ExecuTorch، ولماذا يُعد خيارًا ممتازًا لتطبيقات الذكاء الاصطناعي على الحافة، وكيف يمكنك البدء في نشر نماذج Ultralytics YOLO باستخدام ExecuTorch. لنبدأ!
ما هو ExecuTorch؟#
عادةً، عند تدريب نموذج في PyTorch، فإنه يعمل على خوادم قوية أو وحدات معالجة الرسومات (GPUs) في السحابة. ومع ذلك، فإن نشر النموذج نفسه على جهاز محمول أو مدمج، مثل الهاتف الذكي أو الطائرة بدون طيار أو المتحكم الدقيق، يتطلب حلاً متخصصًا يمكنه التعامل مع محدودية قوة الحوسبة والذاكرة والاتصال.
هذا بالضبط ما يجلبه ExecuTorch. ExecuTorch هو حل شامل تم تطويره كجزء من نظام PyTorch Edge الذي يتيح استنتاجًا فعالاً على الجهاز عبر منصات المحمول والمدمجة والحافة. إنه يوسع قدرات PyTorch إلى ما بعد السحابة، مما يسمح لنماذج الذكاء الاصطناعي بالعمل مباشرة على الأجهزة المحلية.
جلب استنتاج PyTorch إلى الحافة#
في جوهره، يوفر ExecuTorch وقت تشغيل خفيف الوزن بلغة C++ يسمح لنماذج PyTorch بالتنفيذ مباشرة على الجهاز. يستخدم ExecuTorch تنسيق النموذج PyTorch ExecuTorch (.pte)، وهو تصدير محسن مصمم لتحميل أسرع، وبصمة ذاكرة أصغر، وقابلية نقل محسنة.
يدعم XNNPACK كخلفية افتراضية لاستنتاج فعال لوحدة المعالجة المركزية (CPU) ويوسع التوافق عبر مجموعة واسعة من خلفيات الأجهزة، بما في ذلك CoreML وMetal وVulkan وQualcomm وMediaTek وArm EthosU وOpenVINO وغيرها.
تمكن هذه الواجهات الخلفية من التسارع المحسن على الأجهزة المحمولة والمضمنة وأجهزة الحافة المتخصصة. تتكامل ExecuTorch أيضاً مع خط أنابيب التصدير في PyTorch، مما يوفر دعماً للميزات المتقدمة مثل quantization ومعالجة الأشكال الديناميكية لتحسين الأداء والمرونة عبر بيئات النشر المختلفة.
يقلل التكميم من حجم النموذج ويعزز سرعة الاستنتاج عن طريق تحويل القيم عالية الدقة (مثل القيم العائمة 32-بت) إلى قيم أقل دقة، بينما تُستخدم معالجة الشكل الديناميكي لتمكين النماذج من معالجة أحجام المدخلات المتغيرة بكفاءة. كلاهما ميزتان ضروريتان لتشغيل نماذج الذكاء الاصطناعي على أجهزة الحافة ذات الموارد المحدودة.

الشكل 1. نظرة على كيفية عمل ExecuTorch (Source)
طبقة موحدة لأجهزة الحافة#
بصرف النظر عن وقت التشغيل، يعمل ExecuTorch أيضًا كطبقة تجريد موحدة لخلفيات أجهزة متعددة. ببساطة، إنه يجرد تفاصيل الأجهزة المحددة ويدير كيفية تفاعل النماذج مع وحدات المعالجة المختلفة، بما في ذلك وحدات المعالجة المركزية (CPUs) ووحدات معالجة الرسومات (GPUs) ووحدات المعالجة العصبية (NPUs).
بمجرد تصدير النموذج، يمكن تكوين ExecuTorch لاستهداف الخلفية الأكثر ملاءمة لجهاز معين. يمكن للمطورين نشر النماذج بكفاءة عبر أجهزة متنوعة دون كتابة كود مخصص خاص بالجهاز أو الحفاظ على سير عمل تحويل منفصل.
بفضل تصميمه المعياري والقابل للنقل وتكامله السلس مع PyTorch، يُعد ExecuTorch خيارًا رائعًا لنشر نماذج رؤية الحاسوب مثل Ultralytics YOLO11 على أنظمة المحمول والأنظمة المدمجة. إنه يسد الفجوة بين تدريب النماذج والنشر في العالم الحقيقي، مما يجعل الذكاء الاصطناعي على الحافة أسرع وأكثر كفاءة وأسهل في التنفيذ.
الميزات الرئيسية لـ ExecuTorch#
قبل أن ننظر في كيفية تصدير نماذج Ultralytics YOLO إلى تنسيق ExecuTorch، دعنا نستكشف ما يجعل ExecuTorch خيارًا موثوقًا لنشر الذكاء الاصطناعي على الحافة.
إليك لمحة عن بعض ميزاته الرئيسية:
- دعم التكميم (Quantization support): يدعم ExecuTorch تكميم النموذج، وهي تقنية تحول القيم عالية الدقة إلى قيم أقل دقة لتقليل حجم النموذج وتسريع الاستنتاج. يساعد هذا النماذج على العمل بشكل أسرع واستخدام ذاكرة أقل على أجهزة الحافة مع الحفاظ على نفس مستوى الدقة تقريبًا.
- الاستخدام الفعال للذاكرة: إحدى أكبر مزايا ExecuTorch هي كيفية تعامله مع الذاكرة. بدلاً من الاعتماد على تخصيص الذاكرة الديناميكي، الذي يمكن أن يؤدي إلى زمن انتقال واستهلاك إضافي للطاقة، يستخدم ExecuTorch تخطيط الذاكرة المسبق (AOT). أثناء التصدير، يقوم بتحليل رسم النموذج مسبقًا ويحسب مقدار الذاكرة المطلوبة لكل عملية. يسمح هذا لوقت التشغيل بتنفيذ النماذج باستخدام خطة ذاكرة ثابتة، مما يضمن أداءً يمكن التنبؤ به ويمنع التباطؤ أو الانهيارات على الأجهزة ذات ذاكرة الوصول العشوائي (RAM) أو سعة المعالجة المحدودة.
- بيانات وصفية مدمجة للنموذج: عند التصدير باستخدام التكامل المدعوم من Ultralytics، يتضمن كل نموذج ملف YAML يحتوي على بيانات وصفية مهمة مثل حجم صورة الإدخال، وأسماء الفئات، ومعلمات التكوين. يبسط هذا الملف الإضافي تكامل النموذج في تطبيقات مختلفة ويضمن سلوكًا متسقًا عبر منصات الحافة المختلفة.
كيفية تصدير نماذج Ultralytics YOLO إلى تنسيق ExecuTorch#
الآن وبعد أن أصبح لدينا فهم أفضل لما يقدمه ExecuTorch، دعنا نتناول كيفية تصدير نماذج Ultralytics YOLO إلى تنسيق ExecuTorch.
الخطوة 1: تثبيت حزمة Ultralytics Python#
للبدء، ستحتاج إلى تثبيت Ultralytics Python package باستخدام pip، وهو مثبت حزم. يمكنك القيام بذلك عن طريق تشغيل “pip install ultralytics” في جهازك الطرفي أو موجه الأوامر.
إذا كنت تعمل في بيئة Jupyter Notebook أو Google Colab، فما عليك سوى إضافة علامة تعجب قبل الأمر، مثل "!pip install ultralytics". بمجرد التثبيت، توفر حزمة Ultralytics جميع الأدوات التي تحتاجها لتدريب واختبار وتصدير نماذج رؤية الحاسوب، بما في ذلك Ultralytics YOLO11.
إذا واجهت أي مشاكل أثناء التثبيت أو أثناء تصدير نموذجك، فإن توثيق Ultralytics الرسمي وCommon Issues guide يحتويان على خطوات تفصيلية لاستكشاف الأخطاء وإصلاحها وأفضل الممارسات لمساعدتك على البدء والعمل بسلاسة.
الخطوة 2: تصدير Ultralytics YOLO11#
بعد تثبيت حزمة Ultralytics، يمكنك تحميل متغير من نموذج YOLO11 وexport إلى تنسيق ExecuTorch. على سبيل المثال، يمكنك استخدام نموذج مدرب مسبقاً مثل “yolo11n.pt” وتصديره عن طريق استدعاء دالة التصدير مع تعيين التنسيق على “executorch”.
يؤدي هذا إلى إنشاء دليل يسمى "yolo11n_executorch_model"، والذي يتضمن ملف النموذج المحسن (.pte) وملف YAML بيانات وصفية منفصل يحتوي على تفاصيل مهمة مثل حجم الصورة وأسماء الفئات.
إليك الكود لتصدير نموذجك:
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="executorch")الخطوة 3: إجراء الاستنتاجات بعد تصدير النموذج#
بمجرد التصدير، يصبح النموذج جاهزًا للنشر على أجهزة الحافة والمحمولة باستخدام وقت تشغيل ExecuTorch. يمكن تحميل ملف النموذج المصدّر .pte في تطبيقك لتشغيل استنتاج فوري على الجهاز دون الحاجة إلى اتصال بالسحابة.
على سبيل المثال، يوضح مقتطف الكود أدناه كيفية تحميل النموذج المصدّر وتشغيل الاستنتاج. يعني الاستنتاج ببساطة استخدام نموذج مدرب لعمل تنبؤات على بيانات جديدة. هنا، يتم اختبار النموذج على صورة حافلة مأخوذة من رابط عام.
executorch_model = YOLO("yolo11n_executorch_model")
results = executorch_model.predict("https://ultralytics.com/images/bus.jpg", save=True)بعد تشغيل الكود، ستجد صورة المخرجات مع الكائنات المكتشفة محفوظة في المجلد "runs/detect/predict".

الشكل 2. اكتشاف الكائنات باستخدام نموذج Ultralytics YOLO11 مُصدر بتنسيق ExecuTorch.
فوائد استخدام تكامل ExecuTorch#
أثناء استكشاف خيارات التصدير المختلفة المدعومة من Ultralytics، قد تتساءل عما يجعل تكامل ExecuTorch فريدًا. الاختلاف الرئيسي هو مدى جمعه الجيد بين الأداء والبساطة والمرونة، مما يجعل من السهل نشر نماذج ذكاء اصطناعي قوية مباشرة على الأجهزة المحمولة وأجهزة الحافة.
إليك نظرة على بعض المزايا الرئيسية لاستخدام تكامل ExecuTorch:
- خيارات نشر مرنة: يمكن نشر نماذج ExecuTorch عبر تطبيقات الهاتف المحمول، والأنظمة المدمجة، وأجهزة إنترنت الأشياء (IoT)، وأجهزة الذكاء الاصطناعي المتخصصة على الحافة. تمكّن هذه المرونة المطورين من بناء حلول ذكاء اصطناعي قابلة للتوسع تعمل بشكل متسق عبر منصات وبيئات متنوعة.
- أداء مثبت بالمعايير: تُظهر الاختبارات على أجهزة مثل Raspberry Pi 5 أن نماذج Ultralytics YOLO11 المُصدرة إلى صيغة ExecuTorch تعمل بسرعة أكبر بنحو مرتين مقارنة بنظيراتها في PyTorch، مع دقة متطابقة تقريباً.
- واجهات برمجة تطبيقات (API) تكامل مرنة: يوفر ExecuTorch واجهات برمجة تطبيقات C++ وKotlin وObjective-C لنظامي iOS وAndroid وأنظمة Linux المدمجة، مما يسمح للمطورين بدمج نماذج YOLO مباشرة في التطبيقات الأصلية.
- دعم تسريع الأجهزة: يدعم ExecuTorch خلفيات متعددة لتسريع الأجهزة، بما في ذلك Vulkan وMetal لوحدات معالجة الرسومات للهواتف المحمولة، مع تكامل اختياري لـ OpenCL وواجهات برمجة تطبيقات أخرى خاصة بالبائعين. يمكنه أيضًا الاستفادة من المسرعات المخصصة مثل وحدات المعالجة العصبية (NPUs) ومعالجات الإشارات الرقمية (DSPs) لتحقيق تسريعات كبيرة مقارنة بالاستنتاج المعتمد على وحدة المعالجة المركزية (CPU) فقط.
التطبيقات الواقعية لـ Ultralytics YOLO11 وتصدير ExecuTorch#
في الآونة الأخيرة، تم الاعتراف بـ Ultralytics باعتبارها PyTorch ExecuTorch success story، مما سلط الضوء على دعمنا المبكر للاستدلال على الجهاز ومساهماتنا المستمرة في نظام PyTorch البيئي. يعكس هذا الاعتراف هدفاً مشتملاً يتمثل في جعل الذكاء الاصطناعي عالي الأداء أكثر سهولة في الوصول إليه على منصات الجوال والحافة.
من السحابة إلى الطرفية: كيف تجلب ExecuTorch و Ultralytics YOLO11 الذكاء الاصطناعي للرؤية إلى الحياة#
في الواقع، يبدو هذا كحلول ذكاء اصطناعي للرؤية في العالم الحقيقي تعمل بكفاءة على كل شيء من الهواتف الذكية إلى الأنظمة المدمجة. على سبيل المثال، في التصنيع، تلعب أجهزة الحافة دورًا حاسمًا في مراقبة خطوط الإنتاج واكتشاف العيوب في الوقت الفعلي.

الشكل 3. مثال على استخدام Ultralytics YOLO11 لتحليل خط تجميع تصنيعي. (المصدر)
بدلاً من إرسال الصور أو بيانات المستشعرات إلى السحابة للمعالجة، مما قد يسبب تأخيرات ويعتمد على الاتصال بالإنترنت، يتيح تكامل ExecuTorch تشغيل نماذج Ultralytics YOLO11 مباشرة على العتاد المحلي. وهذا يعني أن المصانع يمكنها اكتشاف مشكلات الجودة فوراً، وتقليل وقت التعطل، والحفاظ على خصوصية البيانات، وكل ذلك أثناء العمل بموارد حوسبة محدودة.
إليك بعض الأمثلة الأخرى على كيفية تطبيق تكامل ExecuTorch ونماذج Ultralytics YOLO:
- المدن الذكية: من خلال تشغيل نماذج Ultralytics YOLO11 محلياً باستخدام ExecuTorch، يمكن للمدن اتخاذ قرارات أسرع قائمة على البيانات، بدءاً من اكتشاف الاختناقات المرورية وصولاً إلى تحديد المخاطر، مما يحسن التنقل والسلامة بشكل عام.
- البيع بالتجزئة والتخزين: من خلال الاستنتاج على الجهاز، يمكن لتجار التجزئة أتمتة مراقبة الأرفف، وتتبع المخزون، وفحص الطرود بسرعة وأمان دون الاعتماد على اتصالات سحابية.
- الروبوتات والطائرات بدون طيار: تتيح نماذج Ultralytics YOLO11 المُحسّنة للحافة للروبوتات والطائرات بدون طيار التعرف على الكائنات، والتنقل في البيئات، واتخاذ قرارات في الوقت الفعلي حتى بدون اتصال بالإنترنت.

الشكل 4. الكشف عن السيارات وعدها في حركة المرور باستخدام YOLO11 (Source)
أبرز النقاط#
تسهّل عملية تصدير نماذج Ultralytics YOLO إلى تنسيق ExecuTorch نشر نماذج رؤية الحاسوب عبر العديد من الأجهزة، بما في ذلك الهواتف الذكية والأجهزة اللوحية والأنظمة المدمجة مثل Raspberry Pi. هذا يعني أنه من الممكن تشغيل استنتاج محسن على الجهاز دون الاعتماد على الاتصال بالسحابة، مما يحسن السرعة والخصوصية والموثوقية.
إلى جانب ExecuTorch، تدعم Ultralytics مجموعة واسعة من التكاملات، بما في ذلك TensorRT وOpenVINO وCoreML والمزيد، مما يمنح المطورين المرونة لتشغيل نماذجهم عبر المنصات. مع نمو اعتماد الذكاء الاصطناعي في الرؤية، تبسط هذه التكاملات نشر الأنظمة الذكية المصممة للعمل بكفاءة في ظروف العالم الحقيقي.
هل لديك فضول بشأن الذكاء الاصطناعي؟ راجع GitHub repository الخاص بنا، وانضم إلى our community، واستكشف licensing options الخاصة بنا لبدء مشروع الرؤية بالذكاء الاصطناعي الخاص بك. تعرف على المزيد حول الابتكارات مثل AI in retail وcomputer vision in logistics من خلال زيارة صفحات الحلول الخاصة بنا.






